· 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.

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:

  1. Binding: Once committed, the casino cannot change the value (finding a different input that produces the same hash is computationally infeasible)
  2. 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: a7f3b4c8d9e1f0a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6

Before any betting begins, the casino publishes a SHA-256 hash of this seed:

Server Seed Hash: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

You 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: myRandomString123

This 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: 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069

Step 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: 5eb63bbbe01eeed093cb22bb8f5acdc3

Step 4: Verify the Hash Matches

Calculate SHA-256 of the revealed server seed:

SHA256("5eb63bbbe01eeed093cb22bb8f5acdc3") = 7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069

This 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.34

The 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 #1

What This Guarantees

When the casino reveals a game’s hash, you can verify:

  1. This game’s hash produces the next game’s hash when hashed
  2. 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

  1. Implementation: The casino implements an RNG algorithm (commonly Mersenne Twister, Fortuna, or hardware-based)

  2. 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
  3. 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
  4. Certification: If tests pass, the auditor issues a certificate stating the RNG produces statistically random results

  5. 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 immediately

Verification 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 samples

Verification 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/

Back to Blog

Related Posts

View All Posts »