Fairness

What provably fair means: server seeds, client seeds and nonces explained

Provably fair is a commit-and-reveal system that lets players check every result. How the seeds, nonce and hash fit together, a worked example with real numbers, and what provably fair does not prove.

A Stack.bet tile tower beside the headline What Is Provably Fair
Provably fair games commit to a secret before you play and reveal it afterwards, so every result can be checked.

Online games of chance have always had a trust problem. When a result comes from the operator's computer, how do you know it was not changed after you placed your bet? Provably fair is the answer crypto casinos adopted: a system that lets you check every single result yourself, with nothing more than the published data and a standard hash function.

This guide explains how it works in plain terms, walks through a worked example with real numbers, and is clear about what provably fair does and does not prove.

The problem provably fair solves

In a physical casino you can watch the dice roll or the cards come out of the shoe. Online, the result is a number generated on a server you cannot see. A dishonest operator could, in principle, pick a losing result after seeing your bet. Provably fair removes that possibility by locking in the random data before the round starts, in a way that cannot be changed later without being caught.

The ingredients: server seed, client seed and nonce

  • Server seed. A long random secret created by the game before the round. It is kept hidden while you play.

  • Commitment. The game publishes a hash of the server seed before you play. A hash is a one-way fingerprint: it is easy to compute from the seed, practically impossible to reverse, and any change to the seed produces a completely different hash.

  • Client seed. A value from your side, which you can usually change. Because it is mixed in, the server cannot pre-compute results for you in advance.

  • Nonce. A counter that changes from bet to bet, so the same pair of seeds produces a fresh result each time.

After the round, the server seed is revealed. You hash it yourself and check that it matches the commitment you were shown before playing. If it matches, the seed was fixed in advance. Then you recompute the result from the seeds and nonce and check that it matches what happened.

How a result is generated

Most provably fair games use HMAC-SHA256, a standard keyed hash function available in every programming language and in free online tools. On Stack.bet, each tile's bust roll is made like this:

Message = client seed : nonce : tile number : bust

Digest = HMAC-SHA256 of the message, keyed with the server seed

Roll = the first 8 bytes of the digest as a whole number, top bit cleared, divided by the largest possible value

That gives a roll between 0 and 1. The tile survives if the roll is at or above the tile's bust chance, which is published in the risk table before the round begins.

A worked example you can check

These are example values, not a real round. Suppose the hidden server seed is:

9f2c4e81b7a3d6f0e5c2a1b8d4f7e3c6a9b2d5e8f1c4a7b0d3e6f9c2a5b8e1d4

Before play, the game would show you its SHA-256 hash, the commitment:

6a721d0312220845aeebcbff744740890b576ce637e4270acf7114edc294d033

Your client seed is my-lucky-seed and the nonce is 7. For the first three tiles:

Worked example of provably fair bust rolls

Tile

Message hashed

First 8 bytes

Roll

1

my-lucky-seed:7:1:bust

a3bee8eedc8157ea

0.279263607627

2

my-lucky-seed:7:2:bust

175ef59c282955ed

0.182585431336

3

my-lucky-seed:7:3:bust

b11f7a71dc4d09e6

0.383773141476

The first tile's base bust chance on the live configuration is 4.7619 percent, or 0.047619. A roll of 0.2793 is above it, so tile 1 survives. You can reproduce every number in this table with any HMAC-SHA256 tool, which is the whole point: the result is arithmetic, not a claim.

Where your placement fits in

On Stack.bet the roll is only half the story. Your tap is graded, and a grade below Perfect raises the bust chance the roll has to beat. A Sloppy tap on tile 1 adds 18 percentage points, lifting the threshold from about 0.048 to about 0.228. In the example above, a roll of 0.2793 would still survive. A lower roll might not. The random part is provably fair, and the part that is not random is your own timing, which is what makes the game skill gambling rather than pure chance.

What provably fair proves, and what it does not

It proves:

  • The random data was fixed before the round started.

  • The result you got is the one the published formula produces from that data.

It does not prove:

  • That the odds are generous. A provably fair game can still carry a large house edge, so read the published risk table or RTP separately.

  • That payouts and withdrawals will be honoured. That depends on the operator.

  • That you will win. A fair game can still end in a loss, and usually does in the short run.

Why provably fair predictors cannot work

Predictor apps and bots claim they can calculate the next result. They cannot. The next result depends on a server seed that is secret until after the round, and HMAC-SHA256 cannot be reversed or predicted from past results. Some predictors are simple scams that ask for a fee or a deposit, and some are built to steal account logins. If a tool claims to see the future of a provably fair game, it is lying about one of the two.

Provably fair on Stack.bet

Every Stack.bet round commits to a hidden server seed before play by publishing its hash, mixes in your client seed and a nonce, and reveals the server seed when the round ends. Each tile's roll is derived with the formula above, and your placement grade sets the threshold it has to beat. The step-by-step process for checking a finished round is in how to verify a completed round.

Common questions about provably fair

Is provably fair real?

Yes. It is a standard commit-and-reveal technique built on cryptographic hashes. It is real in what it proves: that a result was fixed in advance and computed as published. It does not say anything about how generous the odds are.

Can provably fair be hacked or predicted?

Not by working out future results. The server seed is secret until after the round, and the hash cannot be reversed. The realistic risks are elsewhere: scam predictor apps and compromised accounts.

What is a nonce in provably fair?

A counter that changes for every bet or round, so the same server seed and client seed produce a different result each time.

Why should I change my client seed?

Your client seed means the server cannot prepare results for you before you choose it. Changing it is a simple way to be sure your results depend on something you chose.

Is every crypto casino provably fair?

No. Many crypto casino originals are, but slots and live games from third-party studios usually use certified random number generators instead. Check whether the game you are playing publishes seeds.

Playing responsibly

Provably fair tells you the game is straight. It does not tell you to stake more. Set a budget before you play, and use the limits, cooldowns and self-exclusion controls if a session stops being entertainment.