Getting started
New here? Read Introduction & concepts first for the architecture this page assumes. This page is the concrete 5-minute path from "I have credentials" to "my game runs a round."
Prerequisites
- A provider tenant ID and HMAC secret, issued by the platform's admin team. Keep the secret server-side only — it signs every wallet call and must never reach the browser.
- Your game running inside an iframe on an operator's page (the "shell"). You don't control when or how the operator embeds you — you only control what happens inside your iframe.
The end-to-end flow
- A session token arrives on your launch URL. By the time your game's page loads, the platform has already appended a
?session=<token>query parameter to your registered launch URL. See Getting the session token for how your browser client reads it and hands it to your backend. - Your backend verifies the session. When your game starts, call
ProviderClient#verifySessionwith the token. This validates it and returns the player reference, game and operator IDs, currency, and the resolved Central Config (RTP label + bet limits) for this game/operator pair — see Server-side integration. - Your game runs the round. Player places a bet → your server submits a
BETtransaction (and aWINtransaction if it pays out) viaProviderClient#submitTransaction. Amounts are always minor units (cents), never floats. - Your browser client reports lifecycle events. Inside the iframe, use
GameBridgeto tell the operator's shell when the game loaded, when a bet starts/ends, and when the player exits — and to receive balance pushes back down from the shell.
Continue to Server-side integration.