Provably Fair Casino – Complete Guide

Understand seeds, hashes, nonces, and post game verification. Learn how to audit every bet and avoid opaque RNG. Then test it on Duel Originals with thin or zero edge windows.

What is provably fair

Provably fair is a cryptographic commitment system used by modern crypto casinos. Before you bet, the casino publishes a one way hash of its server seed. You may set your own client seed. A nonce counts bets. After the round, the raw server seed is revealed. Anyone can recompute the outcome from server seed plus client seed plus nonce and confirm it matches the hash shown earlier. No retroactive tampering is possible.

Server seed

Random value generated by the casino and pre committed via hash.

Client seed

User controlled value that mixes into every outcome.

Nonce

Monotonic counter. Increments 1 per bet to keep rounds unique.

How it works – step by step

1
Pre commit
Casino shows hash(serverSeed) before play.
2
Client seed
You set or accept a clientSeed. Store it locally.
3
Outcome
For each bet, compute a digest from serverSeed, clientSeed, nonce. Map digest to a number or crash point.
4
Reveal
After the cycle, casino reveals raw serverSeed. Hash must equal the pre commit value.
5
Verify
Recreate the exact outcome locally. If mismatch, the round would be invalid.
// Example pseudo in JS style
const serverSeed  = "RAW_SERVER_SEED";
const clientSeed  = "your-client-seed";
const nonce       = 42;

// Often HMAC is used to bind inputs
const h = hmacSHA256(serverSeed, `${clientSeed}:${nonce}`);

// Convert first 52 bits to a fraction
const r = parseInt(h.slice(0,13),16) / 0x1_0000_0000_0000;

// Map to game
const diceRoll = Math.floor(r * 10000) / 100; // 0.00 to 99.99
        

Exact formulas vary by game type and provider. Casinos publish their mapping for public audit.

Cryptography basics

Hash

One way digest. Example: SHA-256. Given a hash, you cannot recover the input. Used for pre commit.

HMAC

Hash based message authentication code. Uses a key plus message to prevent chosen input tricks. Often key is serverSeed and message is clientSeed plus nonce.

Uniform mapping

Digest bits are converted to a uniform number in [0,1). Then mapped to dice, crash, card indices, or grid coordinates without bias.

How different games map randomness

Game typeMappingNotes
DiceUniform number to 0.00 – 99.99Compare to under or over threshold. House edge can be thin or zero in windows.
CrashDeterministic formula to multiplier curveCommon form: floor based on digest ensures no infinity spikes. Verify cashout point post round.
MinesSeeded shuffle of 25 tiles with chosen mine countBoard is fixed before first click. You can reconstruct exact mine positions after reveal.
PlinkoSequence of left or right steps through rowsEach step uses digest bits. Final slot determines multiplier.
BlackjackSeeded shuffle of a deck indexReveal allows deck reconstruction and hand audit. Edge depends on player decisions.

Verification workflow – practical

  1. Before you bet, copy the serverSeedHash from the fairness widget.
  2. Set a custom clientSeed and save it locally.
  3. Play rounds. Note that nonce increases per bet.
  4. After reveal, copy the serverSeed.
  5. Use the casino verifier or a third party tool to recompute outcomes. The recomputed path must match your history exactly.
# Tiny Python snippet for a dice roll reconstruction
import hmac, hashlib, math

server = b"RAW_SERVER_SEED"
client = "your-client-seed"
nonce  = 7
msg = f"{client}:{nonce}".encode()
h = hmac.new(server, msg, hashlib.sha256).hexdigest()
r = int(h[:13], 16) / float(0x1_0000_0000_0000)
roll = math.floor(r*10000)/100
print(roll)

If your recomputed result differs from the on site result, stop and escalate to support with seeds, nonce, and bet IDs.

Why provably fair matters

  • Removes blind trust and replaces it with math you can check.
  • Prevents backfilling or post hoc adjustment of outcomes.
  • Makes thin or zero edge gameplay viable without hidden bias.
  • Enables public dispute resolution using shared seeds and hashes.

Best example to try

Duel Originals run at razor thin edge with full post game verification. Some modes toggle 0 percent edge with caps to manage variance. It is a clean testbed for provably fair.

Provably fair vs opaque RNG

DimensionProvably fairOpaque RNG
Pre commitHash of server seed shownNone
User controlClient seed selectableNot applicable
AuditPublic verification anytimeThird party lab only
TransparencyOpen formulas and mappingHidden implementation
DisputesSeeds and nonce settle factsTrust the provider

Common myths

Myth: casino can change server seed after the fact

Wrong. The pre commit hash would fail to match. Any change becomes obvious when you recompute the hash.

Myth: client seed is cosmetic

Wrong. Client seed mixes into the HMAC. Changing it shifts the entire outcome stream for your account.

Glossary

Server seed
Secret key revealed later.
Client seed
User controlled value.
Nonce
Bet counter per seed pair.
Hash
One way digest for pre commit.
HMAC
Keyed hash for stable mapping.
Verifier
Tool that recomputes outcomes.

FAQ

Can a provably fair casino still have a house edge
Yes. Provably fair controls integrity, not pricing. Some sites run thin edges. Duel also runs 0 percent edge windows with posted caps.
Do I need to verify every bet
No. Spot check sessions and big rounds. Always keep seeds to allow later audits.
What if the verifier shows a mismatch
Stop playing, capture seeds, nonce, and bet IDs, then contact support. A proper PF system will reconcile exactly.
Are third party slots provably fair
Usually not. They rely on lab certification. Duel Originals are provably fair and publish verification steps.

Try provably fair on Duel Originals

Set your client seed, play with thin or zero edge, verify every round. It is the fastest way to learn by doing.

Gambling is entertainment. Bet responsibly. Use self exclusion if needed.