What provably fair means in plain English
Before any round starts, the server commits to a server seed by publishing its SHA-256 hash. The hash is a one-way fingerprint, the seed cannot be reverse-engineered from it. You can also see your client seed (which you set yourself, or accept the default), and the round nonce (which increments by 1 each round).
After the round closes, the server reveals the original server seed. You hash it together with the client seed and the nonce. The resulting hash maps to a specific number, which maps to the round outcome (crash point, dice roll, plinko slot, whatever). If the math agrees with what you saw, the round was honest. If it does not, the platform cheated.
The exact algorithm for Crash
- Hash the server seed: take the revealed server seed string, compute SHA-256.
- Concatenate with client seed and nonce: format is hmac-sha256(serverSeed, clientSeed + ":" + nonce).
- Take the first 13 hex characters of the resulting hash.
- Convert to a decimal integer h.
- Compute the crash point: crashPoint = floor((100 * 2^52) / (2^52 - h)) / 100, with house-edge adjustment.
- Compare against the crash point you saw in the round. Match = honest.
Worked example: verifying a Crash round
Take a hypothetical round with these inputs (numbers shortened for readability):
Server seed (revealed): a1b2c3d4e5f6...
Client seed: myclientseed42
Nonce: 137
Crash point shown in-game: 2.47x
Run hmac-sha256('a1b2c3d4e5f6...', 'myclientseed42:137'). Take the first 13 hex chars of the output. Convert to decimal. Plug into the formula above. Result: 2.47x. Match. The round was honest.
Any hash function library in any programming language gives the same answer. The result is deterministic. If you set up the verification once, you can run it on every round you play.
The exact algorithm for Dice
- Compute hmac-sha256(serverSeed, clientSeed + ":" + nonce).
- Take the first 5 hex characters.
- Convert to integer i.
- Compute roll = (i * 100) / 16^5, rounded to two decimals.
- Compare against the roll shown. Match = honest.
Why client seed matters
You can set your own client seed. Most players accept the default and never touch it. If you want maximum trust, change your client seed regularly (Shuffle lets you do this in Settings → Provably Fair → Set Client Seed). Each change invalidates the previous server seed commitment and rolls a fresh one.
Changing the seed mid-session does not change your expected return. It just means the platform cannot have prepared a sequence of unfavourable rolls knowing your client seed in advance. The protection is cryptographic, not statistical.
Common misunderstandings
- Provably fair does not change the house edge. Crash is still 99% RTP. Dice is still 99% RTP. The algorithm is honest, the math still favours the house slightly.
- Provably fair does not let you predict the next outcome. The server seed is committed-then-revealed, so prediction is cryptographically impossible until the round closes.
- Provably fair does not cover slots, table games, or live casino. Those run on third-party RNGs (slots) or physical hardware (live tables) and are audited by iTech Labs or equivalent.
- A platform can be provably fair on Originals and still rig slots or hold deposits. Provably fair covers one specific risk: the integrity of in-house RNG outcomes.
- If you find a mismatch, screenshot everything (the seeds, the nonce, the result, your verification math) before contacting support. Mismatches are extremely rare and almost always user error on the verification side.
Step-by-step: verifying your own round
-
1
Open Shuffle Settings → Provably Fair
You will see your current server seed hash, your client seed, and the nonce range.
-
2
Play a round and note the outcome
Whatever the result, write it down.
-
3
Rotate your server seed
Click "Use new server seed" or play through to a fresh seed. The previous server seed is now revealed.
-
4
Copy the revealed server seed, your client seed, and the nonce
All three appear in the seed history view.
-
5
Run the hash in any language
Python, JavaScript, online SHA-256 tools all work. Use the algorithm above for the game you played.
-
6
Compare
If your computed outcome matches the in-game outcome, the round was honest. Repeat on any round you want.
Pros and cons of provably fair as a feature
What we like
- Zero trust required, math is verifiable independently
- Public seed history covers every round ever played on your account
- Cryptographically prevents the platform from rigging in-house RNG outcomes
- Industry-standard implementation, same SHA-256 commit-reveal as Stake, Roobet, BC.Game
- Verification time is roughly 30 seconds per round once you have a script set up
What we don't
- Does not cover slots, live casino, or sportsbook outcomes
- Verification math is non-trivial for non-developers
- Most players never actually verify, defeating the practical benefit
- Provably fair does not protect against withdrawal disputes or KYC delays
- Rotating server seeds frequently is a UX hassle
FAQs
Try it yourself. Open with code MAXBET, play a Dice round, then verify the result. The math will check out.
Claim MAXBET at Shuffle →