Server Seed, Client Seed and Nonce: How Provably Fair Results Are Fixed
18+ (or the higher legal age where you live), only where legal. Contains affiliate links — we may earn a commission. Each casino has its own restricted countries (listed in our reviews); not for residents of those regions. Not legal or financial advice.
In this guide (6)
In the common seed scheme described here, each bet uses three inputs: a server seed, a client seed and a nonce. This guide explains what each one does, why the order of reveal matters, and what changing your seed does and does not achieve. You can reproduce everything below in our provably fair verifier. 18+ (or the higher legal age where you live), only where legal.
About the example values: all seeds here are our own example values, not seeds from any casino. The scheme shown (HMAC-SHA256 with the server seed as key and
client_seed:nonce:roundas message) is the one Stake documents for Dice and Limbo. Other casinos may use a different message format or byte mapping; we have not verified Mint.io’s exact formula, so check your casino’s fairness page.
The three inputs
| Input | Chosen by | Visible before the bet? | Purpose |
|---|---|---|---|
| Server seed | Casino | No, only its SHA-256 hash | Secret randomness the player cannot predict |
| Client seed | You (or a random default) | Yes | Player input the casino cannot predict, if you choose it after the commitment |
| Nonce | Counter, +1 per bet in this scheme | Yes | Changes the HMAC message for each bet under the same seed pair |
Step 1: the commitment (hash before you bet)
Before you play, the casino shows H = SHA-256(server_seed). Recovering a long, randomly generated seed from H is considered computationally infeasible (weak, guessable seeds are an exception), and finding a different seed with the same hash is also considered infeasible. Saving H therefore locks the casino into one server seed.
Example: the server seed cryptoplayguide-example-server-seed-2026 has the hash ea1e9ffa82b568d4ecb93488031e79bfe0cba227dbbe2b134c73e66079e78e91.
Step 2: combining the seeds
For each bet the result bytes are:
R = HMAC-SHA256(key = server_seed, message = client_seed + ":" + nonce + ":" + round)
The first four bytes b0..b3 become a number in [0, 1):
x = b0/256 + b1/256² + b2/256³ + b3/256⁴
For single-step games like Dice (0.00–100.00), round is 0 (client_seed:nonce:0) and this guide and our verifier use floor(x × 10001) / 100. Stake’s game-events page shows (float × 10001) / 100 without an explicit floor; we have not independently verified its live rounding.
| Client seed | Nonce | First 8 bytes of R (hex) | x | Dice roll |
|---|---|---|---|---|
| my-client-seed | 1 | d6e37d4cd754f875 | 0.83940871 | 83.94 |
| my-client-seed | 2 | ad06e6228269852d | 0.67588652 | 67.59 |
| my-new-client-seed | 1 | 49407de932922618 | 0.28614032 | 28.61 |
Same server seed, different nonce or client seed, different HMAC output. That is the job of the nonce: one committed seed pair produces a long sequence of results without reusing a message. A new nonce does not guarantee a different roll; two nonces can map to the same Dice result.
Step 3: the reveal and the check
When you rotate to a new seed pair, the casino reveals the old server seed. You then check two things:
SHA-256(revealed seed)equals the hash you saved. If not, verification has failed: first rule out copy, whitespace or encoding errors, then treat an unexplained mismatch as a serious red flag.- Recomputing
Rfor each nonce gives the results in your bet history.
The worked command-line version is in verify a provably fair bet step by step.
Why you should set your own client seed
If the casino picked both seeds, it could in theory search for a server seed that produces bad results for the default client seed. Because the server seed is committed (hashed) before you choose the client seed, setting your own unpredictable client seed removes that option. Practical habits:
- Set a new random client seed when you start a seed pair.
- Save the server seed hash (screenshot or note) before your first bet.
- Rotate seeds and verify a sample of bets afterwards.
What seeds do not change
- The house edge. It is built into the payout formula. A fair seed system with a 1% edge (an example value; check each game) still has negative expected value: see Dice odds and house edge.
- Future results. No seed choice “resets” luck; each nonce is just a new input.
- The operator. A matching hash says nothing about withdrawals, licences or solvency. See the complete provably fair guide.
To explore expected losses and the risk of exhausting a bankroll under your own assumptions, use the risk of ruin simulator.
Gambling can be addictive. Set limits before you play and read our responsible gambling page. This page contains affiliate links: see the affiliate disclosure.
See what a staking level needs, with example numbers.
Frequently asked questions
Does changing my client seed improve my odds?
No. The house edge comes from the payout formula, not from the seed. Choosing an unpredictable client seed after saving the server seed hash only prevents the casino from picking that server seed with your input in mind.
Why can't I see the server seed before I bet?
If you knew it, you could compute every future result and bet only on wins. You get its SHA-256 hash instead, and the seed itself after you rotate to a new pair.
Are the seeds in this guide real?
No. They are our own example values, computed with Node.js crypto, so anyone can reproduce them. Check your own bets with your own revealed seeds.
Ready to try a crypto casino?
Compare the casinos we review. Check the rules, set loss and time limits, and only play with money you can afford to lose.
Crypto casinos we review
- Deposit & withdraw in USDT or USDC: no price swings
- No code needed: rewards in $MNTD token: rakeback, daily rewards, MINT Status staking
- Casino, sportsbook & predictions in one account
- Deposits and withdrawals in crypto across several networks; minimums and fees are listed in our review
- Instant rakeback plus daily, weekly and monthly bonuses from the first level (per Thrill's Rewards Program page)
- Site in English only for now
- Operator: Broken Tentacle Ltd; Anjouan licence ALSI-202602048-FI2
- New site (launched 2026) with little track record
- May ask for identity verification (KYC)
These casinos are not available in your country. Read our reviews for information only.
18+ · Sponsored · T&Cs apply · Not available in restricted regions · Gamble responsibly