· alex-reichert · Education · 9 min read
Provably Fair vs RNG Casinos: How the Algorithms Actually Work
Technical comparison of provably fair cryptographic verification versus traditional RNG certification. Understand the math behind both systems and what each actually guarantees.

Updated February 2026. The terms “provably fair” and “RNG certified” get thrown around in crypto casino marketing, but few players understand what these systems actually do — or more importantly, what they don’t do. This technical guide explains both verification approaches, the cryptographic mechanisms involved, and the honest limitations of each.
Understanding these algorithms helps you make informed decisions about what “fair” actually means in online gambling.
What Is Provably Fair? The Cryptographic Commitment Explained
Provably fair is a verification protocol that uses cryptographic commitments to prove a game outcome was determined before you placed your bet. The core mechanism is a commitment scheme — the same cryptographic primitive used in blockchain consensus and secure voting protocols.
Here’s the fundamental problem provably fair solves:
The manipulation risk: Without verification, a casino could see your bet and then generate an outcome that causes you to lose. You bet on red, the casino generates black. You’d never know.
The commitment solution: The casino commits to an outcome before you bet by publishing a hash. After the round, they reveal the original value. If the hash matches, the outcome wasn’t manipulated after seeing your bet.
The cryptographic commitment has two properties:
- Binding: Once committed, the casino cannot change the value (finding a different input that produces the same hash is computationally infeasible)
- Hiding: The hash reveals nothing about the actual value until it’s revealed
This is not casino-specific technology. The same commitment scheme principles secure everything from password storage to cryptocurrency transactions. SHA-256, the hash function most provably fair systems use, processes over $1 trillion in Bitcoin transactions daily.
Server Seed + Client Seed + Nonce: The Three Components
Most provably fair implementations use three inputs to generate outcomes:
Server Seed
The casino generates a random string, typically 64 hexadecimal characters (256 bits of entropy):
Server Seed: a7f3b4c8d9e1f0a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6Before any betting begins, the casino publishes a SHA-256 hash of this seed:
Server Seed Hash: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824You cannot derive the server seed from this hash (that would require breaking SHA-256), but you can later verify the seed matches the hash.
Client Seed
You provide (or accept a default) client seed that influences the outcome:
Client Seed: myRandomString123This is your contribution to the randomness. If you suspect the casino is predicting your client seeds, you can change it to any value. The casino cannot know your client seed in advance if you change it before betting.
Nonce
The nonce (number used once) is a counter that increments with each bet:
Nonce: 1, 2, 3, 4, 5...The nonce allows a single server seed to generate millions of unique outcomes. Without it, you’d need a new server seed (and new commitment hash) for every single bet.
How They Combine
The outcome calculation typically uses HMAC-SHA256:
result = HMAC-SHA256(server_seed, client_seed + ":" + nonce)HMAC (Hash-based Message Authentication Code) combines the server seed as a key with the client seed and nonce as the message. The output is a 256-bit value that can be converted to any game outcome.
How to Verify a Provably Fair Result: Step-by-Step
Verification requires access to all three components plus the algorithm specification. Here’s a complete example for a dice game:
Step 1: Record the Commitment
Before betting, note the server seed hash displayed:
Committed Hash: 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069Step 2: Place Your Bet
You bet on the dice rolling under 50. The result is 72.34 — you lose.
Step 3: Reveal the Server Seed
After the round (or when you request a new server seed), the casino reveals:
Server Seed: 5eb63bbbe01eeed093cb22bb8f5acdc3Step 4: Verify the Hash Matches
Calculate SHA-256 of the revealed server seed:
SHA256("5eb63bbbe01eeed093cb22bb8f5acdc3") = 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069This matches the committed hash. The casino didn’t change the server seed after seeing your bet.
Step 5: Verify the Outcome Calculation
Using the algorithm specification (HMAC-SHA256 → first 8 hex chars → decimal → modulo):
Input: HMAC-SHA256("5eb63bbbe01eeed093cb22bb8f5acdc3", "player123:42")
Output: b8e4f3a2c1d0e9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4
First 8 hex: b8e4f3a2
Decimal: 3,101,033,378
Roll calculation: (3101033378 % 10000) / 100 = 72.34The calculated result (72.34) matches what the casino displayed. The outcome was legitimate.
SHA-256 Chain Verification: What You’re Actually Checking
Some games, particularly crash games, use a chain of hashes rather than individual server seeds. This provides an additional guarantee: the casino committed to the entire sequence of future outcomes in advance.
How Hash Chains Work
The casino generates a final hash and publishes it:
Game #10,000,000 hash: (published publicly)Each previous game’s hash is the SHA-256 of the next game’s hash:
Game #9,999,999 hash = SHA-256(Game #10,000,000 hash)
Game #9,999,998 hash = SHA-256(Game #9,999,999 hash)
...continuing back to Game #1What This Guarantees
When the casino reveals a game’s hash, you can verify:
- This game’s hash produces the next game’s hash when hashed
- The chain is unbroken from the published final hash
If the casino wanted to manipulate game #5,000,000, they’d need to find a collision — a different input that produces the same SHA-256 output. No such collision has ever been found for SHA-256. The entire Bitcoin network’s security depends on this computational impossibility.
Chain Verification Tools
You can verify a crash game chain yourself:
const crypto = require('crypto');
function verifyChain(gameHash, nextGameHash) {
const calculated = crypto.createHash('sha256')
.update(gameHash)
.digest('hex');
return calculated === nextGameHash;
}
// Verify game #5,000,000 links to #5,000,001
verifyChain(
"a1b2c3d4e5f6...", // Game #5,000,000 hash
"f6e5d4c3b2a1..." // Game #5,000,001 hash (already verified)
);Traditional RNG: How Casino RNG Certification Works Instead
Traditional online casinos use a fundamentally different approach: third-party auditing of Random Number Generator systems.
The RNG Certification Process
Implementation: The casino implements an RNG algorithm (commonly Mersenne Twister, Fortuna, or hardware-based)
Initial Audit: A testing laboratory (eCOGRA, GLI, iTech Labs, BMM Testlabs) examines:
- Source code of the RNG implementation
- Statistical distribution of outputs
- Seed generation and entropy sources
- Integration with game logic
Statistical Testing: Auditors run the RNG through test suites:
- NIST Statistical Test Suite (15 tests)
- Diehard tests
- Chi-squared distribution tests
- Runs tests for sequential correlation
Certification: If tests pass, the auditor issues a certificate stating the RNG produces statistically random results
Ongoing Audits: Periodic re-certification (monthly, quarterly, or annually depending on jurisdiction)
What RNG Certification Actually Tests
RNG certification verifies:
- The algorithm produces outputs that appear statistically random
- The implementation matches the audited source code
- The seeding mechanism has adequate entropy
RNG certification does NOT verify:
- Every individual game outcome
- Real-time production behavior (only audited code)
- That the certified RNG is actually running (vs. a modified version)
- Outcomes between audit periods
The Key Difference: Verifiable Before the Round vs Audited Afterward
The fundamental distinction between provably fair and RNG certification is when and by whom verification occurs.
Provably Fair: Pre-Commitment + Player Verification
Timeline:
1. Casino commits to outcome (hash published)
2. Player places bet
3. Game resolves
4. Player can verify immediatelyVerification authority: You (the player) Verification timing: Per-game, real-time Trust required: Cryptographic hardness of SHA-256
RNG Certification: Post-Hoc Auditor Verification
Timeline:
1. Player places bet
2. RNG generates outcome
3. Game resolves
4. [Months later] Auditor tests statistical samplesVerification authority: Third-party auditor Verification timing: Periodic (monthly/quarterly) Trust required: Auditor independence, implementation integrity, production matching audited code
Practical Implications
Consider what happens if a casino wants to cheat:
With provably fair: The casino would need to find a SHA-256 collision or predict your client seed. Both are computationally infeasible. Cheating is mathematically impossible.
With RNG: The casino would need to modify the production RNG without the auditor detecting it during the next audit. Cheating is operationally difficult but not impossible.
This doesn’t mean all RNG casinos cheat — reputable operators have strong incentives for honest operation. But the security model differs fundamentally.
Which Game Types Support Provably Fair? (And Which Never Will)
Provably fair requires the casino to control the game logic and commit to outcomes in advance. This creates natural limitations.
Games That Support Provably Fair
Original casino games where the operator controls the code:
- Crash: Hash chain determines crash point
- Dice: Direct hash-to-number conversion
- Plinko: Sequential bit extraction determines ball path
- Mines: Predetermined mine positions from hash
- Limbo: Single multiplier from hash calculation
- Wheel: Segment position from hash
- Keno: Number selection from hash sequence
- HiLo: Card value from hash
Games That Rarely Support Provably Fair
Third-party provider games where external companies supply the software:
- Slots from Pragmatic Play, NetEnt, etc.: The casino doesn’t control the RNG — the provider does
- Live dealer games: Physical cards and wheels can’t be cryptographically committed (though some live games photograph decks for post-hoc verification)
- Sports betting: Real-world events determine outcomes
Games That Could But Often Don’t
Traditional table games with casino-controlled software:
- Blackjack: Technically possible (commit to shuffled deck) but rarely implemented
- Poker vs house: Same as blackjack
- Roulette: Could commit to wheel position but most implementations use RNG instead
The limitation isn’t technical — it’s business model. Third-party game providers sell their games to hundreds of casinos and have no incentive to implement per-casino provably fair systems. Casinos using provider games rely on those providers’ RNG certifications.
Limitations: What Provably Fair Does NOT Protect Against
Provably fair is often oversold. Understanding what it doesn’t do is as important as understanding what it does.
Doesn’t Protect: House Edge Manipulation
Provably fair verifies that the specific outcome wasn’t manipulated. It does NOT verify that the game rules are what they claim.
If a casino’s dice game claims 1% house edge but actually has 3% edge baked into the algorithm, provably fair doesn’t detect this. You’re verifying fair randomness within potentially unfair rules.
Protection: Read the algorithm specification. Calculate expected house edge. Compare to claimed edge.
Doesn’t Protect: Payout Withholding
Provably fair proves you won. It doesn’t make the casino pay you. A dishonest casino could acknowledge your verified win and still refuse withdrawal.
Protection: Casino reputation, licensing, withdrawal history.
Doesn’t Protect: Client Seed Prediction
If you use the default client seed and never change it, a sophisticated attack could potentially predict your betting patterns. While this attack is mostly theoretical for properly implemented systems, using custom client seeds eliminates the concern entirely.
Protection: Set a custom client seed. Change it periodically.
Doesn’t Protect: RTP Over Time
Provably fair operates per-game. It doesn’t guarantee long-term RTP (Return to Player) percentages. Short-term variance can be significant even with perfectly fair randomness.
Protection: Understand variance. Bankroll management. Accept that randomness includes losing streaks.
Doesn’t Protect: Site Security
A casino with provably fair games can still have:
- Compromised login systems
- Malware-infected downloads
- Phishing schemes
- Poor fund custody
Protection: Standard operational security. Reputable operators. Secure authentication.
Evaluating Both Systems Honestly
Neither provably fair nor RNG certification is “better” in absolute terms. They solve different problems with different tradeoffs.
Provably fair advantages:
- Mathematical certainty (not probabilistic)
- Real-time verification (not periodic)
- No third-party trust requirement
RNG certification advantages:
- Covers third-party games (slots from major providers)
- Audited by credentialed professionals
- Regulatory requirement for many jurisdictions
The honest assessment: A well-run casino with RNG certification from reputable auditors is likely fair. A poorly-run casino with provably fair could still be problematic in non-game-fairness ways. Verification technology is one factor among many.
Technical specifications verified February 2026. Algorithm implementations vary by casino — always verify the specific system documentation.
→ Find casinos with verified provably fair implementations: /bitcoin-casinos/provably-fair/
→ Step-by-step verification guide: /guides/how-to-verify-provably-fair/



