Provably Fair Games Explained: How They Work and How to Verify a Bet Yourself
Welcome bonus for new players + fast crypto payouts. Just helping a brother out.
18+/21+. Crypto only. Ad: we may earn a commission. Play responsibly. October 2026

"Provably fair" means you can check, with maths, that a casino didn't change the result of your bet after you placed it. Instead of trusting the casino, you get the ingredients used to generate each result and can recompute it yourself.
It's one of the genuinely useful innovations of crypto gambling, but it's also widely misunderstood. This page explains how it works, walks through a real example you can recompute, and spells out its limits. For crypto casinos in general, see our crypto casino Philippines guide.
18+/21+. Crypto only. Ad: we may earn a commission. Play responsibly. October 2026

The problem provably fair solves
In a normal online casino game, a random number generator on the casino's server decides the outcome. You trust that it's fair because a regulator or testing lab audited it. You can't check any individual spin yourself.
Provably fair systems let you check individual results. The casino commits to its secret before you bet, you add your own randomness, and afterwards the casino reveals its secret so you can confirm the result followed from those inputs and nothing else.
A short history
Provably fair systems emerged in the early Bitcoin era, when small dice sites had no licence or auditor and needed a way to earn players' trust. Publishing a hashed seed before bets, then revealing it afterwards, let anyone check the operator. The idea spread to crash, plinko and other "originals," and today most crypto casinos offer at least some provably fair games alongside traditional studio content.
The four ingredients
| Ingredient | Who controls it | What it does |
|---|---|---|
| Server seed | Casino | A long random secret string. Kept hidden until you rotate it. |
| Hashed server seed | Casino, shown to you upfront | A one-way fingerprint (usually SHA-256) of the server seed. Proves the casino has committed to a seed without revealing it. |
| Client seed | You (or your browser) | Your own random input, which you can usually change at any time. |
| Nonce | Counter | Increases by one with each bet (1, 2, 3...), so every bet with the same seeds gets a different result. |
How a hash commitment works
A cryptographic hash function like SHA-256 turns any input into a fixed-length fingerprint. Two properties matter:
- One-way: you can't work backwards from the hash to the seed.
- Collision-resistant: it's practically impossible to find a different seed with the same hash.
So when the casino shows you the hashed server seed before you bet, it's locked in. If it later revealed a different seed, the hash wouldn't match and you'd know.
The process, step by step
- The casino generates a server seed and shows you its hash.
- You set (or accept) a client seed.
- You bet. The game combines server seed + client seed + nonce, usually with HMAC-SHA256, to produce a long random-looking string.
- That string is converted into the game result: a dice number, a crash point, a card, a plinko path.
- The nonce goes up by one for your next bet.
- When you rotate seeds, the casino reveals the old server seed. You hash it to confirm it matches the commitment, then recompute every bet made with it.
Worked example you can recompute
Here's a real calculation using a common dice method. The seeds are examples, not from any live casino.
- Server seed (revealed after rotation):
a3f1c9e2b7d64e0f9a1b2c3d4e5f60718293a4b5c6d7e8f9011223344556677 - Hashed server seed (shown before betting):
a84c5894e5e7dd8ca18c9cf45aea72882913d9d202044c72d7455ca2fd6a69cf - Client seed:
lucky7pinoy - Nonce: 1
Step 1: Check the commitment. SHA-256 of the server seed text gives a84c5894...6a69cf, matching what was shown before betting. The casino didn't swap seeds.
Step 2: Generate the bet's hash. HMAC-SHA256 with the server seed as key and lucky7pinoy:1 as message gives:
81dd729ae8c013c28521c7e64a324165003c3ca333fe85c6eacb4d0fc1c6c641
Step 3: Turn it into a number. Take the first 8 hex characters, 81dd729a, which is 2,178,773,658 in decimal. Divide by 232 (4,294,967,296) to get 0.5073. Scale to 0 to 100: the roll is 50.73.
Step 4: Next bet. With nonce 2, the hash starts ecdd1f74, giving a roll of 92.52.
If your casino's verifier shows those same numbers for those inputs, the results were determined exactly as committed. Real casinos use their own documented formulas (some use more bytes, some reject values to avoid bias), so always follow the method in the casino's fairness page.
The same check in five lines of Python
For readers who code, this reproduces the worked example exactly:
import hmac, hashlib
server = "a3f1c9e2b7d64e0f9a1b2c3d4e5f60718293a4b5c6d7e8f9011223344556677"
print(hashlib.sha256(server.encode()).hexdigest()) # commitment
h = hmac.new(server.encode(), b"lucky7pinoy:1", hashlib.sha256).hexdigest()
print(round(int(h[:8], 16) / 2**32 * 100, 2)) # 50.73
Swap in your own revealed seed, client seed and nonce, and adapt the last line to your casino's documented formula.
Deriving the house edge from the formula
Because provably fair games publish their maths, you can work out the edge yourself. Take a dice game that rolls 0.00 to 99.99 and pays 2× if the roll is under 49.50. The chance of winning is 49.5%, and a win returns 2× the stake: 0.495 × 2 = 0.99, a 99% RTP and 1% edge. Change the payout to 1.96× and the RTP drops to 97%. Crash formulas work the same way: if the chance of reaching x is 0.99 ÷ x, the RTP is 99%. This is a real advantage over many studio games, where you rely on the published figure.
How different games use the hash
- Dice / limbo: converts hash bytes to a number in a range, as above.
- Crash: converts the hash into a multiplier using a formula that builds in the house edge, often including a small chance of an instant 1.00x crash. Many crash games use a pre-generated chain of hashes, so every round's result is committed long in advance.
- Plinko: uses successive bytes to decide left or right at each peg.
- Mines: uses the hash to shuffle mine positions on the grid before you click.
- Cards (blackjack, baccarat, hi-lo): uses the hash to shuffle a deck or draw cards in order.
- Roulette / wheel: maps a number to a pocket or segment.
Avoiding bias: why formulas look complicated
Turning a hash into a fair number is trickier than it looks. Simply taking a hash modulo 100, for example, would make some numbers very slightly more likely than others. Good implementations either use enough bits that any bias is negligible, or discard values that fall into the uneven remainder and move on to the next bytes of the hash. When you read a casino's fairness page and see rules like "if the value is above X, use the next four bytes," that's what it's doing. It's a sign of a careful implementation, not a trick.
Why your client seed matters
If the casino chose both seeds, it could in theory search for a server seed that produces bad results for the sequence of bets it expects. Your client seed, chosen after the server seed is committed, prevents that: the casino can't know your seed in advance. For maximum assurance, change your client seed to something random of your own before starting a session.
How to verify bets in practice
- Before playing, open the game's fairness or "provably fair" settings. Note the hashed server seed.
- Set your own client seed.
- Play. Your bet history shows the nonce for each bet.
- Rotate (change) the server seed. The casino reveals the old unhashed seed.
- Hash the revealed seed with any SHA-256 tool and confirm it matches the hash you noted.
- Use the casino's verifier, or an independent one, to recompute results for each nonce. They should match your bet history exactly.
Independent verifiers and open-source scripts exist for popular games. Using one not hosted by the casino adds confidence, since you're not relying on the casino's own tool.
What provably fair proves
- The result of each bet was fixed by inputs committed before you bet.
- The casino didn't change outcomes based on your bet size or choices.
- Results follow the published formula.
18+/21+. Crypto only. Ad: we may earn a commission. Play responsibly. October 2026
What provably fair does not prove
- That the game has a low house edge. The formula can include any edge the casino chooses. Check the RTP separately.
- That the casino will pay you. Withdrawals, limits and account closures are a separate trust issue.
- That the published formula is what's actually used, unless you or someone verifies results against it.
- That third-party slots and live games are provably fair. Most studio slots and live dealer tables use certified RNGs or physical equipment instead, audited by labs, not provably fair hashes.
- That you can predict outcomes. Without the server seed, results are unpredictable. "Predictor" tools are scams.
Provably fair vs certified RNG
| Provably fair | Certified RNG | |
|---|---|---|
| Who verifies | You, per bet | Testing lab, periodically |
| Typical games | Crypto originals: dice, crash, plinko, mines | Studio slots, RNG table games |
| Transparency | Every result checkable | Trust in auditor and regulator |
| Proves RTP? | Not directly; you can derive it from the formula | Lab certifies RTP |
Neither is automatically better; they solve trust in different ways. A licensed casino with certified studio games plus provably fair originals gives you both.
Hash chains in crash games
Multiplayer crash games have a twist: everyone shares one result per round, so individual client seeds can't be used. A common solution is a hash chain. The operator generates a final seed, hashes it, hashes that hash, and so on, millions of times, then publishes the last hash in the chain before the game starts. Rounds are played in reverse order: each round's seed is the input whose hash equals the previous round's seed. Anyone can check that each revealed round seed hashes to the one before it, proving the entire sequence was fixed in advance. Many operators also mix in a public value chosen after the chain was created, such as a future blockchain block hash, so they couldn't have picked a favourable chain.
What to do if a verification fails
- Double-check you used the exact format: seed text, client seed, colon placement, nonce number, and the right formula for that game.
- Try the casino's own verifier and an independent one.
- If results still don't match, take screenshots of the commitment, revealed seed, bet IDs and your calculations.
- Contact support with the evidence and ask for an explanation in writing.
- If unresolved, escalate to the casino's licensing authority's complaint process and stop depositing.
Genuine mismatches are rare at established operators; most failed checks are formatting mistakes. But a casino that can't explain a mismatch has lost the one thing provably fair is meant to deliver.
Red flags
- A "provably fair" badge with no verifier, no seeds, or no documented formula.
- No way to set your own client seed.
- Server seed hash not shown before betting.
- Revealed seeds that don't hash to the commitment.
- Results in your history that don't match recomputation.
- Telegram or TikTok offers to "crack" seeds or predict results.
Common myths
- "Provably fair means better odds." No, it means verifiable odds.
- "If I see enough results, I can find the pattern." HMAC-SHA256 output is effectively unpredictable without the key.
- "Changing my client seed after losses changes my luck." It changes the sequence, not the odds.
- "All crypto casino games are provably fair." Usually only the in-house "originals" are.
Is it worth verifying every bet?
Not necessary for most players. A practical approach: verify a sample of bets the first time you use a game, and again after an unusually bad run if you're suspicious. If those checks pass, the system is working as designed. Your time is better spent checking RTP, limits and withdrawal reliability.
A quick DIY check with free tools
You don't need to code. Any online SHA-256 generator can confirm the server seed matches its hash: paste the revealed seed, compare the output to the hash you noted. For the bet result, many HMAC-SHA256 calculators let you enter a key (the server seed) and a message (client seed, colon, nonce, in the format your casino documents). Compare the first characters of the output with the casino's verifier. If you're comfortable with a spreadsheet or a few lines of Python, you can automate checks for a whole session.
Provably fair and Filipino crypto players
For players funding accounts with USDT or other crypto from GCash, Coins.ph or Maya, provably fair games are a common entry point because they're built into crypto casinos. Verification protects you against rigged results, not against the other risks of offshore play: no local regulator, possible account restrictions, and crypto transfer mistakes. Choose operators with a track record of paying out.
Cloudbet and provably fair
Cloudbet offers in-house instant games alongside studio slots and live tables; check each game's info or fairness page for whether it's provably fair and how to verify. Cloudbet is licensed in Curaçao, not by PAGCOR, so there's no local regulator for disputes.
Glossary
- Hash: one-way fingerprint of data.
- SHA-256: the hash function most provably fair systems use.
- HMAC: a keyed hash that combines a secret key with a message.
- Server seed / client seed: the casino's and player's random inputs.
- Nonce: bet counter.
- Seed rotation: replacing the server seed, which reveals the old one.
Taglish recap
Ang provably fair ay paraan para ma-check mo mismo na hindi binago ng casino ang resulta matapos kang tumaya. Ipinapakita muna ang hash ng server seed, ikaw ang pumipili ng client seed, at pagkatapos ay ibinubunyag ang server seed para ma-recompute mo ang bawat taya. Pero hindi nito pinapababa ang house edge, hindi nito sinisiguradong magbabayad ang casino, at scam ang lahat ng "predictor."
Responsible play
Verifiable doesn't mean winnable; instant games are fast and the edge adds up. Set limits before you play. Only adults 21 and over may gamble in the Philippines, and PAGCOR bars students and government employees.
Mga Madalas Itanong (FAQ)
Ano ang provably fair?
Sistema na nagbibigay-daan sa iyo na i-verify gamit ang math na hindi binago ang resulta ng taya mo matapos kang tumaya.
Ano ang server seed at client seed?
Ang server seed ay lihim ng casino na naka-commit gamit ang hash; ang client seed ay sarili mong random input.
Mas maganda ba ang odds sa provably fair games?
Hindi nangangahulugan. Napapatunayan lang na patas ang proseso; tingnan pa rin ang RTP.
Pwede bang i-predict ang resulta?
Hindi nang walang server seed. Scam ang mga predictor tool.
PAGCOR-licensed ba ang Cloudbet?
Hindi, Curaçao ang lisensya ng Cloudbet.
18+/21+. Crypto only. Ad: we may earn a commission. Play responsibly. October 2026
18+/21+. Crypto only. Ad: we may earn a commission. Play responsibly. October 2026
If gambling stops being fun, call PAGCOR's free 24/7 National Problem Gambling Helpline at (02) 8248-9568 (+63 2 8248 9568), or visit npgh.ph. Source: PAGCOR Responsible Gaming.