Overview
Wallet integration connects your platform’s player balances with the sportsbook so players can place bets and receive winnings.
The flow is the same whichever product you integrate — the embedded iFrame or the Sportsbook API with your own frontend. Both place bets against your wallet through the endpoints described here, which is why this section sits outside either product’s documentation.
There are 2 ways to integrate a wallet:
- Seamless wallet — the main and recommended approach. The sportsbook works directly with the operator’s wallet: players bet with the money on your platform, and every betting transaction is performed against your wallet through the API you implement.
- Transfer wallet (requires sign-in) — an alternative approach. The operator’s platform and the sportsbook provider keep separate wallets, and players explicitly transfer money between them before betting.
If you are starting a new integration, choose the seamless wallet unless you have a specific reason not to.
What this section assumes about your integration
The wallet contract is identical for both products — the endpoints you implement, their payloads, the transaction types, the idempotency and rollback rules, bonuses and taxes. Only the frontend around them differs, so where a diagram or an example needs a concrete frontend it names the iFrame. Read those as “the sportsbook frontend”, whichever one you run.
What actually differs:
| iFrame integration | Sportsbook API + your own frontend | |
|---|---|---|
| Establishing the player session | Seamless Login (signed JWT) | Login with token (requires sign-in) |
| Placing a bet | the player places it inside the iFrame | your frontend calls Place bet (requires sign-in) |
| Rendering a decline message | the iFrame shows localizedMessage as-is | your frontend renders it |
| Starting a transfer from the sportsbook UI | user.balance_transfer event (requires sign-in) | not applicable — you build your own deposit and withdrawal UI |