Skip to content

Provider API

Sessions

Launch a player session and close it.

POST/provider/v1/sessions201
FieldTypeRequiredNotes
player_idstring, 1–128 printable ASCIIyes, unless demosent back on every money leg
operator_idstring, 1–128yes, unless demosent back on every money leg
currencyEUR or USDyes
wallet_sessionstring, up to 512noyour token, sent back as session on every money leg
languageen, en-GB…nothe game shows English for every value
countryISO 3166-1 alpha-2nostored with the session
platformmobile or desktopnolayout hint, default desktop
demobooleannoplay money: 1,000.00 in the currency, no money legs
bonus_buybooleannodefault true; false hides and refuses the MULTIBALL buy (100x)
Answer 201
{
  "session_id": "0b8e5d1c-6f0a-4f43-9d5e-0a4b6c2d9f10",
  "launch_url": "https://<game-host>/game/index.html?sessionID=<43-char token>&lang=en&device=mobile&currency=EUR&rgs_url=<game host>",
  "expires_at": "2026-10-21T08:00:00.000Z",
  "server_seed_hash": "<sha256 hex of the first server seed>",
  "demo": false
}

The launch URL is a credential

The sessionID in it is the player's bearer token. We store only its SHA-256, our logs redact it, and the page is served with Referrer-Policy: no-referrer and Cache-Control: no-store. It is valid for 12 hours or until the session is closed.

Measured locally against a mock wallet: launch median 4 ms (max 12), play median 19 ms (p95 28), end-round median 19 ms (p95 31). Your wallet's own time comes on top of play and end-round.

Close a session#

POST/provider/v1/sessions/{session_id}/close200

Body {}. Answer {"closed": true|false}. No new rounds after it; a round already paid for still settles.

Demo sessions#

demo: true at launch gives play money in the session (1,000.00), the same outcome tables and no money legs.