WOYALE. Verify a bet
Fair play

Server seed, client seed and nonce: what each one does

A receiver reaches for the ball under stadium lights
Short answer

Four values decide a provably fair result. The server seed is the site's secret, shown first only as a hash. The client seed is yours. The nonce counts your bets. Rotating the seed reveals the old one so you can verify past bets. Set your own client seed before playing.

Site's secretServer seed
Your inputClient seed
Bet counterNonce
Revealed onSeed rotation

Updated October 22, 2026 · 4 min read

Every provably fair result comes from the same three inputs: a server seed, a client seed and a nonce. A fourth item, the hashed server seed, is what lets you trust the first. If you know what each does, the verification steps in how to verify a bet are straightforward.

If you are new to the idea, start with what provably fair is.

The four terms

TermWho controls itVisible when
Server seedThe siteOnly after rotation
Hashed server seedDerived from the server seedBefore you bet
Client seedYou (or a default the site assigns)Always
NonceThe game, counting upPer bet

Server seed

The site generates this random string, and it is the secret in the scheme. You cannot see it while it is active, because you could then predict every result before betting. In the HMAC-based method most sites use, it is the key that the result is computed with. HMAC is defined in RFC 2104.

Hashed server seed

The SHA-256 hash of the server seed, shown to you before you bet. This is the commitment. It looks like 64 hex characters, for example d43760ee103126a1c9e5c6806eb10e766aeaea9086380844f0b231c7325699ab. It proves nothing about the seed’s contents yet, but it locks the site to one specific seed. Later, when the real seed is revealed, you hash it and compare. A mismatch means the site changed the seed.

Client seed

You provide this string. It stops the site from choosing the result in advance. The server seed was fixed before you picked your client seed, so the combination was not known to the site when it committed. Most sites assign a random default and let you replace it.

Nonce

The nonce is a counter that usually starts at 0 or 1 for each new seed pair and rises by one with every bet. It lets two bets with the same seeds get different results. Bet 1 uses nonce 1, bet 2 uses nonce 2, and so on. Whether a site starts at 0 or 1 is a site detail. Check its fairness page.

How they combine

For dice on the scheme the Woyale verifier uses, the site calculates:

HMAC-SHA256(key = server seed, message = "clientSeed:nonce:0")

The final 0 is a cursor. It increases when a game needs more random numbers than one hash provides. The result is a 32-byte value. The game takes the first four bytes and turns them into a number between 0 and 1, then maps that to a roll. How to verify a bet works through this with real figures.

Seed rotation

You can only check past bets once the server seed is revealed. That happens when you rotate (or “change”) the seed pair. The sequence looks like this:

  1. You request a new seed. The site reveals the old server seed in full.
  2. The site starts a new server seed and shows you its hash.
  3. The nonce resets, normally to the start value.
  4. You can now verify every bet made under the old seed pair, because you have the seed, your client seed and each bet’s nonce.

If you never rotate, you never see the seed, and you cannot verify anything. A site that makes rotation hard or hides the old seed is not giving you the check. Rotate at a point that suits you: after a session, after a large bet, or whenever you want to audit.

Why set your own client seed

If the site picks your client seed and you never change it, the site has chosen all inputs except the nonce. The scheme still commits the server seed, but your own input is the part that guarantees the site could not tune the outcome to a known client seed.

There are three practical reasons to set it yourself:

  • It removes any doubt about whether the default was chosen by the site.
  • You can record it, which you need to verify later.
  • Changing it between sessions is free and does not affect the game’s odds.

Pick any string you will remember or can write down. It does not need to be secret: the site and everyone else can see it. Length matters little. It must be saved exactly, including case and spaces, because one changed character gives a different result.

A seed you save along with the revealed server seed and the nonces is a full record of your session. This ties in with your tax records too: see records to keep.

What can go wrong

  • A wrong seed or nonce is the most common reason a check fails. Copy and paste.
  • If you start the nonce at 1 where the site starts at 0, every result will look wrong.
  • Some sites separate values with a dash, add a prefix or use a different cursor layout. Use the site’s documentation.

Common questions

Can I see the server seed before I bet?

No. If you could, you could predict every result. You see its hash first and the seed itself only after rotation.

Does changing my client seed change my odds?

No. It changes which random numbers you get, not the probability of any result. Every possible outcome keeps the same chance.

What happens to my nonce when I rotate?

It resets for the new seed pair. Old nonces stay valid for the old pair, so keep a record of the pair and the nonce range together.

Sources

  1. IETF RFC 2104: HMAC, Keyed-Hashing for Message Authentication
  2. NIST FIPS 180-4: Secure Hash Standard (SHA-256)

Checked October 22, 2026. Laws, fees and tax rules change; confirm anything you act on with the source. Information, not legal or tax advice.