Skip to content

Go-live checklist

  • operator-conformance passes with 0 failures against your sandbox wallet (Sandbox self-test).
  • Launch codes are single-use and expire within 5 minutes; your App never passes its own access token to the game.
  • Signature verification uses the raw body, a constant-time comparison and a 300 s window, and accepts several secrets (rotation).
  • Idempotency by transaction_id covers failures too; duplicate_mismatch is detected.
  • Rollbacks record tombstones; a late debit after its rollback returns rolled_back.
  • Several debits per player per round are accepted; nothing deduplicates by round.
  • Credits and rollbacks never check session, logout or ban state.
  • Batch responses contain one result per item, in order; HTTP 200 only when every item has a result.
  • 429 / 503 responses carry Retry-After; your declared maximum batch size and concurrency match what your wallet can sustain at peak.
  • Transactions are kept for at least 180 days.
  • The Host Bridge answers getConfig within 8 s, handles gameLoaded, gameRecharge, destroy, and calls window.walletUpdate() after a top-up.
  • Real rounds played from the App in the sandbox reconcile with your ledger.

Click Apply for production on Console → Overview. Production stays in Pending review until we have checked your integration and your commercial terms (coin rate and revenue share) are set. Once set, the terms are shown on Console → Overview; you cannot edit them.

  • Configure Console → Integration, Production tab: Wallet URL, Currency, Decimals, Max batch size, Max concurrent requests, then Generate secret.
  • Generate a separate production signing secret and deploy it to your wallet.
  • Enable the games you want and set their target margin (1%–10%) for production.
  • Top up your prepaid balance (Console → Top-ups); top-ups are confirmed manually. Consumption, service fees and your balance ledger are under Console → Billing.
  • Change your App’s entry URLs from sandbox.sentosatower.com to games.sentosatower.com (the op value stays the same).
  • Open each enabled game once in production and check the first transactions in your ledger.
  • Set up monitoring on your wallet endpoints: latency, 4xx/5xx rate, retry and insufficient_funds share.
  • You prepay in USD. Player coins always stay in your own wallet.
  • Every day is billed for the Singapore calendar day (Asia/Singapore, UTC+8), shortly after midnight SGT.
  • Consumed coins for a day = total stakes − total payouts across all coin games (board games are free). It can be negative.
  • The day’s fee = consumed coins converted to USD at your coin rate, multiplied by your revenue share. A negative fee is credited back to your balance.
  • The sandbox is never billed.
  • If your balance falls to zero or below, a 3-day grace period starts. If it is still not positive afterwards, production is suspended: new game sessions are refused (operator_suspended) while rounds in progress settle normally. A confirmed top-up that makes the balance positive resumes production automatically. We email you when the balance drops below about one week of average fees.