Provably fair is either a real cryptographic guarantee or a marketing phrase. This tutorial shows you how to tell the difference by actually checking a bet yourself on Chips.gg, step by step.
What you need
- A Chips.gg account with at least one completed bet on an Original game (Dice, Crash, Simplified Roulette, Advanced Roulette, or any of the 13 Originals)
- The bet ID or round ID from that bet
- A browser with access to the Chips.gg provably fair overview at chips.gg/en/provablyfair/general-overview
- Optionally: any HMAC-SHA256 calculator (dozens are freely available online)
One thing worth knowing up front: provably fair verification only applies to Chips.gg's Original games (Provably Fair). Third-party slots and live dealer titles from providers like Pragmatic Play or Evolution are audited by independent testing labs, not verified bet-by-bet with cryptographic seeds. If you want the round-by-round proof, you need to be playing an Original. For context on how that audit model works instead, Provably Fair: What the Audit Proves (and What It Doesn't) covers the distinction clearly.
How provably fair actually works
Before you can verify anything, it helps to know what you're verifying.
The casino commits to a server seed before your bet by publishing its SHA-256 hash. You can see that hash, but not the seed itself, so the casino cannot change the outcome after you've bet (Provably Fair or Just Marketing? How to Verify Every Spin...). You contribute your own client seed. The two are combined using HMAC-SHA256, where the server seed acts as the key and your client seed plus a nonce acts as the message. That calculation produces the result.
The nonce is a bet counter. It increments by one with every bet, so the same pair of seeds still produces a different outcome each round, and every round is independently checkable. After you rotate your client seed (or the server seed is revealed), you get the raw server seed and can recompute any historical result yourself.
Neither side controls the output alone. That's the point.
Step 1: Find your bet's seed data
After a completed bet on any Original game, open the bet detail view. On Chips.gg, this is typically accessible from your bet history. Look for a fairness or provably fair icon or link attached to that specific round. Clicking it will surface the four values you need:
- The server seed hash (shown before the bet)
- The revealed server seed (shown after you've rotated seeds or the round has closed)
- Your client seed
- The nonce for that specific bet
If the server seed is not yet revealed, you'll only see the hash. That's normal: the seed is revealed when you change your client seed, which locks the previous seed pair and exposes it for verification.
Step 2: Change your client seed to unlock past rounds
To get the revealed server seed for a batch of bets, you need to rotate your client seed. Chips.gg's help center publishes a dedicated guide on changing your client seed for Dice, Crash, Simplified Roulette, and Advanced Roulette at help.chips.gg.
Navigate to the provably fair or seeds section of your account settings. Enter a new client seed of your choice (or use the randomly generated one) and confirm the change. This closes the current seed pair and reveals the previous server seed. You can now verify every bet made under that pair.
Step 3: Recompute the outcome
With the revealed server seed, your client seed, and the nonce in hand, open any HMAC-SHA256 calculator.
- Set the key to your revealed server seed
- Set the message to your client seed, a colon, and the nonce:
[client seed]:[nonce]
- Run the calculation
The output is the raw hash that Chips.gg's engine converts into your game result. The conversion formula varies by game (Dice maps the hash to a number in the possible range, Crash uses additional steps to derive the multiplier), and Chips.gg documents each game's specific formula on the provably fair overview page (Provably Fair chips.gg). Compare the hash you generate to the one recorded for your bet. They should match exactly.
If you'd rather see this applied to a specific game, the help center's individual guides for Dice and Crash walk through the full worked example. The Dice on Chips.gg: Edge, Odds, and Bankroll Fit post also explains the underlying mechanics if the math needs more context.
Step 4: Cross-check the server seed hash
This step closes the loop. Before you ever bet, the casino published a SHA-256 hash of the server seed. Now that you have the revealed server seed, run it through any SHA-256 calculator and confirm it produces the same hash you were shown at the start.
If it matches: the casino committed to that seed before your bet and couldn't have changed it afterward. If it doesn't match: something is wrong, and that's worth reporting.
Check it worked
A successful verification looks like this:
- The HMAC-SHA256 output you calculated matches the hash recorded for your bet
- The SHA-256 hash of the revealed server seed matches the hash you were shown before betting
- The game result the site shows corresponds to what the formula produces from that hash
All three should align. If only the first two match but the result looks off, check which game-specific conversion formula you used: the mapping step differs between Dice, Crash, and Roulette.
If something doesn't line up, start by confirming you have the nonce exactly right (off by one is the most common error) and that you used the correct format for the message string. Chips.gg's help center has game-specific guides if you need to check the exact formula for a particular Original.
This process takes about five minutes once you've done it once. That's the honest version of provably fair: not a badge on a homepage, but arithmetic you can run yourself on any bet, at any time, even after the session is over.