Rate limits & quotas
API rate limit
One token bucket per tenant:
| Plan | Requests per second | Short bursts up to |
|---|---|---|
| Paid plan | 100 | 200 |
| Sandbox | 20 | 40 |
| Free demo plan | 5 | 10 |
- Counted per tenant (all keys of a tenant share it); the platform can adjust it per tenant.
- Only requests that pass signature verification count.
- Over the limit you get
429 RATE_LIMITED: back off and retry (for example 200 ms, 400 ms, 800 ms… with jitter), with a new nonce and timestamp each time. - Make fewer calls: read bets in pages with the cursor (up to 1,000 per page) instead of one at a time, and update balances from the
balancereturned by transfers instead of querying again.
Other limits
| Item | Limit |
|---|---|
| Request body | 64 KB |
X-Timestamp window | ±300 seconds from server time |
X-Nonce | 16–64 letters and digits; must not repeat within 10 minutes |
Username username | 1–32 characters: letters, digits and _ . @ -; case-insensitive |
Transfer ID txnId | 1–64 characters: letters, digits and _ . : - |
| Amounts | Decimal strings, at most 4 decimals |
GET /bets | 1–1,000 records per page (default 500) |
GET /bets/summary | At most 1,000 players |
GET /wallet/transfer | Searches the tenant ledger for the current and previous 3 months (UTC); with username it also checks the player's wallet |
| Launch URL | Valid for 60 seconds, usable once |
| Player session | At most 12 hours; signed out after 60 minutes idle |
| API keys | At most 10 per environment; a rotated key keeps working for 24 hours |
| IP allowlist | At most 100 entries |
| Bets available through the API | About 400 days on the paid plan; 7 days on the free demo plan (removed in whole months; the current and previous months are always kept) |
Free demo plan limits
The free plan is for demos and evaluation, not for real operation. These are the defaults (the platform can change them, or relax them for a specific tenant). The same limits apply after an account is automatically downgraded (DOWNGRADED) at the end of the grace period. Sandbox tenants have these limits too, with more players and a higher rate limit for integration testing; see Sandbox.
| Item | Default |
|---|---|
| Tables you can enable | 2 |
| Players online at once (whole tenant) | 10 |
| Player accounts | 50 (creating more returns PLAYER_LIMIT) |
| Bet limits | Always the platform's "demo" bet-limit profile |
| Daily total bets (UTC day) | About USD 1,000 equivalent: USD 1,000, TWD 30,000, CNY 7,000, HKD 7,800, THB 35,000, VND 25,000,000, PHP 56,000, MYR 4,700, JPY 150,000, KRW 1,350,000, USDT 1,000; betting stops for the rest of the day once reached |
| Video | 3 viewers at once; at most 30 minutes of continuous viewing; streaming is charged to the prepaid credit (including the sign-up credit) |
| Screen | A "Demo" watermark on the game; no custom branding |
| Not available | Webhooks, seamless wallet, exports, sub-accounts, custom branding |
| API rate limit | 5 per second |
| Bet retention | 7 days |
| Idle | 14 days without a Console login or a bet → tables are paused; logging in to the Console restores them |
| Trial period | Unlimited |
Sandbox
Sandbox tenants have the free demo plan limits above, but these three are raised to at least:
| Item | Sandbox |
|---|---|
| Players online at once | 50 |
| Player accounts | 500 |
| API rate limit | 20 per second (short bursts up to 40) |
The other limits — video, the daily betting cap, demo bet limits and the watermark — are the same as on the free demo plan.
Paid plan
- No table quota: each enabled table costs USD 100 per month, charged daily and pro rata from the prepaid credit.
- No demo limits; webhooks and custom branding are available; the API allows 100 requests per second.
- Charges, top-ups, grace and downgrade rules are described in Billing.