A real provably fair system gives you everything needed to reproduce a result yourself; a red flag is anything that stops you doing that or quietly narrows what's being proved. The checklist below covers fifteen of them, from missing commitments to undocumented formulas. Score a game before you deposit, not after.
Each item explains what to look for and why it matters. A scoring table at the end turns the results into a clear next step. For background on what a valid proof covers, read what provably fair means and what it doesn't prove.
Inputs and commitment (items 1–5)
1. No server seed hash shown before play. Without a commitment published before your bet, there's nothing to check the revealed seed against. This alone means the claim can't be verified.
2. The revealed seed doesn't hash to the commitment. Hash it yourself. With our example seed, sha256("9f2c4e1a7b3d8e6f0a5c2b9d4e7f1a3c") must equal a5e39de9361cb47dd6ccdf84bb0cbeff1e402575f217b91bb2e560cfe1ac582d exactly. Rule out stray spaces first; if it still fails, this is the most serious flag on the list.
3. You can't set your own client seed. If the site always picks the client seed, you're relying on it not having planned around a value it chose. Being able to set it yourself is what closes that gap.
4. Server seeds are never revealed, or only on request. If you can't get the old seed after rotating, you can't verify anything. "Contact support to verify" is not a working system.
5. Nonces skip or repeat in your history. Consecutive bets on one seed pair should show consecutive nonces. A gap is a result you weren't shown; a repeat is a result reused.
Method and documentation (items 6–10)
6. No documented formula. You need the exact steps: hash function, message format, how many bytes are read and how they become an outcome. "We use SHA-256" is not a formula. Compare with the level of detail in our step-by-step verification guide.
7. The only verifier is the site's own. A checker run by the operator is checking itself. Reproduce at least one result with your own code or a separate tool such as our browser verifier.
8. Your reproduction doesn't match their documented method. If you follow their documentation precisely and get a different result, either the documentation or the system is wrong. Ask, and don't keep playing while you wait.
9. The method changed without notice. Formulas can be updated legitimately, but changes should be dated and announced. Keep a copy of the documentation you checked.
10. The outcome table isn't published or doesn't add up. The cryptography proves a roll; a separate table says what each roll wins. If the ranges are hidden, overlap or don't add up to 100%, the proof doesn't cover what you're paid.
Scope and wording (items 11–15)
11. Only some games are covered. "Provably fair" in the site banner may apply to one game. Check each game you play.
12. Shared-round games with no outside input. For crash-style hash chains, check whether a value nobody controlled (such as a future public block hash) is mixed in. Without it, the operator could have chosen the chain. See hash chains explained.
13. "Provably fair" used to imply good odds. Watch for wording like "provably fair, so you have a real chance to win". The proof says nothing about the house edge.
14. Claims of certification with nothing to check. A badge or "certified fair" label with no report, no date and no scope tells you nothing. A verifiable method is worth more than any logo.
15. Pressure language around fairness. "Fair means you're due a win", "verified hot streak", or prompts to verify bets as a reason to keep playing. Verification is a check, not a strategy.
The scoring table
Mark each item Pass, Fail or Can't tell. Treat "Can't tell" as a fail: if you can't confirm it, you can't rely on it.
| # | Check | Severity | Pass / Fail |
|---|---|---|---|
| 1 | Commitment hash shown before play | Critical | |
| 2 | Revealed seed hashes to commitment | Critical | |
| 3 | You can set your own client seed | High | |
| 4 | Old server seeds revealed on rotation | Critical | |
| 5 | Nonces consecutive, no repeats | High | |
| 6 | Full formula documented | Critical | |
| 7 | Result reproduced outside the site | High | |
| 8 | Your reproduction matches | Critical | |
| 9 | Method changes dated and announced | Medium | |
| 10 | Outcome table published and sums to 100% | High | |
| 11 | Every game you play is covered | Medium | |
| 12 | Shared-round games mix in outside input | Medium | |
| 13 | No "fair = good odds" wording | Medium | |
| 14 | No unverifiable certification badges | Medium | |
| 15 | No pressure language around fairness | Medium |
What the results mean:
| Result | What it means | Suggested action |
|---|---|---|
| Any Critical fails | The claim can't be verified as stated | Don't deposit. Treat "provably fair" there as marketing. |
| 0 Critical, 1+ High fails | Partly checkable; real gaps remain | Ask the site to fix the gaps before you go further. |
| Only Medium fails | Checkable, with wording or scope issues | Verify each game you use; ignore the marketing claims. |
| All pass | The fairness claim is checkable | Still check odds, licensing and terms separately, and set a budget. |
A worked example (fictional)
A fictional game, "Example Dice", shows a server seed hash before play and lets you set a client seed, so items 1 and 3 pass. After rotating, the revealed seed hashes correctly, which covers item 2. Its documentation says "HMAC-SHA256 of client seed and nonce" but doesn't say the separator or how the hash becomes a roll, so item 6 fails. Without a full formula you can't reproduce results, and item 8 becomes "Can't tell". That's two Critical fails. Result: the commitment is real, but the claim can't be checked end to end, so the advice is not to deposit until the formula is published.
What a clean score doesn't tell you
Passing all fifteen means the fairness claim holds up. It doesn't tell you the house edge, whether payouts arrive, whether the site is legal where you live, or whether you can afford to play. Gambling is a cost, not an income. If you're finding it hard to stop, see our responsible gambling page for free support.
FAQ
Is a "provably fair" badge on its own a good sign?
No. A badge is a claim, not a proof. What matters is whether you can get the commitment, the revealed seed, your client seed, the nonce and a documented formula, and reproduce a result yourself.
What is the single most serious red flag?
A revealed server seed that doesn't hash to the commitment you saved. That means the seed you've been given is not the one that was locked in, and none of the results can be trusted.
A site's verifier says my bet is valid. Is that enough?
Not on its own. A verifier hosted by the same site is checking itself. Reproduce at least one result with your own code or a separate tool using the documented method.
If a site passes all 15 checks, is it safe?
It means the fairness claim is checkable. It says nothing about licensing, payouts, odds or whether gambling there is a good idea. Those need separate checks, and gambling always carries the risk of loss.