Slot math, as an API

Ship slot games without building the math engine. Send a config — get back provably fair multipliers in milliseconds.

Request
curl -X POST /api/v1/spin \
  -H "Authorization: Bearer cy_live_***" \
  -d '{
    "config": "my-config-id",
    "lines": 20
  }'
Response 200 OK
{
  "result": {
    "spins": [{
      "type": "base",
      "reel_positions": [
        ["A","wild","K"], ...
      ],
      "wins": [{
        "type": "payline",
        "win_symbol_id": "A",
        "matching_symbols": 3,
        "win_multiplier": 12.5,
        "has_wild": true
      }]
    }],
    "summary": {
      "total_multiplier": 12.5
    },
    // round_id + result_hash omitted for brevity
  },
  "provably_fair": {
    "server_seed_hash": "a3f1...",
    "client_seed": "b7c2...",
    "nonce": 42
  }
}

Everything you need to ship fair games

Stop reinventing slot math. Focus on the player experience while Cymba handles the engine.

Provably fair by default

Every spin uses HMAC-SHA256 seeding with server seed, client seed, and nonce — 52 bits of precision per outcome (full IEEE 754 mantissa). Players and regulators can independently verify every result. Trust is built into the protocol, not bolted on.

Paylines, ways, and clusters

Six evaluation modes built in — consecutive paylines, full-line, both, ways-to-win (243, 1024, up to 117,649 megaways-style), count-pay, and cluster pays with BFS adjacency. Switch modes in the config, not the code.

Every mechanic you need

Cascading reels with multiplier progression, free spins with retriggers, hold & respin, mystery symbols, expanding/sticky/stacked/walking/bomb wilds, split symbols, dynamic reels (megaways), symbol groups (mixed bars / fruit groups), random multipliers, linked reels, meters, gamble, and max win caps — all config-driven.

Theoretical and observed RTP

Exact combinatorial RTP or Monte Carlo simulation (200k samples). Volatility, scatter distribution, and free spin contribution breakdowns included. Track observed RTP via the API.

One JSON config defines the entire game

Reels, symbols, paylines, payout tables, scatter triggers, free spin rules, cascade settings, wild traits, mystery resolution — everything in a single JSON object. Store it on the dashboard or pass it inline.

One dashboard, full control

Manage API keys, game configs, and spin analytics from a single dashboard. Track total spins, multipliers, and top configs at a glance.

Independently auditable — without trusting us

Every config exports a self-contained PAR sheet your math consultant can verify offline: canonical config, theoretical RTP, the full math reference inline, and five deterministic replay fixtures. Every live spin is replayable from (server_seed, client_seed, nonce). Match GLI / BMM expectations without giving regulators access to our engine.

How verification works →

Three steps to your first spin

Go from zero to provably fair results in under five minutes.

1

Define your game

Describe your slot machine — reels, symbols, paylines, wilds, and bonus mechanics — as a single JSON config. Store it via the dashboard or pass it inline.

2

Grab your API key

Sign up, pick a plan, and generate a cy_live_ key from the dashboard.

3

POST /api/v1/spin

Send your config ID and number of lines. Get back reel positions, win multipliers, and provably fair seeds in one response.

Frequently asked questions

What is a slot math engine?

It resolves spins — given a game config and a bet, it determines the outcome (reel positions, wins, bonuses) using the defined math model. You build the visuals, Cymba does the math.

Is this a casino?

No. Cymba provides the math engine as an API. You build the front-end, manage your own platform, and handle your own licensing.

What game types are supported?

Payline games (consecutive, full-line, or both), ways-to-win (243, 1024, up to 117,649 including megaways-style dynamic reels), count-pay, and cluster pays. The engine also supports cascading reels, free spins with retriggers, hold & respin, mystery symbols, gamble, jackpots, linked reels, meters, and a full wild family (expanding, sticky, stacked, walking, bomb, multiplier, split).

How does provably fair work?

Each spin combines a server seed, client seed, and nonce via HMAC-SHA256 to generate deterministic outcomes. The server seed hash is committed before the spin — you or your players can verify the result was not tampered with.

Can I use my own game config?

Yes. Define your own reel strips, symbol frequencies, paylines, payout tables, and feature rules — all via a JSON config. Store it in the dashboard or pass it inline with each request.

How is RTP calculated?

The engine supports exact combinatorial analysis for standard payline and ways games, and Monte Carlo simulation (200k samples) for games with cascading, cluster, or hold & respin mechanics. Observed RTP is tracked per config via the /rtp endpoint.

Ready to ship your first game?

Get your API key in minutes. No credit card required.

Get Your Free API Key