Dice
A Dice result starts with two seeds and the bet nonce. The verifier below runs
the same functions as @gambalabs/provably-fair, so changing an input changes
the real derived seeds, bytes, float, roll, and settlement.
Understand and reproduce the result
Edit each input and see the real function, code, and technical output update together.
Step 1 of 5
Generate the mnemonic seeds
The flow begins with two 12-word BIP-39 phrases. The server seed is generated securely; the client seed can be generated or chosen by the player.
mnemonic must be a non-empty string, got
generateMnemonic()const clientMnemonic = generateMnemonic()
const serverMnemonic = generateMnemonic()Technical data for this step
- Format
BIP-39 English mnemonic- Entropy
128 cryptographically secure random bits- Length
12 words including checksum- Client ownership
Player-selected or generated as a default- Server ownership
Generated by the server and committed before the bet
What the verification proves
- The roll is deterministic. The same server seed, client seed, and nonce always produce the same four bytes and the same four-decimal roll.
- Neither side controls the stream alone. Your client seed and the server's pre-committed seed are both used.
- The nonce makes each bet unique. It advances once per bet.
- The arithmetic is visible. Every function, HMAC message, byte, and conversion used by the verifier is shown in the wizard.
The server seed must have been committed before the bet and revealed afterward.
The seeds prove the roll; payoutPercent is operator configuration and only
affects the multiplier.