Skip to content

Error codes & rate limits

Whole-request failures are application/problem+json (RFC 9457) with a code field:

code HTTP Platform behaviour
invalid_signature 401 Not retried; check the secret and your server clock.
invalid_launch_code 401 Player sees an entry error and can reopen the game (new launch code).
malformed_request 400 Not retried.
player_not_found 404 Balance unavailable for that player.
transaction_not_found 404 Audit lookups only.
not_found 404 Wrong base URL or path.
rate_limited 429 Retried with the same transaction ids after Retry-After.
unavailable 503 Batch outcome unknown: retried with the same transaction ids after Retry-After; uncertain debits are rolled back until ok.
internal 500 Retried with the same transaction ids.
— (timeout, connection reset) — Same as 503.

Per-item results inside an HTTP 200 batch response: ok, insufficient_funds, session_invalid, player_blocked, limit_exceeded, duplicate_mismatch, reference_not_found, rolled_back, retry. Meanings and platform actions are listed in the Wallet API guide.

Situation What happens
getConfig not answered within 8 s The page shows an entry error.
Launch code refused by your wallet The page shows an entry error; reopening the game issues a new code.
Wallet unreachable during authenticate The page shows an entry error.
Production suspended for your operator New sessions are refused with operator_suspended; rounds in progress settle.
insufficient_funds on a stake The stake is cancelled, the game shows the balance and may call gameRecharge.

Towards your wallet. The platform never exceeds the Max batch size and Max concurrent requests you declare in Console → Integration. When you answer 429 or 503 it waits for Retry-After (seconds) before retrying. You may also send the IETF RateLimit-Policy / RateLimit headers; they are informational.

Towards players. The game platform applies its own per-session and per-IP limits on player actions. You do not need to do anything for them.

Timeouts. Answer wallet calls quickly — ideally within a few hundred milliseconds. A batch that has not answered by the end of a betting window is treated as unknown: its debits are cancelled and rolled back.