Back to Casino
Provably Fair

Don't trust. Verify.

Every result is decided by a cryptographic hash of values locked in before you bet. Paste the seeds from any round and this page recomputes the outcome — the math runs entirely in your browser, not on our server.

Recompute a result

Enter the three values from a round's proof. We compute HMAC-SHA256 with the Web Crypto API, right here — nothing is sent anywhere.

—
Result value  ·  int(HMAC[0:8], 16) / 0xFFFFFFFF
HMAC-SHA256

Your recent games

Pull your last rounds, reveal the server seed, and drop any of them straight into the verifier.

How provably fair works

Three values decide every outcome. Two are shown up front; the third is locked as a hash and revealed after.

Server seedA secret we generate. You see its SHA-256 hash before you bet, so we can't change it afterward without the hash breaking.
Client seedA value tied to your session that mixes into every result. You can see it any time.
NonceA counter that ticks up by one each bet, so no two rounds share a result.
outcome = HMAC_SHA256( serverSeed , clientSeed + ":" + nonce )
result  = parseInt( outcome[0..8] , 16 ) / 0xFFFFFFFF  →  a number in [0, 1)

Each game maps that number to a result by its own public rule — a roulette pocket is floor(result × 38), a coin flip splits on a threshold, and so on. Because the server seed was committed as a hash beforehand, you can reveal it afterward, confirm the hash matches, and recompute the exact same number yourself. Fair doesn't mean you'll win — every game keeps a house edge. See Provably Fair and Responsible Play.