Guide · Virtual chips · 18+
What provably fair is and how to verify a round
Provably fair is a cryptographic method in which the server commits to the result before the round by publishing the SHA-256 hash of a secret seed, and reveals the seed afterwards — so any player can recompute the result and prove it was not changed.
By IS Casino · Published · Updated
Why it works
A SHA-256 hash is a fingerprint: computing the hash of a seed is easy, but finding another seed with the same hash is practically impossible. If the server published the hash first and the seed revealed later has exactly that hash, the seed was not swapped along the way.
Your client seed is part of the calculation so the server cannot pick a result on its own: it commits to the server seed without knowing which client seed you will use.
The four ingredients
| Ingredient | What it is | When you see it |
|---|---|---|
| Server seed | The server’s 256-bit secret | Hash first; the seed after you rotate the pair |
| Client seed | Your own text, editable in the app | Always |
| Nonce | Round counter under that seed pair | Every round |
| Formula | HMAC-SHA256(server seed, “client seed:nonce:game”) | In-app Fair play page |
The HMAC produces 64 hex digits. The first 52 bits become a number between 0 and 1 (divided by 252), which is mapped to the game outcome: the Plinko slot, the mine positions, the crash point, the card from the deck.
Step by step: verify a Mines, Plinko, Dice or Limbo round
- Note the hash. Before playing, open the in-app Fair play page and note the SHA-256 hash of the current server seed.
- Choose your client seed. If you like, replace the client seed with your own text. It applies to the next rounds.
- Play as usual. Each round uses the next nonce (0, 1, 2…). The history shows the nonce of each result.
- Rotate the seed pair. When you rotate, the old server seed is revealed and a new one starts, with a new hash.
- Check the hash. Compute SHA-256 of the revealed seed (in the built-in verifier or any hash tool) and compare it with the hash from step 1. They must be identical.
- Recompute the result. In the verifier, paste the revealed seed, the client seed and the round’s nonce: the result is recomputed in your browser and must match what you saw in the game.
Mapping examples
- Dice: the 0–1 number becomes a result from 0.00 to 99.99.
- Limbo: result = RTP ÷ (1 − r).
- Crash: point = floor(100 × RTP ÷ (1 − r)) ÷ 100, capped at ×1,000 — which is why the chance of reaching ×x is RTP ÷ x.
- Decks and balls (blackjack, baccarat, bingo): a Fisher–Yates shuffle where every swap uses one number of the HMAC sequence.
Differences by game type
- Slots
- Each spin is one pre-computed outcome (spin, cascades, respins and free spins together), selected by HMAC-SHA256 of the server seed with your client seed and the round number (nonce). The server seed hash is shown first; when you rotate the seed pair the old seed is revealed and you recompute the spin on the Fair play page.
- Crash games
- The crash point is fixed before the round starts and its hash is published. After the round the key is revealed and anyone can recompute the result. Formula: the chance of reaching ×x is RTP ÷ x.
- Live tables and game shows
- The round seed hash is published before choices close; after the round the seed is revealed and the result (cards, dice, number or tile) is recomputed in your browser.
- Instant games
- Result = HMAC-SHA256(server seed, “client seed:nonce:game”). The server seed hash is shown first; rotate the seed pair to reveal the old seed and recompute the round on the Fair play page.
- Bingo
- Before card sales open, the SHA-256 hash of the round seed is published. The ball order comes from that seed and your cards from your client seed. After the draw the seed is revealed so you can check it.
- Poker
- Before each hand the server publishes the hash of its secret seed. The deck is shuffled (Fisher–Yates) with the server seed plus every seated player’s client seed; 10 minutes after the hand the participants get the seed and recompute the deck in the browser.
What verification guarantees and what it does not
- It guarantees the result was fixed in advance and not changed after your choice.
- It guarantees the server cannot choose the result alone (your client seed takes part).
- It does not guarantee a payout: the RTP stays the same and every round stays random.
- An RTP adjustment by the club only changes the published payout table, never how results are generated; every round records the RTP it was opened with.
Frequently asked questions
Does provably fair mean I will win more?
No. Provably fair proves the result was not manipulated; the odds and the RTP stay the same.
Why is the server seed only revealed afterwards?
If it were known in advance, anyone could compute the next results. That is why only its hash is published first.
Do I have to change the client seed?
It is not required, but changing it guarantees that not even the server knew the seed combination when it committed.
Can live tables and bingo be verified?
Yes. On tables the round seed is revealed after the result; in bingo, after the draw; in poker, 10 minutes after the hand, to its participants.

