18+ (or the higher legal age where you live), only where legal · Gambling involves risk of loss · We earn commissions from some links · Disclosure

Server Seed, Client Seed and Nonce: How Provably Fair Results Are Fixed

Updated 4 min readBy the CryptoPlay Guide Editorial Team

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:round as 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

InputChosen byVisible before the bet?Purpose
Server seedCasinoNo, only its SHA-256 hashSecret randomness the player cannot predict
Client seedYou (or a random default)YesPlayer input the casino cannot predict, if you choose it after the commitment
NonceCounter, +1 per bet in this schemeYesChanges 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 seedNonceFirst 8 bytes of R (hex)xDice roll
my-client-seed1d6e37d4cd754f8750.8394087183.94
my-client-seed2ad06e6228269852d0.6758865267.59
my-new-client-seed149407de9329226180.2861403228.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:

  1. 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.
  2. Recomputing R for 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.

MINT Status staking calculator

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

Mint.io: the stablecoin casino 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
Visit Mint.io ↗ Read our Mint.io review
Thrill: crypto casino with rewards from level one
  • 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
Visit Thrill Read our Thrill review

18+ · Sponsored · T&Cs apply · Not available in restricted regions · Gamble responsibly

CryptoPlay Guide Editorial Team
CryptoPlay Guide Editorial Team
Facts last checked:

A small independent team that reads operator help pages, terms and third-party reviews, and links sources for every claim. We are not lawyers or financial advisers. We may earn affiliate commissions. About us & how we rate