Provably fair explained: what it proves, and what it doesn't

What is provably fair? A verification method that lets you confirm a round's outcome was locked in before you bet, not adjusted afterwards. It's a real, checkable guarantee — and it guarantees far less than most explanations imply.

On this page (8 sections)

Provably fair is a verification method that lets a player confirm, after a round has finished, that its outcome was determined before the bet was placed and was not altered afterwards — using cryptographic commitments the player can independently check.

The name invites more than it delivers, and that's worth saying upfront rather than at the end. Provably fair is a genuine, checkable guarantee about one specific thing: no tampering happened between your bet and the result. It is not a guarantee about the odds, and it is not a guarantee that you'll win. Both halves of that sentence matter equally.

What is provably fair, in one paragraph

Before provably fair systems existed, a player betting on a random-number game had to simply trust that the operator generated the result honestly and didn't quietly adjust it after seeing the bet. Provably fair replaces that trust with mathematics: the operator commits to a result in advance, in a form the player can't read yet, and later reveals it in a way the player can check against the commitment. If the two match, nothing was changed in between.

Diagram showing the provably fair commit-then-reveal flow from hashed server seed to verified outcome
Commit before the bet, reveal after it, then re-hash and compare. Three steps, and the third one is verification.

Commit, then reveal: the core idea

Commit/reveal is a two-step process: a value is locked in and its hash published before an event, then the value itself is disclosed afterwards so anyone can confirm it matches the hash they saw beforehand.

A hash is a one-way transformation: easy to calculate in one direction, effectively impossible to reverse. That property is what makes commit/reveal work. Before your round, the operator publishes the hash of a secret value — not the value itself, which would let you predict the outcome. After the round, the operator reveals the actual value. You then hash it yourself and check it matches what was published before you bet.

Why this stops the outcome being changed after the fact

If the operator tried to swap in a different result after seeing your bet, the hash of that new value would no longer match the one published beforehand. The mismatch would be visible and checkable by anyone — which is precisely what the reveal step lets you confirm.

Server seed, client seed and nonce

Three inputs combine to produce a provably fair result, and each one exists to close a different loophole.

InputWho supplies itWhat it prevents
Server seedThe operator, generated before the round and committed to via its hashThe operator changing the outcome after seeing your bet — the hash makes any swap detectable
Client seedThe player, either entered manually or generated automatically in the browserThe operator alone controlling the entire outcome, since part of the input comes from outside their system
NonceAn automatically incrementing counter, one per betThe same seed pair silently repeating the same outcome across multiple rounds
The three inputs a provably fair calculation combines, and the specific problem each one solves.

Rotating your client seed periodically is worth doing as a habit — it doesn't change the fairness of the maths, but it does mean you're not relying on the same input for an extended stretch of play, which makes any single verification more meaningful as a spot-check.

What HMAC-SHA256 is doing, without the maths degree

HMAC-SHA256 is a cryptographic function that combines a secret key with a message to produce a fixed-length output that can't be predicted or reverse-engineered, but can be recalculated exactly by anyone who has the same inputs.

You don't need to run this by hand to trust the concept, but the shape of it is simple enough to describe plainly. Feed the server seed, client seed and nonce into the function, and it produces a result that looks like random noise unless you already know all three inputs. Change any single character in any input and the output changes completely and unpredictably — there's no way to nudge the output toward a chosen result without already knowing the hidden seed. That property is what makes the commitment trustworthy: the operator can't quietly engineer a favourable result even if they wanted to, because they committed to the hash before your bet existed.

How to actually verify a round yourself

Four steps, and most players only ever do the first one — checking the commitment before betting

  1. Note the commitment hash shown before you bet, and the client seed and nonce in use for that round.

    Where people trip up: Do this before playing, not after — the commitment only means something if you saw it in advance of the result.

  2. After the round, get the revealed server seed from the platform's verification page or history.

    Where people trip up: If a revealed seed is shown well after the round with no record of the original commitment hash, you have nothing to compare it against.

  3. Hash the revealed server seed yourself, or via a verifier tool, and confirm it matches the commitment hash you noted beforehand.

    Where people trip up: A mismatch here means the seed shown to you now is not the one that was actually committed to before your bet — treat that as a serious red flag, not a technicality.

  4. Run the server seed, client seed and nonce through the documented calculation and confirm it reproduces the outcome you were shown.

    Where people trip up: This step confirms the result itself, not just the seed's authenticity. Both checks matter.

