Beta testing Free API keys are open for testing. Paid tiers are waitlisted while we harden billing, legal, and audit workflows.

Instant Win Game API

Instant-win math, without building the engine

Cymba resolves instant-win rounds — scratch cards, wheels, dice, plinko, and pick games — from a JSON config. One call returns the drawn prize, the full card the player reveals, and provably fair verification material. You build the front-end; Cymba does the math.

Eight mechanics, one config model

Match-N, match-to-winner, reveal-value, and key-symbol scratch cards, wheel, beat-target dice, plinko, and pick-until-collect — all defined by the same prize pool + card schema.

Prize-first, presentation-checked

The engine draws the prize from the weighted pool first, then builds a card that displays exactly that prize. It refuses any card whose read-back doesn't match — every round is self-consistent by construction.

Provably fair like the slots API

The same HMAC-SHA256 commit-reveal protocol covers instant plays: one seed commitment serves every /play round, slots and instant alike, and every round can be replayed from its seeds.

API example

Resolve an instant play

Request
POST /api/v1/play
Authorization: Bearer cy_live_...

{
  "config": "my-dice-game",
  "client_seed": "player-chosen"
}
Response
{
  "result": {
    "round_id": "9f2c41...",
    "prize": { "prize_id": "m15", "multiplier": 15, "kind": "win" },
    "card": {
      "mechanic": "beat_target",
      "cells": ["5", "2"],
      "meta": { "your_value": 5, "target_value": 2 }
    },
    "result": { "total_multiplier": 15, "breakdown": { "base": 15 } }
  },
  "provably_fair": {
    "server_seed_hash": "3e1c7d...",
    "client_seed": "player-chosen",
    "nonce": 42
  }
}

What is an instant win game API?

An instant win game API resolves the outcome of a single-round game — a scratch card, a prize wheel, a dice duel, a plinko drop — the moment the player commits. There are no reels to evaluate and no paylines: the round has a prize table, the engine draws from it, and the player's reveal is presentation over a result that already exists.

Cymba exposes this as /api/v1/play — the same endpoint the slots engine uses; the config picks the engine. You define the game as a JSON config — a weighted prize pool plus a card section that names the mechanic — and each call returns the drawn prize, the exact card the player will reveal, the total multiplier, and provably fair verification material.

Prize-first resolution

Most homegrown instant games get this backwards: they randomize the presentation and then work out what it pays. Cymba's engine draws the prize first, from the weighted pool, using the same HMAC-SHA256 RNG as the slots engine. Only then does it build a card that displays exactly that prize — and it validates the card's read-back against the drawn prize before returning. A round that reads as a 15× win is a 15× win; the API refuses to construct anything else.

That ordering is what makes the math auditable: RTP is a property of the prize pool alone: the PAR-sheet export computes it directly from the config, and /api/v1/rtp/{config_id} reports the observed return over logged rounds converging on it.

One config model, eight mechanics

Every instant game shares the same skeleton:

  • prize_pool.entries — the outcome table: prize id, multiplier, weight.
  • card.mechanic — one of match_n, match_to_winner, reveal_value, key_symbol, wheel, beat_target, plinko, pick_until_collect.
  • card.mechanic_config — how that mechanic dresses the prize: symbols, board layout, margins, decoys.

Switching a game from a scratch card to a wheel is a config edit, not an engine change. The dashboard's Instant-Win Studio builds these configs visually, with live RTP as you edit.

What Cymba does not do

Cymba does not handle wallets, balances, player accounts, currency, licensing, or jurisdictional compliance. It returns multipliers; operators handle money.

Frequently Asked Questions

How is an instant game different from a slot in Cymba?

A slot resolves a spin across reels and evaluates wins from the grid. An instant game draws a prize from a weighted pool first, then builds the reveal (scratch card, wheel, dice, plinko board) that displays that prize. Both return multipliers and provably fair material in the same response shape.

Which mechanics are supported?

Eight: match-N, match-to-winner, reveal-value, and key-symbol scratch cards, wheel, beat-target dice, plinko, and pick-until-collect. The mechanic is one field in the config — the prize pool stays the same.

Does Cymba handle stakes and payouts?

No. Cymba returns multipliers, not money. The optional stake field only scales displayed values and is never stored. Wallets, balances, and currency stay in your platform.

Can I run finite-pack (pull-tab style) games?

The engine supports both pool models: infinite (weighted draw per play) and finite packs with depletion tracking. The hosted API currently resolves each play against the configured pool independently — finite-pack state threading through the API is on the roadmap.

Ready to test Cymba?

Start with a free API key, clone a template, and run your first provably fair spin.