06 — ship it
Go live
Run this list before we flip your game to real money.
Integration
- Unity client is a WebGL build; backend ships as a Dockerfile; every secret comes from env vars.
- Backend holds
BANK_API_KEY+RNG_API_KEY; the Unity client holds neither. - Client reads
?session=/?token=from the launch URL; backend verifies the JWT and takesuser_idfromsub— never from the client. - Every spin:
/bet/open→/random(×N) → evaluate →/bet/settle. bet_idis unique per spin and reused on retries; a mid-spin crash replays cleanly.- Amounts are decimal strings (
"5", not atomic units). - A failed
/randomnever settles a win. - Losing spins are settled too (
payout: "0") — no bet is ever left pending. game-historyis reported to the hub once per round, win or loss.- Free play works without a single bank call;
domin8:play-for-realis wired. domin8:ready,domin8:game-overanddomin8:muteare wired.- A fairness panel exposes the seed hash, client seed, nonce and rotate-and-verify.
What to send us
- The WebGL build (or a repo we can build).
- The backend repo with its Dockerfile.
- Game name, a thumbnail for the arcade, and your target RTP per mode (base game and every buy bonus) — we monitor realized RTP in production.
- The
game_model/game_idlabel you picked (stable, lowercase).
That's it. We deploy to staging with test balances, you play it until it feels right, then we register it in the arcade.