Provably fair on Stake — verify any outcome step by step
Complete walkthrough of Stake's provably fair RNG: server seed, client seed, nonce, HMAC-SHA256, and how to verify any bet result yourself.
Why provably fair matters
Traditional online casinos run on closed-source RNG systems. You bet, the casino reports a result, and you trust the outcome was generated honestly. There's no way for you to verify it.
Provably fair changes that. The casino commits to a hash of its server seed before you bet. After the bet, the casino reveals the seed, and you can re-compute the outcome from public inputs. If the recomputed result matches what you saw, the casino didn't tamper. If it doesn't match, you have cryptographic proof of cheating.
This system, pioneered by Bitcoin-era gambling sites and now standard at Stake.com, BC.Game, Roobet, and most crypto casinos, eliminates one major class of distrust. It does not eliminate house edge — it just proves that any losses you experienced were due to the game's published math, not manipulation.
The three inputs
Every Stake Original outcome is determined by three values:
- Server seed — a 64-character hexadecimal string generated by Stake. The SHA-256 hash of this seed is published before any bet using it. The seed itself is revealed only after you rotate to a new pair.
- Client seed — a string under your control. By default Stake generates a random one in your browser; you can change it to any string at any time.
- Nonce — an integer counter that starts at 0 and increments by 1 with each bet. When you rotate to a new server seed, the nonce resets to 0.
These three combine via HMAC-SHA256 to produce a deterministic byte stream. The byte stream is parsed into the game-specific outcome (a Plinko ball path, a Crash multiplier, a dice roll number, etc.).
The commitment ritual
Before any bets, Stake shows you the SHA-256 hash of the active server seed. SHA-256 is a one-way function — given the hash, you cannot derive the seed (this is computationally infeasible with current hardware).
This is the casino's commitment: "We have committed to a server seed whose hash is X. We cannot now change the seed without you noticing — any other seed would produce a different hash."
You can save this hash. Later, after you've rotated to a new server seed and the old one is revealed, you compute SHA-256(revealed_seed) and compare to the saved hash. If they match, the casino used the seed it committed to. If they don't match, the casino lied — and you have proof.
Step-by-step verification
Here's how to verify any bet on Stake yourself:
- Note your current server seed hash from Stake's "Fairness" page (under your account settings).
- Note your client seed, also visible there.
- Place bets. Each one increments the nonce by 1 within the current server-seed/client-seed pair.
- Rotate the server seed. Stake will reveal the previous server seed.
- Compute SHA-256 of the revealed seed and verify it matches the hash you noted in step 1.
- For each bet, run HMAC-SHA256(server_seed, client_seed:nonce) and parse the result per the game's algorithm.
- Compare the computed outcome to what Stake displayed during the bet.
Stake provides a verifier tool on its Fairness page that does steps 5–7 for you. You can also use third-party tools or write your own — the algorithm is open and standardised.
Algorithms by game
The HMAC-SHA256 byte stream is parsed differently per game:
- Dice / Limbo: bytes are mapped to a uniform float in [0, 100) for Dice and [1, 1,000,000] for Limbo via published transformation.
- Plinko: each row's left/right decision uses one byte of the stream — a binomial walk.
- Crash: the bytes determine the crash point via the inverse of the cumulative distribution P(crash ≥ X) = 0.99/X.
- Mines: a Fisher-Yates shuffle on the 25-tile grid, deriving permutation entropy from the stream.
The exact algorithms are published by Stake. They are deterministic — given the same three inputs, you always get the same outcome. This is the property that makes verification possible.
What provably fair does NOT prove
- It doesn't prove you'll win. The math is fair but house edge still applies.
- It doesn't prove the math model is fair. If Stake published a Plinko payout table that summed to less than 99% expected return, provably fair would still verify each round — it just verifies the casino used the announced math, not that the announced math is good for you.
- It doesn't protect against UI manipulation. If the casino's UI shows you fake outcomes after the fact, provably fair only catches that on verification — it doesn't prevent the misleading display.
In practice, Stake's published math is well-documented and standard for the industry, and the verification system has been audited by third parties. Provably fair is a real protection against one specific kind of cheating, not a guarantee of profit.
Ready to play on Stake.com?
Sign up with the partner code below to support StakeBonusHub. The code is automatically applied through our links.
18+ · Affiliate disclosure: we earn commission on referrals. Gambling can be addictive — play responsibly.