18+ Gamble responsibly. Get help
Free tools: Simulator · Verifier · Calculator
Dice Glossary

Provably Fair

Provably fair is a cryptographic commit-reveal scheme that lets players verify casino dice rolls independently. The site publishes a hash of its secret server seed before you bet, your client seed and a bet counter shape each result, and once the server seed is revealed you can recompute every roll and confirm none were altered.

Provably Fair at a Glance
Term type Cryptographic fairness scheme (commit-reveal)
Core inputs Server seed, client seed, nonce
Commitment SHA-256 hash of the server seed, shown before any bet
Roll function HMAC-SHA256(server seed, client seed:nonce)
When verifiable After you rotate seeds and the server seed is revealed
First adopted Early bitcoin dice sites, around 2012-2013
Removes edge? No, the house edge (typically 1%) still applies

What does provably fair mean?

Provably fair means a game publishes cryptographic evidence, before you bet, that its outcomes are already fixed by a committed secret. After the secret is revealed, anyone can recompute every result and prove the operator never changed a roll mid-session.

The scheme solves the core trust problem of online dice: you cannot watch the random number generator. Instead of asking you to trust an audit, the site makes cheating detectable. It commits to a secret server seed by publishing its SHA-256 hash, then mixes that secret with a value you control (the client seed) and a bet counter (the nonce).

Because the hash was published first, the site cannot swap the server seed after seeing your bets without the hash mismatching. Because your client seed enters the mix, the site could not pre-compute a losing sequence for you before it knew your input. The result is a game where rigging a single roll leaves permanent, checkable evidence.

How does the commit-reveal scheme work end to end?

Commit: the site generates a secret server seed and shows you its SHA-256 hash. Play: each roll is HMAC-SHA256(server seed, client seed:nonce), with the nonce rising by one per bet. Reveal: rotating seeds exposes the old server seed for checking.

  1. Commit. The casino generates a random server seed (usually 64 hex characters) and displays only its SHA-256 hash in your fairness settings.
  2. Contribute. You set or accept a client seed. From this moment the seed pair is locked and the nonce starts at 0.
  3. Play. Every bet computes HMAC-SHA256 with the server seed as key and clientSeed:nonce as message. The first bytes of that hash convert to a roll between 0.00 and 99.99. The nonce increments by one each bet, so one seed pair produces a fixed, pre-determined sequence of rolls.
  4. Reveal. When you rotate to a new seed pair, the site publishes the old server seed in plain text.
  5. Verify. You hash the revealed seed and confirm it matches the original commitment, then recompute any roll from the sequence.

The full walkthrough with worked hashes is in our guide to how provably fair dice works.

How do you verify a past dice roll?

Rotate your seed pair so the server seed is revealed, then feed the server seed, client seed, and the bet nonce into a verifier. If the recomputed roll matches your bet history, the roll was fair.

Verification takes under a minute. First rotate seeds in the site fairness menu, which reveals the retired server seed. Then run two checks:

  • Commitment check: SHA-256 the revealed server seed. It must equal the hash you were shown before betting.
  • Roll check: recompute HMAC-SHA256(server seed, client seed:nonce) for the bet in question and convert it to a roll number.

You can do this with a few lines of Python or paste the three values into our free provably fair dice verifier, which recomputes the hash chain in your browser and flags any mismatch. If even one recomputed roll differs from your bet history, you have hard proof of tampering, which is exactly the pressure that keeps operators honest.

What does provably fair not guarantee?

Provably fair proves the rolls were random and untampered. It does not remove the roughly 1% house edge, does not guarantee withdrawals get paid, and does not vet licensing, bonus terms, or customer support quality.

The most common misconception is that provably fair means you cannot lose. The math is untouched: a 1% house edge applies to every verified roll, so expected loss is still 1% of total turnover. Fair and favorable are different things.

Provably fair also says nothing about the business behind the game. A site can run flawless cryptography and still delay withdrawals, confiscate balances under vague bonus terms, or disappear. Treat seed verification as one requirement among several: check licensing, withdrawal reputation, and edge before depositing anywhere.

Frequently Asked Questions

Can a provably fair dice site still cheat? +
Not on the rolls without detection: any altered result breaks the hash chain and is provable after the seed reveal. A dishonest site can still cheat around the game, for example by refusing withdrawals, so verification alone is not a full trust signal.
Do I need to verify every single roll? +
No. Spot-checking a few bets after each seed rotation is enough, because the commitment covers the entire sequence. If one roll in a seed pair verifies correctly, the same server seed generated all the others deterministically.
What if the revealed server seed does not match its hash? +
That is proof of tampering. Screenshot the fairness page, export your bet history, stop playing, and report it publicly. A hash mismatch is the one failure the scheme is designed to make undeniable.
Is provably fair the same as being licensed? +
No. Provably fair is a technical property of the random number process. Licensing is a legal and financial vetting of the operator. The strongest dice sites have both; neither substitutes for the other.

Ready to compare dice sites?

We tested the leading bitcoin dice casinos hands-on: deposits, real rolls, withdrawals, and support. See how they rank.

See the Best BTC Dice Sites
See the Best BTC Dice Sites →