Provably fair is a cryptographic commit-reveal system that lets you check, after the fact, that a casino computed each game result from inputs it locked in before you placed your bet. Because the site publishes a hash of its secret server seed up front, it cannot swap that seed — and therefore cannot change your outcome — once your wager is in. That is all it proves: the result was computed honestly, not that the odds were worth taking.
How does provably fair work?
Every provably fair bet is derived from three inputs, and no single party controls all of them:
- Server seed — a long random secret generated by the casino. Before you bet, the site shows you its SHA-256 hash. The hash is the commitment: the site can no longer change the seed without the hash mismatch exposing it.
- Client seed — a value tied to your account that you can usually edit yourself. Because the casino cannot know it in advance, it cannot pre-compute a server seed that beats you.
- Nonce — a counter that starts at 0 and increases by one with every bet, so the same seed pair never produces the same result twice.
After you finish playing and rotate your seed, the site reveals the raw server seed. You hash it, compare against the commitment shown before you played, and recompute every bet. We walk through each input in detail in Server Seed, Client Seed, Nonce — Explained Byte by Byte.
What does the math look like?
The most widely documented construction (Stake publishes its implementation openly, and most originals-style games use a variant of it) combines the three inputs with HMAC-SHA256 and converts the first bytes of the output into a number:
commitment = SHA-256(serverSeed) // shown BEFORE you bet
resultHex = HMAC-SHA256(serverSeed, clientSeed + ':' + nonce)
float = byte0/256 + byte1/256² + byte2/256³ + byte3/256⁴
outcome = game-specific mapping of float // e.g. dice: floor(float × 10001) / 100With an example seed pair, the first four HMAC bytes might be eb e1 61 ba, which sums to a float of 0.92140780 and a dice roll of 92.14. Skins sites use variants of the same idea — CSGORoll commits a hashed server seed, publishes verification code on its fairness page, and has released an iTechLabs certification of its implementation; its PvP games add a public EOS blockchain hash as a third seed component.
What does verification actually prove?
- The result was derived from the exact seed the casino committed to before your bet.
- Nothing was altered after your wager was placed — a swapped seed cannot reproduce the committed hash.
- Each bet consumed a fresh nonce, so the site cannot silently replay or skip results.
- The revealed seed genuinely matches the hash you were shown, closing the commit-reveal loop.
What doesn't provably fair prove?
| Provably fair proves | It does not prove |
|---|---|
| The result came from the committed seed | The paytable gives you reasonable odds |
| Nothing changed after your bet locked in | The site will actually pay your withdrawal |
| Each bet used a fresh, counted nonce | Items and skins are priced honestly |
| The revealed seed matches its hash | Slots or live-dealer games are fair — they run on provider RNG, outside the scheme entirely |
The first row on the right is the one that costs players real money. House edge lives in the paytable — the mapping from random number to payout — and a perfectly verifiable game can carry any edge the operator chooses. When you verify a losing bet, you have proven that you lost fairly. We unpack that in Provably Fair ≠ Good Odds.
Do slots and live games count as provably fair?
No. Provably fair only covers games the site computes itself from the seed inputs — dice, roulette, crash, mines, case openings and similar originals. Third-party slots and live-dealer tables run on the provider's own RNG, which you cannot verify from your seat. Sites that offer both, such as Gamdom with its provably fair originals alongside thousands of provider slots, are really two different trust models under one roof — treat them that way.
Common myths about provably fair
Can a provably fair casino still scam players?
Yes. Provably fair is necessary, not sufficient. A site can compute every roll honestly and still freeze withdrawals, misprice the skins it pays out in, or run a fairness page that never actually commits a hash. Verification covers the random number — everything else is ordinary due diligence, which is what our reviews are for.
Does rotating my seed or changing my client seed improve my luck?
No. Every future result is uniformly random regardless of which seeds produce it. Rotation matters for a different reason — it is the only moment past bets become verifiable, which we cover in Why (and When) to Rotate Your Server Seed.
Is provably fair the same as being licensed or audited?
No. Provably fair is self-implemented by the operator. A licence is a separate legal question, and third-party audits of the fairness implementation are rare — CSGORoll's iTechLabs certification is one of the few published examples in the skins niche.
How do I check a bet?
Follow our step-by-step guide in How to Verify a Provably Fair Roll, or paste your seeds into our upcoming provably fair verifier, which recomputes everything in your browser. Verification tells you the game was honest, not that it was a good idea: the average bet on an edge-carrying game loses money. Set a budget you can afford to lose before you set a client seed.