IS PROVABLY FAIR ACTUALLY FAIR?
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. What Provably Fair Really Guarantees
Here is the precise claim, stripped of marketing. Provably fair guarantees exactly one thing: the result of your bet was committed before you placed it and could not be changed afterwards — and you can prove that yourself. That is genuine and valuable. It is not the same as guaranteeing you good odds, an honest operator, or a profitable game. Keep that distinction in mind; the rest of this page hinges on it.
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 the Cryptography Works (In Brief)
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. Proof You Can Run: A Worked Example
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-Certified: 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-Certified (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. Where It Applies — and Where It Can't
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. What It Does Not Protect Against
This is the part marketing pages leave out, and it is the heart of the "is it actually fair?" question. 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 — each of these is a real way you can still lose even on a perfectly honest result:
- 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.
The default client seed is a quiet weak point. Your client seed is what stops the casino from having pre-selected a seed pair that it already knows favours the house. But most players never change it from the random default the site assigns. That default is generated by the casino, so in principle it knew both halves of the pair before you started betting. The fix is trivial and worth doing: set your own client seed before serious play. It does not change your odds, but it closes the one gap where the casino has any influence over the inputs.
An un-revealed server seed means "not verified yet". You can only verify bets made under a server seed that has been retired and revealed. While a seed is still active, all you have is its hash — you cannot check those results yet, only confirm later. If a casino never lets you rotate, never reveals the old seed, or the revealed seed does not hash to the commitment you recorded, then "provably fair" is a claim you have not actually been allowed to test. Unverified is not the same as proven fair.
9. Can Provably Fair Be Rigged?
This is the question that brings most sceptics here, so let us answer it directly. A correctly implemented provably fair result cannot be secretly rigged after you bet. The server seed is locked by its published hash before the round, and you supply the client seed, so to change the outcome the casino would have to produce a server seed that both yields the new result and still hashes to the value it already showed you. Finding such a seed means breaking SHA-256, which no one can do. Any tampering after the commitment is therefore detectable by anyone who checks.
So the honest answer is: the math cannot be rigged, but the process around it can be gamed if you are not watching. The realistic attack surface is not the formula — it is the bits where you stop verifying:
- Seeds that were never properly committed. If you never recorded the server seed hash up front, a dishonest site can reveal whatever seed it likes afterward. The defence is to capture the commitment before betting.
- Seed-selection games. If a casino can keep re-rolling or hand-picking the server seed it commits to, it can bias outcomes without ever breaking a hash. A published "next server seed hash" that chains seeds together makes this much harder.
- Games that were never provably fair to begin with. The badge may cover Dice and Crash while the slots and live tables you actually lost on use an unverifiable RNG. "Provably fair casino" does not mean "every game is verifiable."
- You, not verifying. The system only constrains the casino if someone actually checks. A result you never verified is trust, not proof.
In other words, provably fair removes the casino's ability to cheat a committed outcome, but it cannot remove your responsibility to verify the commitment. Check the hash before, the seed after, and a few real bets in our verifier — that is what converts "claimed fair" into "proven fair."
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.
10. The Verdict: Is It Actually Fair?
Our honest verdict: provably fair is a genuine, valuable transparency tool — but it is not a guarantee of fairness in the everyday sense, and it was never meant to be. It does exactly what it claims and nothing more. Treat it as proof that an outcome was honest, not as a reason to expect to win or to trust everything else about the operator.
It earns the "fair" label on one axis and not on another. On integrity of the result, it is the strongest mechanism in online gambling: a correctly implemented game cannot alter your committed outcome without the tampering being detectable, and it even makes the house edge visible and checkable. On fairness to your wallet, it changes nothing — the edge still favours the house, the operator can still mishandle your money, and only you verifying keeps the system honest. Both statements are true at once, which is why the answer to "is provably fair actually fair?" is a qualified yes, not a slogan.
Bottom Line
Use provably fair as one signal among several. Prefer casinos that offer it, but still weigh licensing, payout history and reputation. Then actually use it: confirm the server seed hash before you bet, the revealed seed afterwards, and a few real results in our Provably Fair Verifier. Per-game walkthroughs make it concrete — see how to verify Plinko, Limbo and Keno, or the general how-to-verify guide. It proves the result was honest — not that the game is in your favour. Never wager more than you can afford to lose.