INTEGRATION

One integration — the whole catalog

Seamless wallet: player money stays in your wallet; 19flip only debits bets and credits wins through your API. Integrate once — new games appear in your lobby by themselves.

3–5 days average integration time
5 wallet callbacks on your side
1 click integration test with a report
FLOW

Player money stays with you

The balance lives only in your wallet. The game never holds player money: every bet and every win is a request to your API.

  1. 01 Casino The player clicks a game in your lobby
  2. 02 launch-game Your server requests a launch URL from 19flip
  3. 03 Game Opens in an iframe or by redirect
  4. 04 Wallet callbacks The game debits bets and credits wins through your API
ONBOARDING

From keys to first launch

  1. 1 Key exchange We give you the host and API keys, you give us the callback URL and the currency list.
  2. 2 Five wallet callbacks Balance, debit, credit and two rollbacks. Signing and duplicate protection are already specified.
  3. 3 One-click test Our server runs your side through signatures, retries, duplicates and rollbacks, and gives you a report.
  4. 4 Go live We switch the games on and set up the lobby and the draw schedule for your time zone.
launch-game · simplified example
POST /api/operator/v1/launch-game
Api-Key: ••••••••••••

{
  "game_id": "bingo-bongo",
  "mode": "LIVE"
}

→ 200
{ "launch_url": "https://…?token=…" }
WALLET CALLBACKS

Five requests on your side

Each request is a POST with JSON, an X-Signature = sha256(body + secret_key) and your api_key. Money requests come with an idempotency_key: a retry returns the stored response without moving money twice.

Request What it does Duplicate protection
POST /balance The player’s current balance. Moves no money; games call it often. Not needed: the request moves no money.
POST /bet/debit Debits the bet. The balance check and the debit happen in one transaction; insufficient funds — 402. idempotency_key: a retry returns the stored response without a second debit.
POST /win/credit Credits a win. A round can have several credits (pot, jackpot, insurance). Each credit has its own idempotency_key.
POST /bet/rollback Returns the bet if the round is cancelled or the debit was not confirmed. original_transaction_id — what to cancel, idempotency_key — the cancellation itself.
POST /win/rollback Reverses a credit if an error happened in the round after it. original_transaction_id + idempotency_key, same as the bet rollback.
PARAMETERS

Technical details

Currencies
USD and EUR; new currencies are added in the provider’s reference list, each with its own bet ladder
Game languages
Russian, English, Ukrainian (Ukrainian — Dacha Pickles, Dacha Fishing, Dacha Dogs, Block Boost); the language is passed in launch-game
Devices
desktop, mobile, tablet — all games are responsive
Launch method
iframe in your lobby or a redirect to launch_url
Modes
LIVE — real money through your wallet, DEMO — virtual balance with no callbacks
Limits
the operator’s max bet and max win are checked before money is debited
Bingo draws
a schedule in your time zone: a weekly grid and one-off draws
Wallet response
up to 10 seconds; retries and rollbacks go by idempotency_key
TESTING

A test casino and a one-click test

  1. 01 Test casino A working example of the operator side: wallet, lobby, every game in the catalog and the live banner. It shows how your callbacks should respond. Access on request.
  2. 02 Integration test Our server runs your side through signatures, a wrong key, retries with the same idempotency_key, insufficient funds, bet and win rollbacks, the final balance and response time. All movements are rolled back, and you get a report: what was expected, what your wallet returned and how to fix it.

Ready to integrate?

We will issue API keys and test casino access. We reply within 15 minutes during business hours.

Documentation for AI assistants: llms.txt and llms-full.txt. The game list with demos — games.19flip.com/en/llms.txt.

Demo
Launching the game… Virtual balance, no money, no sign-up.