Four endpoints. That's the integration.

You expose a wallet. We call it. Nothing about your players ever leaves your side of the boundary.

The wallet contract

Implement these on your side. We authenticate with a shared key and retry idempotently on network failures.

POST/wallet/balance

Return the current balance for a player ID and currency.

POST/wallet/debit

Reserve the bet amount. Idempotent on transaction_id.

POST/wallet/credit

Pay out a settled round. Idempotent on transaction_id.

POST/wallet/rollback

Void a debit that was never settled — after a timeout or a cancelled round.

A round, end to end

This is the whole exchange for one bet. The player ID is whatever opaque string you choose; we store it and nothing else.

round lifecycle
1. player opens the game
   GET  https://mines.example.com/?token=<your session token>

2. we ask your wallet for the balance
   POST /wallet/balance
   { "player_id": "8f2c…a91d", "currency": "usd" }
   → { "balance": "249.00" }

3. player bets 1.00
   POST /wallet/debit
   { "player_id": "8f2c…a91d", "currency": "usd", "amount": "1.00",
     "game": "mines", "round_id": "r_8814", "transaction_id": "tx_5f21" }
   → { "balance": "248.00" }

4. round settles at 3.6x
   POST /wallet/credit
   { "player_id": "8f2c…a91d", "currency": "usd", "amount": "3.60",
     "game": "mines", "round_id": "r_8814", "transaction_id": "tx_5f22" }
   → { "balance": "251.60" }

5. proof is published with the result
   { "round_id": "r_8814", "server_seed_hash": "9c1f…", "server_seed": "b7a0…",
     "client_seed": "player-chosen", "nonce": 41 }

What launch looks like

Measured across the operators we onboarded most recently.

Same day

Sandbox credentials, full catalogue, play money

2–5 days

Typical wallet implementation by one backend engineer

1 day

Certification pass against our test suite

Under a week

First real bet in production

Provable fairness, verifiable by the player

Every round commits to a hashed server seed before the bet. After settlement we reveal the seed, so the player — or a regulator, or you — can recompute the outcome independently. There is no version of this where the result depends on trusting us.