Doing this by hand once is worth the ten minutes, purely to understand the shape of it. After that, our provably fair verifier runs both checks for you against a real round's inputs.

What provably fair does NOT prove

The three things people wrongly assume it proves

It does not prove a low house edge. A provably fair game can still carry a high edge — verification confirms the round wasn't tampered with, not that the underlying odds are generous. See how edge is set independently of verification.

It does not prove you will win. Variance still applies in full; a verified-fair round can still lose, and most of them will, exactly in line with the game's edge. It does not audit the software around the seeds. Verification confirms the seed-and-hash relationship; it says nothing about the wider platform's code, account handling or payout processes, which are separate questions entirely.

This gap between what provably fair sounds like it guarantees and what it actually guarantees is the most common source of confusion in the category. It is a real, useful check on one specific failure mode — after-the-fact tampering — and it is not a broader seal of approval on a game's value to you.

Why this still matters even with those limits

A narrower guarantee is still a real one. Before commit/reveal systems became standard, a player had no way to check whether an operator had adjusted a result after seeing a large bet. Provably fair closes that specific gap completely, for anyone willing to run the check. Combined with an honest understanding of house edge — covered in our house edge guide — it gives you the full, unglamorous picture: the round wasn't rigged after your bet, and the game still has whatever edge it has.

Practically, most players use verification as an occasional spot-check rather than a per-round ritual, which is a reasonable approach — the value is in knowing the check exists and is genuine, not in running it every single time. See our Rainbet Mines and crash simulator pages for how the same seed mechanics apply to specific game types.

Verify a real round in about two minutes

Our provably fair verifier runs both checks against real inputs — no account needed.

Code BOOST20

Open Rainbet

18+ only. Gambling involves risk — set your limits first.

Licence, geo-restrictions and playing safely

Licensing. Access is blocked in a number of countries and US states, and the list is maintained by the operator rather than published as a stable document. The current restricted list and licence details live on the operator’s own terms page — read them before you register.

Your side of it. Crypto casinos settle fast, which is exactly what makes them easy to overplay. Before your first deposit at these operators, set a deposit cap and a session timer in the account settings — not in your head.

  • Deposit limits and self-exclusion tools live in account settings, not support chat
  • A losing session is not a signal to raise the stake — it is a signal to stop
  • Bonus turnover targets are not a reason to keep playing past your limit
  • Free, confidential help: BeGambleAware and Gambling Therapy

Read our full responsible gambling guide →

Frequently asked questions

What does provably fair actually mean?

Provably fair is a verification system that lets a player confirm, after a round, that its outcome was fixed before the bet was placed and not altered afterwards. It proves the round wasn't tampered with in real time — it does not prove anything about the odds themselves.

What is a server seed?

A server seed is a random value the operator generates before a round and commits to by publishing its hash upfront. The actual seed stays hidden until after the round, then gets revealed so the player can check it against the hash they saw beforehand.

What is a client seed?

A client seed is a value the player supplies or that gets generated in their browser, combined with the server seed to help determine the round's outcome. Letting the player influence part of the input is what stops the operator alone from controlling the entire result.

What is a nonce in provably fair systems?

A nonce is a counter that increases by one with every bet, ensuring the same server seed and client seed pair still produces a different, unique result for each round rather than repeating outcomes.

What does HMAC-SHA256 do in this process, in plain terms?

It's a one-way mathematical function that combines the server seed, client seed and nonce into a result in a way that can't be reverse-engineered or predicted in advance, but can be recalculated afterwards by anyone who has all three inputs — which is exactly what verification does.

How do I actually verify a provably fair round myself?

Take the revealed server seed, your client seed and the round's nonce, run them through the documented hashing method, and compare the result to the outcome you were shown. Then hash the revealed server seed on its own and confirm it matches the commitment hash published before you bet. Our provably fair verifier automates both steps.

Does provably fair prove a game has a low house edge?

No, and this is the most common misunderstanding. Provably fair proves a round's outcome wasn't altered after the bet was placed. It says nothing about how favourable the game's built-in edge is, and it does not predict or guarantee that you will win.

Spotted a term that changed? Email [email protected] and we will re-check it. Offers and terms are set by the operator and can change without notice.