On your server
Create player sessions with your API key (Player sessions) and serve the four wallet endpoints (Wallet API).
Bookmaker is a multi-tenant B2B sportsbook. You run your site, your player accounts and your cashier; we run the sportsbook (odds, markets, bet acceptance, settlement) and show it inside your pages in an iframe. Money never leaves your wallet: for every bet and every settlement our servers call yours.
| Iframe + seamless wallet (this guide) | Full white label | |
|---|---|---|
| Players, login, KYC | Yours. You tell us who the player is, server to server. | Ours: registration, KYC, login with a second factor. |
| Balance and cashier | Your wallet. We call debit, credit and rollback on it. |
Our ledger and PIX cashier. |
| Where the sportsbook lives | An iframe in your pages (embed SDK). | Its own domain with your brand. |
| What you build | One session call, the iframe, four wallet endpoints. | Nothing: configure domain and theme. |
This guide covers the iframe model. For a full white label, talk to your account manager: it is configured, not integrated.
POST /api/v1/integration/sessions with your API key and gets back a
launch token: single use, valid for 120 seconds.Referer headers.POST {your walletUrl}/debit,
signed with HMAC-SHA256. You answer with the new balance, or
insufficient_funds.credit: the payout
for a winning bet, the stake for a void bet, and a zero-amount credit for
a lost bet, so every bet is closed in your books.postMessage:
balance_changed, bet_placed, bet_settled, login_required,
deposit_requested and more, so your header and cashier stay in sync.On your server
Create player sessions with your API key (Player sessions) and serve the four wallet endpoints (Wallet API).
In your page
Mount the sportsbook with the embed SDK and react to its events (Embedding, postMessage reference).
In the back office
Before go-live
Run the sandbox test cases and the go-live checklist.
/), the API (/api/v1), the embed SDK
(/embed/v1.js) and these docs (/docs/). Your account manager gives you
the sandbox and production origins; locally it is http://localhost:8080.X-Tenant-ID.1050 is $10.50 or
R$ 10,50. Never floats.{"error": {"code": "...", "message": "...", "details": {...}}}.
Branch on code (and details.reason), never on message.