Wallet endpoints
Four HTTPS endpoints on your backend: authenticate a launch code, read a balance, apply a batch of transactions, look up one transaction. Requests are signed with Standard Webhooks HMAC.
Star Game provides H5 social games (lucky wheels, card rounds, reels, a crash game and free friends-table board games) that run inside your app’s WebView. Player balances never leave your system: the games use a seamless wallet, so every stake and payout is booked by your backend through the Operator Wallet API.
There are three pieces to build:
Wallet endpoints
Four HTTPS endpoints on your backend: authenticate a launch code, read a balance, apply a batch of transactions, look up one transaction. Requests are signed with Standard Webhooks HMAC.
Launch code
A one-time, short-lived (≤ 5 min) code your backend issues each time a player opens a game. It is the only credential that ever reaches the game page.
Host Bridge
A small JSBridge in your App WebView (getConfig, gameLoaded, gameRecharge, destroy), compatible with the bridge most voice-chat apps already ship.
Register. Create an account in the merchant console, verify your email and create your merchant. You receive an Operator ID (m_ followed by 20 lowercase characters), shown with your game entry URL on Console → Integration. It is the same in sandbox and production. The sandbox is active immediately.
Sandbox. In Console → Integration, Sandbox tab, enter Wallet URL (your wallet base URL, HTTPS only), Currency, Decimals, Max batch size (1–500) and Max concurrent requests (1–16), then click Generate secret (whsec_…, shown once). Implement the wallet endpoints, verify signatures, wire up the Host Bridge, enable games and run the self-test.
Review. When the self-test passes and you have played real rounds in the sandbox, click Apply for production on Console → Overview. We review your integration and agree commercial terms with you; production stays locked until they are set.
Production. Configure the production integration (separate secret), top up your prepaid balance, switch your entry URLs to the production host and go through the go-live checklist.
| Sandbox | Production | |
|---|---|---|
| Game entry URL | https://sandbox.sentosatower.com/games/<gameId>/index.html?op=<operatorId> |
https://games.sentosatower.com/games/<gameId>/index.html?op=<operatorId> |
| Wallet calls go to | the sandbox wallet URL you configure | the production wallet URL you configure |
| Signing secret | sandbox whsec_… secret |
production whsec_… secret (generate a separate one) |
| Activation | immediately after creating the merchant | after review and approval |
| Billing | never billed | daily, see Go-live checklist |
| Game settings | games enabled and target margin per game, set in Console → Games separately for each environment |
A public demo lobby with mock coins (no wallet integration) is available at https://demo.sentosatower.com so your product team can try every game before you integrate.
Player taps a game in your app │ ├─ App opens WebView: https://<host>/games/<gameId>/index.html?op=<operatorId> │ ├─ Game page → Host Bridge getConfig App asks your backend for a one-time launch code │ and returns { code, userId, roomId, language, gameMode, ... } │ ├─ Game page → Star Game platform (our own game API; you do not call it) │ │ │ └─ POST {walletUrl}/players/authenticate { launch_code, game_id, client_ip } │ ← { player_id, session_id, currency, balance, ... } (your backend) │ └─ Player plays. Stakes and payouts reach you as signed POST {walletUrl}/transactions batches.The game page only talks to the Star Game platform; the platform talks to your wallet. Your App never needs to hand its own access tokens to the game page.