PROVABLE FAIRNESS
Transparent, deterministic results using a commit–reveal scheme.
We generate a secret serverSeed. We post its hash:
serverSeedHash = SHA256(serverSeed)
Only serverSeedHash is public at this time; the seed stays hidden to prevent prediction or manipulation.
You provide a clientSeed. Each bet/round increases a nonce (starting from 0).
Compute R = HMAC_SHA256(serverSeed, `${clientSeed}:${nonce}`).
Once revealed, anyone can recompute SHA256(serverSeed) and confirm it matches the original commitment (serverSeedHash).
- Recreate the HMAC using your clientSeed and nonce.
- Confirm the numeric transform (uint32 → float → roll) matches the UI.
- Check serverSeedHash matches the original commit.
FAQ
Using the secret serverSeed as the HMAC key ensures outcomes can’t be predicted from the public serverSeedHash. After reveal, everyone can recompute the same output.
The server commits to serverSeedHash before your inputs exist for that round. Player entropy (clientSeed, nonce) is unknown to the server at commit time, removing selection bias.
That’s fine; the nonce increments each round, changing the message for HMAC and producing new, unpredictable outputs.
Want to test live data? Use Verify a Round.

