faircheckprovably-fair
The method

How provably fair works

Provably-fair gambling lets you check, with cryptography instead of trust, that a result was decided before you bet and never tampered with afterwards. Here is the whole idea in five minutes.

1. The commitment

Before any bet, the casino generates a secret server seed and shows you only its SHA-256 hash. A hash is a one-way fingerprint: you cannot reverse it to find the seed, but once the seed is revealed, anyone can hash it and confirm it matches. By publishing the hash first, the casino locks itself in — it can no longer pick a different server seed once it sees how you bet.

2. Your input

You provide a client seed (you can change it any time) and every bet carries an incrementing nonce. Because you influence the client seed, the casino cannot have pre-computed a result that only it controls.

3. The draw

The outcome is produced deterministically:

bytes = HMAC-SHA256(serverSeed, `clientSeed:nonce:round`)

Those bytes are sliced into 4-byte groups and turned into floats in the range [0, 1). Each game then maps the floats to a result — a dice roll, a crash multiplier, a set of mine tiles, and so on. Same inputs, same output, every time.

4. The reveal

When you rotate your seed pair, the casino reveals the old server seed in plain text. Now you can do two checks: hash the revealed seed and confirm it equals the commitment from step 1, and recompute every result to confirm the casino reported them honestly. That is exactly what the Faircheck verifier does — locally, in your browser, so your seeds never leave your device.

Why it is the same on most casinos

Stake published this scheme and it became the de-facto standard. The 32+ casinos Faircheck supports use the identical HMAC-SHA256 byte-to-float method; only the menus for rotating seeds differ. That is why one verifier can check them all.

FAQ

Is provably fair the same as “fair”?

No. It proves the casino could not change the outcome after you bet — it does not change the house edge. A provably-fair game can still be designed to favour the house; it just cannot lie about the result it generated.

Can the casino still cheat?

Not on the result itself, as long as it commits to the hashed server seed before the bet and you verify after revealing it. The remaining trust is that the commitment you saw was genuinely shown before play — which is why you should screenshot the hashed seed.

What is a nonce?

A counter that increases by one for every bet made on the same server/client seed pair. It guarantees each bet produces a different result from the same seeds.

Ready to check a bet?

Open the universal verifier and paste your seeds.

Open the verifier