Six Signs a "Provably Fair" Game Isn't

"Provably fair" only means something if you can actually verify it. Six checks that take seconds — and what each one tells you.

Magnifying glass inspecting hash-code dice next to a provably-fair checklist

"Provably fair" is one of the few promises in online gambling that a player can check for himself. That is the entire point of it. The casino commits to a result before you bet, reveals the ingredients afterwards, and you confirm that the two match. Here is how that mechanism works, step by step.

That promise depends on a handful of technical details being in place. When any one of them is missing, the label stays — the proof doesn't. And because almost nobody checks, a game can carry the words "provably fair" for years without anyone noticing that there is nothing to verify.

Here are six things to look for. Each takes seconds. None requires an account, a deposit, or specialist knowledge.

1. There is no commitment before the bet

Before you place a bet, the operator should show you a hashed server seed. That hash is the promise: it proves the result was fixed before you played, without revealing what it is.

What to check: Open the game and look for a hash — usually under "Fairness", "Provably Fair", or a seed icon — before you bet.

Why it matters: Everything else in the system rests on this. If no hash is shown in advance, nothing was locked in beforehand, and no later reveal can prove otherwise. Verification of an uncommitted result is not verification.

2. The nonce never moves

The nonce is a counter. Each bet in a series increments it: 0, 1, 2, 3. Together with the server seed and your client seed, it produces that specific round's result.

What to check: Place several bets and watch the nonce in the fairness panel.

Why it matters: A nonce frozen at 0 across many bets means the results aren't being drawn from a single committed sequence. Each round is being generated some other way — which puts you back at point 1.

3. A fresh server seed for every single bet

One committed server seed should cover an entire series of bets, until you or the operator rotate it deliberately.

What to check: Compare the server seed hash across consecutive bets. Does it change every round?

Why it matters: If the operator picks a new seed for every bet, the commitment covers exactly one outcome and is renewed constantly. That is technically possible to do honestly — but it removes the sequence that makes a chain auditable, and it means each round's fairness rests entirely on a single moment you cannot observe.

4. The seed chain leads nowhere

In a properly built system, revealed server seeds form a chain: hashing the seed you receive should reproduce the hash you were shown earlier. Follow it back far enough and every past round ties into one pre-generated sequence. (Not every casino builds it this way — hash chains versus per-user seeds explains why some are easier to audit than others.)

What to check: Take a revealed server seed, hash it (SHA-256), and compare it to the hash displayed before that bet. Then do it for the previous round.

Why it matters: Without a published chain, seeds "connect to nothing". Individual values can be shown to you without any of them proving that the sequence existed in advance.

5. You cannot change your client seed

Your client seed is the half of the input the operator does not control. Setting it yourself is what stops the operator from knowing the full recipe before you bet.

What to check: Look for an editable client seed field. Can you type your own value and save it?

Why it matters: A fixed client seed — even one that looks impressive, like a Bitcoin block hash — removes you from the process. If the operator knows both halves of the input in advance, the commitment protects nobody but the operator.

6. The public bet page shows nothing

Most provably fair operators publish a shareable page per bet: result, seeds, nonce, the hash shown beforehand.

What to check: Open a public bet link. Does it load with the actual values?

Why it matters: That page is the mechanism. If it loads empty — no result, no seeds, no fairness details — there is no verification to perform, regardless of what the marketing says.

The check these six don't catch

Run all six and a game can still pass while the outcomes are skewed. Here is why.

Provably fair proves that a server seed was not changed after the fact. It says nothing about when that seed was chosen. If an operator receives your client seed and, before returning a result, tests thousands of candidate server seeds to find one that produces a loss for you — every individual round will verify perfectly against its hash. The manipulation lives in the distribution across many rounds, not in any single one.

That is why hash checking alone is not an audit, and why provably fair does not mean fair. Seed pre-selection leaves a statistical fingerprint: a measurable deviation across thousands of results that no per-round check will ever surface. Finding it takes test batteries — NIST SP 800-22, PractRand — applied to large samples of real outcomes.

That is what we do. Our audits publish raw data, collection code and analysis code, so anyone can reproduce every step: our methodology · audit reports.

What to do if a game fails these checks

A failed check is not proof of manipulation. It is proof that the fairness claim cannot be verified — which, for a system whose only selling point is verifiability, is enough reason to walk away before depositing.

Run the six checks. If a game passes, you can then verify your own play history: our verifier takes up to 100,000 rounds and runs 19 statistical tests on them. No account needed. One rule of thumb: how many rounds have you actually played? From around 5,000 up there is enough history for the tests to say something — below that, variance drowns the signal.

These checks are generic and apply to any provably fair implementation. At the time of writing, several of them are being discussed publicly in an unresolved dispute involving a private VIP game, raised by investigator @xxxmourn and reviewed by ProvablyFair.org, who have asked the operator to supply the full round data. That case is open and the operator has not yet responded publicly; nothing here should be read as a finding about it.