How Provably Fair Works: A Complete Guide for Stake Players

Published 2026-04-22 · Tags: guides, verifier, fundamentals

The cryptographic commit-reveal system that makes online casino cheating impossible — explained in plain English.

Every time you place a bet on a Stake Original, the outcome is decided by numbers the casino cannot manipulate after you've clicked — not because you trust them, but because the math itself proves it. That's what "provably fair" means. Strongest guarantee any online casino offers. Standard on Stake since day one.

This guide walks through exactly how the system works, why it's trustworthy, and how to verify any result yourself in 60 seconds using our free Stake Verifier.

Before we start: I've personally audited thousands of Dice, Limbo, and Mines outcomes for friends who were convinced they'd been cheated. Every single computed outcome matched what Stake paid. Zero mismatches, ever. The verifier is free, takes 60 seconds, and is the fastest way to move past "was I rigged?" after a bad session. The code exists to be used, not admired.

The core idea in one sentence

Stake commits to the random numbers before you bet, and reveals them after, the math is built so they can't change their answer once they've committed.

That's it. The rest is implementation detail. But the implementation detail is where the proof lives, so let's go there.

The three ingredients

Every provably fair bet on Stake is built from three values:

  1. Server seed — a secret random string Stake generates for you. They commit to it by showing you the SHA-256 hash of it before you bet. The hash looks like this: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855...
  2. Client seed, a random string your browser generates. You can change it at any time.
  3. Nonce, a simple counter that increments by 1 with every bet (0, 1, 2, 3,...).

When you place a bet, Stake takes these three values and feeds them through HMAC-SHA256, a deterministic hashing function. The output is a 256-bit number, which gets sliced up and mapped to your result — a dice roll, a crash multiplier, a mine pattern, whatever the game needs.

Here's the critical property: HMAC-SHA256 is one-way. Given the hash, you cannot reverse-engineer the inputs. Given the inputs, the output is 100% deterministic, same inputs always produce the same output.

Why the casino can't cheat

This is the elegant part.

The only thing Stake controls is the server seed before it's committed. Once they've shown you the hash, they're locked in. If the final outcome doesn't match what HMAC-SHA256 spits out for that specific server seed + your client seed + nonce, it's caught immediately.

The full life cycle of a bet

  1. You open a game. Stake generates a fresh server seed, hashes it, and shows you the hash (sometimes called the "hashed server seed" or "server seed hash").
  2. Your browser picks a client seed. You can see it and change it freely.
  3. You bet. Your nonce goes from 0 to 1. Stake computes HMAC-SHA256(server_seed, client_seed:nonce) and uses the result to decide your outcome.
  4. You bet again. Nonce goes to 2. Same process.
  5. At any point you can rotate the server seed, which forces Stake to reveal the old one, generate a fresh one, and show you a new hash.
  6. Once revealed, you can hash the old server seed yourself and confirm it matches the hash they originally showed you. If it does → they didn't swap it mid-session. If it doesn't → you've caught a cheat.
  7. Now that you have the revealed server seed, you can replay every bet from that session: feed the seed + your client seed + nonce into HMAC-SHA256, apply the game's math, and compare to what Stake paid out.

What can go wrong

Two things, realistically:

What it DOESN'T protect against

Important caveat: provably fair doesn't prevent the house edge. The math is honest, but the math is tuned so the house wins ~1–4% of wagered amount long-term. This is baked into the payout structure, not the random numbers.

Provably fair is about "did the random number generator cheat?", not "is this game profitable for me?". For the latter, you need statistics over your entire bet history, which is what our P&L Calculator is for.

Verify it yourself in 60 seconds

  1. On Stake, rotate your server seed, this reveals the old one.
  2. Copy the revealed server seed, your client seed, and any nonce you want to check.
  3. Paste them into our Stake Verifier — we do the HMAC-SHA256 math locally in your browser (nothing sent to our server) and show what the outcome should have been for that bet.
  4. Compare to what Stake actually paid. They should match perfectly.

We support all the major Stake games: dice, limbo, crash, mines, plinko, keno, wheel, and more. The verifier runs the exact same algorithm Stake publishes, so if there's ever a mismatch, it's on them.

The bottom line

Provably fair isn't magic and it isn't "trust us", it's math that makes the casino commit to their answers before you play, then proves it after. On Stake, this has been running cleanly for years. Any time you feel like checking, it's a 60-second job.

Want to actually try it? Open the Stake Verifier →

Related Posts

Free Stake Tools

More Free Stake Tools