How provably fair actually works
“Provably fair” is a promise with a specific, checkable meaning: the casino fixed the outcome of your bet before you placed it, in a way it could not later change, and it gives you everything needed to confirm that yourself. Here is the mechanism, in the form most crypto casinos use.
Three ingredients
Server seed — a long random secret the casino generates. Before you play it shows you only its SHA-256 hash, a fingerprint you can't reverse. Client seed — a value you control and can change at any time. Nonce — a counter that goes up by one with each bet under the same seed pair.
From seeds to a number
Each bet computes HMAC-SHA256(server seed, “client seed:nonce:cursor”). That gives 32 bytes that look random but are completely determined by the inputs. The bytes are read four at a time into decimals between 0 and 1:
float = b1/256 + b2/256² + b3/256³ + b4/256⁴
Each game turns floats into its result. Dice: floor(float × 10001) / 100. Plinko: one float per row, left if it's below 0.5, right if above; the bucket is how many went right. Mines: floats pick tiles without replacement. Crash uses a separate chain of hashes salted with a public Bitcoin block hash. Our verifier shows every one of these steps for your bet.
Why the casino can't cheat
Because you saw the hash of the server seed before betting, the casino was locked into that seed. Because you supplied the client seed, it couldn't have chosen a server seed that happened to produce bad results for you. And because the nonce is a plain counter, it can't skip or reorder outcomes. When you rotate seeds, the old server seed is revealed; hash it, compare, recompute — if everything matches, nothing was changed.
What it does not guarantee
- Not the odds. A provably fair game can still have a 1% edge or a 10% edge. Check the house-edge table.
- Not the payout. The result being honest says nothing about whether the casino pays out or how fast.
- Not bets under a hidden seed. Until the server seed is revealed, you can only verify the commitment, not the result. Rotate your seed pair regularly.
- Not third-party slots. Games from external studios use the studio's certified RNG, not this scheme. Provably fair usually applies to the casino's own “Originals”.
Practical habits
- Set your own client seed rather than accepting the default.
- Copy the server-seed hash before a session; it's the half of the proof people forget.
- Spot-check a few bets after every rotation. A casino that fails once has failed completely.
Written by the VerifyRoll team. Published because a category that can be checked should be checked, and almost nobody does.