WHAT IS PROVABLY FAIR GAMBLING?
1. The Trust Problem With Traditional Online Casinos
When you play at a traditional online casino, you trust that its Random Number Generator (RNG) is fair. That trust is mediated by third-party testing labs such as eCOGRA or iTech Labs that certify the RNG periodically. But you never see the algorithm and you cannot check any single spin — you trust the auditor, who trusts the casino, who controls the software.
This creates an uncomfortable reality: you cannot independently confirm that the specific hand, roll or crash you just lost was generated honestly. You can only trust a chain of organizations and hope the certification still reflects what the live server is actually doing. For most of online gambling history, that was the only option available to players.
2. How Provably Fair Solves This
Provably fair replaces "trust us" with "check it yourself." It uses cryptographic hashing — SHA-256 and its keyed cousin HMAC-SHA256 — to lock in a game outcome before the round starts, then lets you confirm afterwards that the outcome was never changed. Three ingredients make this possible:
The Five-Step Commit-and-Reveal Process
3. How HMAC-SHA256 Actually Turns Seeds Into a Result
Two cryptographic primitives do the heavy lifting. Understanding them is what lets you trust the system rather than just believe it.
SHA-256 is a one-way hash function. Feed it any text and it returns a fixed 64-character hexadecimal fingerprint. The same input always produces the same output, but you cannot run it backwards to recover the input, and you cannot feasibly find two inputs that produce the same fingerprint. That is exactly what makes it a usable "commitment": the casino can publish SHA-256(server_seed) as a promise, and you can later confirm the revealed seed matches without it having been able to swap the seed in between.
HMAC-SHA256 is a keyed hash. It takes two inputs — a secret key and a message — and mixes them so that you cannot produce the correct output without knowing the key. Provably fair games use it like this:
clientSeed:nonce:0, where the trailing index supports games that need more than one number per bet.The output is a 64-character hex string — 32 bytes of apparently random data that is actually fully determined by the three inputs. The game then reads bytes off the front of that string and converts them into a result. A dice game might take the first 8 hex characters and reduce them to a number from 0.00 to 99.99; a Limbo or Crash game takes a longer slice and runs it through a multiplier formula that bakes in the house edge. Because every step is deterministic, anyone with the same three inputs gets the same result — which is the whole point.
4. Worked Example: Verify a Dice & Limbo Bet Yourself
Below is a complete, reproducible example using the same Stake-style algorithm our Provably Fair Verifier implements. The seeds here are illustrative values we chose for teaching — they are not from a real bet — but every number is real: run the same inputs and you will get the same digest and the same results, byte for byte.
Step A — The inputs
| Server seed (unhashed) | my-secret-server-seed |
| Server seed hash (shown before the bet) | f9f9cda1e105f796a9b2ece06d47a00b82a700ed12ced588935c2f48457f3a15 |
| Client seed | lucky7 |
| Nonce | 0 |
Notice that the server seed hash is just SHA-256("my-secret-server-seed"). That hash is what a casino would show you up front; the plain seed is hidden until you rotate. (In a real game the server seed is a long random string, not a readable phrase — we use a readable one here only so the example is easy to type.)
Step B — Build the message and compute the HMAC
The Stake-style message is clientSeed:nonce:0, so here it is lucky7:0:0. We compute HMAC-SHA256 with the server seed as the key:
You can reproduce that digest in seconds. On Mac or Linux, paste this into a terminal:
Step C — Map the digest to a Dice roll
Dice takes the first 8 hex characters of the digest, converts them to an integer, and reduces that to a number from 0.00 to 99.99:
a143c00f2,705,571,8551855On a "roll under" bet, 18.55 beats any target above 18.55 and loses to any target at or below it. The key insight: the roll was fixed the instant the server seed was committed — playing with the same seeds and nonce can only ever produce 18.55.
Step D — Map the same digest to a Limbo multiplier
Limbo (and Crash) read a longer slice — the first 13 hex characters — and run it through a multiplier formula that includes a 4% house edge:
a143c00fee28f2,836,997,714,403,983floor( (2^52 / (2^52 − val)) × 0.96 × 100 ) / 100The × 0.96 term is the 4% house edge made visible — proof that "provably fair" describes honesty of the result, not the absence of an edge (more on that below).
my-secret-server-seed / lucky7 / nonce 0 into the verifier and watch it return 18.55 and 2.59x.5. How to Set, Rotate & Reveal Your Seeds
Verification only means something if you handle your seeds correctly. The workflow is the same across most casinos, usually found under a Fairness or Provably Fair menu:
- Set your client seed first. Before serious play, change the client seed to a value of your own. This is your guarantee the casino did not pre-pick the seed pair. Some players use a string they will remember; the exact value does not matter, only that you chose it.
- Record the committed server seed hash. The Fairness panel shows the SHA-256 hash of the current (still secret) server seed. Note it down. This is the promise you will hold the casino to.
- Play — the nonce counts up automatically. Each bet uses the same server and client seed with the nonce incrementing by one. Your bet history records the nonce for every round.
- Rotate to reveal. When you want to verify, click rotate / change seeds. The casino retires the current server seed, reveals it in plain text, and commits a fresh hashed seed for future bets.
- Verify the chain. First confirm
SHA-256(revealed seed)equals the hash you recorded in step 2. Then re-run the HMAC for any bet's nonce and confirm the result. If both checks pass, those rounds were provably fair.
The order matters: the server seed is only ever revealed after you stop using it. If you could see it while betting, you could compute outcomes in advance and break the game. That is why "the seed was revealed after the round" is a feature, not a limitation.
| Casino | Where to find your seeds |
|---|---|
| Stake | Account menu → Settings → Fairness; change client seed and rotate there. See our Stake review. |
| Roobet | Avatar → Fairness; "Change Seeds" rotates and reveals the old seed. See our Roobet review. |
| BC.Game | Profile → Provably Fair; shows active and previous seed pairs with the nonce. |
6. Provably Fair vs RNG-Audited: What's the Difference?
These two fairness models are often confused, but they answer different questions and protect you in different ways. Neither is strictly "better" — the best casinos use both, applying each where it fits.
| Provably Fair | RNG-Audited (eCOGRA / iTech Labs) | |
|---|---|---|
| Who checks it | You, per bet | A third-party lab, periodically |
| What it proves | This exact outcome wasn't altered | The RNG is statistically fair over time |
| Trust required | None — it's math you can run | Trust the auditor and the casino |
| Covers | In-house originals (Dice, Crash, etc.) | Third-party slots, live games, RNG tables |
| Granularity | Every single bet | Sampled audits, not your specific spin |
In short: provably fair gives you per-bet, zero-trust proof but only for games simple enough to recompute. RNG audits give you broad coverage across slots and live tables but rely on trusting the certifier. A slot from a major studio can be perfectly fair while being impossible to verify yourself — that is what the audit is for.
7. Which Games Are Provably Fair?
Provably fair applies to games with simple, computable outcomes — primarily casino "originals." It generally does not apply to live dealer games (real-world physical outcomes) or most third-party slots (proprietary RNG you cannot recompute). The verification methods below match the algorithms in our verifier tool; specifics vary slightly between casinos.
| Game Type | Provably Fair? | Verification Method |
|---|---|---|
| Dice | ✓ Yes | Roll 0.00–99.99 from the first hash bytes |
| Limbo | ✓ Yes | Multiplier from hash prefix (as shown above) |
| Crash | ✓ Yes | Multiplier derived from the hash prefix |
| Mines | ✓ Yes | Mine positions from a hash-seeded shuffle |
| Plinko | ✓ Yes | Left/right path from individual hash bits |
| Keno / Hilo | ✓ Yes | Numbers or cards selected from hash bytes |
| Third-Party Slots | ✗ Usually no | Proprietary RNG (lab-certified, not self-verifiable) |
| Live Dealer | ✗ No | Physical outcome (real cards/wheels on camera) |
8. The Limitations: What Provably Fair Does Not Prove
This is the part marketing pages leave out, and it matters because this is a money topic. Provably fair is genuinely powerful, but it is not a guarantee that gambling is a good idea or that the game is generous. Here is what it does not do:
- The outcome was fixed before you bet
- The result was not altered after your bet
- You influenced the result via your client seed
- The advertised house edge is the one applied
- That the house edge itself is small or fair
- That you'll win — the math still favours the house
- That the casino will actually pay you out
- That slots/live games on the same site are verifiable
The house edge is still there — and provable. In the worked example, the Limbo formula multiplied by 0.96: a 4% edge to the casino, baked into the math. Provably fair proves that edge is exactly what was applied — not that it is in your favour. Over time, that edge means the house wins. Verification protects you from cheating, not from the odds.
A correct algorithm is not a trustworthy operator. A casino can implement flawless provably fair games and still refuse withdrawals, freeze accounts, or operate without a licence. The cryptography secures the dice roll; it does not secure your bankroll. This is why we still weight licensing, payout history and reputation heavily in our provably fair casino reviews.
Commitment quality matters. The proof is only as strong as the commitment. If a casino reveals a server seed whose hash you never recorded, or rotates seeds in a way that lets it pick favourable seeds, the guarantee weakens. Always verify the published hash before the seed is revealed — not just the final number afterward. Some platforms also publish a separate "next server seed hash" to chain commitments together, which is stronger still.
9. Provably Fair Casinos We've Tested
These are platforms whose provably fair systems we have checked hands-on. For the full ranked comparison — including licensing and payout notes — see our best provably fair casinos guide.
Bottom Line
Provably fair is not marketing — it is a genuine, checkable mathematical guarantee. A casino that implements it correctly cannot alter an individual outcome after you bet without the tampering being detectable, and the house edge it applies is exactly the one you can verify. That makes it the most transparent form of online gambling available. Just keep the honest caveat in view: it proves the result was fair, not that the game is in your favour or that the operator is trustworthy in every other respect. Verify your results, choose licensed casinos, and never wager more than you can afford to lose.
Frequently Asked Questions
openssl command (shown in the worked example) reproduces the same HMAC-SHA256 digest, and the mapping to the game result is simple arithmetic.