Provably Fair Games and How to Verify a Result
Provably fair means you can recompute a game result yourself and confirm the casino did not change it after you bet. The mechanism is straightforward once you have seen it, but implementations differ enough between casinos that a generic verifier will not reproduce their numbers.
Key Takeaways
- Provably fair proves one narrow thing, which is that a result was not altered after you bet. It says nothing about the house edge.
- Three inputs produce every result. A committed server seed, a client seed you control, and a nonce that increments with each bet.
- Verification only works after you rotate seeds, because the casino can reveal the server seed only once it is retired.
- Implementations differ in message construction and byte consumption, so a generic verifier will not reproduce an casino’s numbers.
- Third-party slots are not covered by the scheme at all, even at casinos that advertise provably fair prominently.
Provably Fair Casinos Compared
Verification details are recorded per casino, because the conversion step is where implementations diverge.
0 casinos are queued for assessment. Each one needs its terms pulled and quoted, its licence checked against the issuing registry, and at least one withdrawal timed to on-chain confirmation before it appears here. Figures are published when that evidence exists and not before, which is set out in our ratings methodology.
What Is Provably Fair Gaming?
Provably fair is a commitment scheme that lets you check a result after the fact. The casino commits to a secret before you bet, you contribute a value it cannot predict, and the outcome is derived from both.
The point is not that the game is generous. A provably fair game still carries a house edge, and the edge is usually published. What the scheme proves is that the casino did not alter the outcome once your bet was placed.
How Server Seeds, Client Seeds and Nonces Work
Three inputs produce every result, and each exists to close a specific gap. Remove any one of them and the scheme stops proving anything.
Server seed
A random string the casino generates and keeps secret. Before you play it publishes the SHA-256 hash of that string, which commits it to a value without revealing it. Because SHA-256 cannot be reversed, that hash is a promise it cannot later break.
Client seed
A string contributed by you, usually generated by your browser and editable in the game settings. It exists so the casino cannot precompute outcomes, because it does not control both inputs.
Nonce
A counter that increments with every bet on the same seed pair. It lets one server seed produce a long sequence of distinct results, and it means each bet in that sequence is independently checkable.
The outcome is derived by running HMAC-SHA256 over the client seed and nonce, keyed with the server seed. The resulting bytes are converted to a number, and that number maps onto the game.
How to Verify a Result Step by Step
Verification happens after you rotate your seed pair, because the casino can only reveal the server seed once it can no longer be used. The sequence is the same everywhere even though the final step differs.
Step 1: Record the hashed server seed
Copy it before you start playing. This is the commitment, and without it recorded beforehand you have nothing to compare against later.
Step 2: Note your client seed and nonce
Both are shown in the game interface. The nonce for a given bet is fixed once that bet is placed.
Step 3: Rotate the seed pair
Changing your seed retires the current server seed, and the casino then publishes it in plain text. Results from the old pair remain verifiable.
Step 4: Check the commitment
Hash the revealed server seed with SHA-256 and compare it to the hash you recorded in step one. If they differ, the casino swapped the seed and nothing else is worth checking.
Step 5: Recompute the outcome
Run HMAC-SHA256 with the revealed server seed as the key and your client seed and nonce as the message, then apply the casino’s documented conversion to turn the output into a game result.
Why a Generic Verifier Will Not Match
The commitment step is identical everywhere, but the conversion from hash output to game result is not. Casinos differ in three places, and a mismatch in any one produces a wrong answer that looks like cheating when it is not.
- Message construction. Some join the client seed, nonce and a round counter with colons. Others use a different order or omit the round entirely.
- Byte consumption. Some take the first four bytes of the digest and divide down to a float. Others walk the digest in chunks, which matters for games needing more than one random value per bet.
- Result mapping. How a float becomes a dice roll, a crash multiplier or a mine layout is game-specific and casino-specific.
Use the casino’s own published verifier or its documented formula. A verification that fails because you used someone else’s conversion tells you nothing about the casino, and it is the most common reason people conclude a game is rigged when the maths is fine.
Provably Fair Game Mechanics
Each game converts the same hash output differently, and the house edge is built into the payout rather than the randomness. Edges below are typical for crypto originals and vary by casino and configuration, so check the published figure rather than assuming.
Dice
The float maps directly onto a number in a fixed range, and you bet on whether the roll lands above or below a target you set. Payout scales inversely with your win chance, with the edge taken off the top.
Coin flip
The simplest mapping, usually the parity of a value derived from the digest. A fair coin would pay 2x, so the published payout tells you the edge directly.
Crash
The hash produces a multiplier at which the round ends, drawn from a distribution weighted heavily toward low values. A small proportion of rounds are forced to an instant bust, and that proportion is the house edge.
Limbo
Mathematically the same as crash without the timing element. You choose a target multiplier and the hash determines whether the round reached it.
Mines
The digest seeds a shuffle that places mines on a grid. Each safe tile raises the multiplier by an amount derived from the remaining probability, which is why the curve steepens as you continue.
Plinko
Each row is a binary decision taken from successive bits of the digest, producing a binomial distribution across the buckets. Centre buckets are common and pay least, edges are rare and pay most.
Can a Casino Change the Seed After the Bet?
No, not without breaking the hash it published beforehand. The commitment is made before you play, and SHA-256 is one-way, so no different server seed will produce the same hash.
What an casino can do is generate many server seeds in advance and choose which one to commit to, which is why the client seed matters. Because you control an input it cannot predict, pre-selecting a favourable seed gains it nothing.
What Provably Fair Does Not Prove
It proves one narrow thing, which is that a specific result was not altered after your bet. Several risks sit entirely outside the scheme, and conflating them is the most common mistake players make here.
- It says nothing about the house edge. A verifiably fair game can still carry a 10% edge. Fair means unmanipulated, not favourable.
- It says nothing about whether you get paid. Winning a verifiable bet and withdrawing the balance are unrelated problems, which is why settlement carries more weight in our scoring.
- It covers originals, not third-party slots. Slots from external studios run on the provider’s RNG and are not part of the scheme, even on a casino that advertises provably fair prominently.
- It does not cover the bet you did not check. Verification is per-result. Most players verify nothing, which is the assumption the system runs on.
Provably Fair FAQs
What is provably fair gaming?
Provably fair is a system that lets you recompute a game result and confirm it was not changed after you bet. The casino commits to a hashed secret beforehand and reveals it afterwards so you can check.
How do I verify a provably fair result?
Rotate your seed pair so the casino reveals the server seed, hash it and compare against the commitment it published earlier. Then recompute the outcome using the casino’s documented formula.
Can provably fair games be rigged?
The individual result cannot be altered after your bet without breaking the published hash. The house edge is set separately in the payout, so a game can be both verifiable and expensive to play.
Why does my verification not match?
Almost always because the conversion step differs from the one you used. Casinos construct the HMAC message and consume digest bytes differently, so use their own verifier rather than a generic tool.
Are provably fair slots really fair?
Most slots are not provably fair at all. They come from third-party studios running their own RNG, and only a casino’s in-house originals are usually covered by the scheme.
What is a nonce in provably fair gaming?
The nonce is a counter that increases with each bet on the same seed pair. It lets one server seed generate a long run of distinct, independently checkable results.
Conclusion: What Verification Is Worth
Provably fair is a real guarantee within narrow limits. It proves a specific result was not tampered with, and it proves nothing about the edge you are playing against or whether a balance will actually be paid out.
Treat it as one input rather than a verdict. An casino running verifiable games that settles withdrawals slowly is still a slow casino, which is why settlement carries more weight in our scoring than game fairness does.
References
- NIST FIPS 180-4. SHA-256 specification
- RFC 2104. HMAC keyed-hashing
- GambleAware. independent support
18+ only. Gambling carries real risk of loss and the casinos covered here are offshore, which means limited recourse if something goes wrong. Free, confidential support is available at GambleAware and the SAMHSA national helpline.