Skip to main content

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.

Interactive Dice verifier

Understand and reproduce the result

Edit each input and see the real function, code, and technical output update together.

1
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
Edit the inputUpdates automatically
Code usedgenerateMnemonic()
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
1 of 5

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.