Step 1 — The casino commits to a server seed
Before any bet, the casino generates a random server seed and publishes only its SHA-256 hash. You can see the hash but not the seed itself, so the casino can no longer change it without breaking the commitment.
Step 2 — You set a client seed
You either accept the auto-generated client seed or type your own. Because the casino cannot guess your input, it cannot rig outcomes against your specific account.
Step 3 — Each bet increments the nonce
Bet #1 uses nonce 0, bet #2 uses nonce 1, and so on. Same seeds + different nonce = different verifiable result.
Step 4 — HMAC-SHA256 turns seeds into a number
The game runs HMAC_SHA256(server_seed, client_seed:nonce:cursor), slices the hex output into bytes, and maps them to your outcome: a Dice roll (0–99.99), a Crash multiplier, a shuffled deck, or a Plinko bucket path.
Step 5 — Reveal & rotation
When you rotate the client seed, the casino reveals the old server seed. You can re-hash it to confirm it matches the original commitment, then re-compute every round you played under that pair. Move on to how to verify a game hash for the exact commands.
Frequently asked questions
What is a server seed?
A server seed is a random string the casino generates before play. It publishes the SHA-256 hash of that seed so you can't predict the outcome, then reveals the seed after the round so you can verify it.
Why does the client seed matter?
Because you choose it, the casino cannot pre-compute results that target your bets. Rotate the client seed any time you want a fresh verifiable session.
What does the nonce do?
The nonce is a counter (0, 1, 2, ...) that increments with every bet. It lets the same pair of seeds produce a unique result per round without ever repeating.
