How to Verify Provably Fair Games
A complete step-by-step guide to cryptographically verifying that your casino games are fair
1. What is Provably Fair?
Provably fair is a cryptographic verification system that allows players to independently verify that game outcomes were determined fairly and weren't manipulated by the casino. Unlike traditional RNG (Random Number Generation) systems that require trusting a third party, provably fair gaming lets you mathematically prove fairness.
The Core Principle
The outcome of every game is determined by combining a server seed (from the casino) and a client seed (from you) using cryptographic hashing. Since the server seed is hashed before you bet, the casino cannot change it after seeing your input.
2. Key Components
Server Seed
The server seed is generated by the casino before each betting session or game. Before you place any bets, the casino shows you a hash of the server seed (not the seed itself). This hash proves the seed was chosen in advance.
Client Seed
The client seed is your contribution to the randomness. Most casinos let you:
- Accept an automatically generated seed
- Enter your own custom seed
- Change your seed at any time between bets
Nonce
The nonce is a counter that increments with each bet. This ensures that even with the same server and client seeds, each bet produces a different result.
SHA-256 Hash
SHA-256 is the cryptographic algorithm used to generate outcomes. It's the same algorithm that secures the Bitcoin blockchain, making it mathematically impossible to reverse-engineer or predict.
3. Step-by-Step Verification
Before Betting: Note the Hashed Server Seed
Copy the server seed hash shown before your session. This proves the casino committed to a seed in advance.
After Betting: Request the Unhashed Server Seed
Once you're done betting (or want to verify), click "Reveal" or generate a new seed. The casino will show the original unhashed seed.
Verify the Hash Matches
Hash the revealed server seed with SHA-256. If the result matches the hash from Step 1, the seed wasn't changed.
Recalculate the Game Result
Combine server seed + client seed + nonce using the game's algorithm. The result should match what you experienced.
4. Verification Tools
You can verify provably fair results using:
SHA-256 Hash Verification
// Using Node.js
const crypto = require('crypto');
const hash = crypto.createHash('sha256')
.update(serverSeed)
.digest('hex');
// Using online tools
Visit: sha256.online or any SHA-256 calculator
Many casinos also provide built-in verification tools that do all the math for you.
5. Game-Specific Verification
Crash Games
Crash games typically use a hash chain. The crash point is calculated from the hash, and each round's hash is derived from the previous round. This creates a verifiable chain that proves all crash points were predetermined.
Dice Games
Dice results are calculated by taking the first N characters of the combined hash and converting to a number between 0-100 (or 0-9999 for higher precision).
Plinko
Each peg decision (left or right) is determined by sequential bytes of the hash. This creates the ball's path through the pyramid.
6. Common Mistakes to Avoid
Verification Pitfalls
- Not saving the hashed seed before betting (can't prove it wasn't changed)
- Forgetting to include the nonce in calculations
- Using the wrong format (some use HMAC-SHA256, not plain SHA-256)
- Confusing server seed hash with client seed
Conclusion
Provably fair gaming represents a fundamental shift in casino transparency. By understanding and utilizing these verification tools, you can play with confidence knowing that outcomes are mathematically fair and verifiable. While you don't need to verify every bet, the ability to do so ensures casinos remain honest.