Provably Fair Seed Verifier
Independently verify any provably fair game result. Confirm that the casino did not manipulate the outcome after your bet was placed.
Verification Inputs
Verification Results
Enter your seeds and click Verify Result to check the game outcome.
What is Provably Fair?
The Commitment Scheme
How the Result Is Derived
Verifying After the Bet
Why It Matters
1. Casino commits: hash = SHA-256(serverSeed)2. Player sets: clientSeed + nonce3. Result = f(HMAC-SHA256(serverSeed, clientSeed:nonce:0))4. After bet: serverSeed revealed, player verifies hashUnderstanding Provably Fair Gaming
What Does "Provably Fair" Mean?
Provably fair is a cryptographic framework that allows players to independently verify that the outcome of each casino game round was determined fairly: that neither the casino nor any third party altered the result after the bet was placed. Unlike traditional online casinos where players must trust that the random number generator (RNG) is functioning correctly, provably fair systems give every player the mathematical tools to audit every single outcome themselves.
The concept was pioneered by Bitcoin gambling sites around 2012 to 2013, when the combination of cryptographic hash functions and transparent blockchain technology enabled a new class of casino that could prove fairness without requiring a trusted audit authority. Today, provably fair is standard at crypto casinos like Stake, BC.Game, and Roobet, and has become a core trust signal in the industry.
Critically, provably fair does not guarantee that a game has a favorable expected value, that the RTP advertised is accurate, or that the casino is legitimate in other respects. It only guarantees that the specific outcomes you received were generated by the published algorithm and were not tampered with. A game can be provably fair and still have a 10% house edge. Provably fair speaks to manipulation prevention, not fairness of the edge.
How Cryptographic Verification Works
Provably fair systems use three components to generate verifiable randomness: a server seed, a client seed, and a nonce (a sequential counter). These three inputs are combined and hashed to produce the game outcome. The key insight is that the casino commits to the server seed before the bet by providing its hash (SHA-256 fingerprint). They cannot change the seed without changing the hash, which you recorded.
The beauty of this system is that neither party can cheat. The casino cannot change the server seed after seeing your bet (because they already committed to its hash). You cannot change your client seed to influence the outcome (because the server seed was fixed before you could know it). The nonce ensures each bet produces a unique outcome even with the same seeds.
SHA-256 Hashing Explained
SHA-256 (Secure Hash Algorithm 256-bit) is a one-way cryptographic function that transforms any input into a fixed 64-character hexadecimal output called a hash or digest. "One-way" means you can compute the hash from the input trivially, but you cannot reverse-engineer the input from the hash. It would take more computational energy than the sun produces to brute-force a SHA-256 hash.
This avalanche effect is what makes the commitment scheme trustworthy. The casino cannot find a different server seed that produces the same hash as their original commitment. SHA-256 collision resistance makes this computationally infeasible. When you verify that the revealed server seed hashes to the value committed before your session, you have cryptographic proof the seed was not changed.
Step-by-Step Verification Process
Verifying a provably fair bet is straightforward once you understand the components. Here is the complete process for any provably fair casino:
Before you play: Note the server seed hash displayed in the fairness panel. Optionally change your client seed to something unique. This is your personal input to the randomness. Record the current nonce (bet count).
After the session: Navigate to the fairness or bet history section. Click "Reveal" or "Rotate Seeds" to request the casino reveal the server seed. The casino is now obligated to show you the original server seed.
Verify the commitment: Compute SHA-256(revealed_server_seed) yourself using any online SHA-256 tool or this tool's calculator. It must match the hash that was shown to you before the session. If it doesn't match, the casino cheated.
Verify the outcome: Compute HMAC-SHA256(server_seed, client_seed + ":" + nonce) for any specific bet. Convert the resulting hex to a number within the game's outcome range using the casino's published algorithm. This should match the outcome you received. Stake and BC.Game publish their exact conversion formulas in their fairness documentation.
Stake and BC.Game Specific Implementation
Stake uses HMAC-SHA256 with the server seed as the key and clientSeed:nonce:round as the message (round starts at 0 and increments only when a game needs more bytes). The resulting bytes are converted to game outcomes by taking successive 4-byte chunks (8 hex characters), reading each as a 32-bit integer, and dividing by 2^32 (4,294,967,296) to get a number between 0 and 1. That float is multiplied by the number of possible outcomes and floored. Multiple chunks are used for games requiring multiple random values (e.g., mine placement in Mines, multiple cards in Hilo).
BC.Game uses a similar HMAC-SHA256 approach but applies additional derivation steps for games like Crash, where the outcome needs to follow a specific exponential distribution. Their full algorithm documentation is published on their website under the "Provably Fair" section of each game.
Both casinos allow seed rotation at any time. Changing your client seed ends the current server seed session and begins a new one. Always rotate seeds after a long session, as this limits the number of bets any single server seed is responsible for, reducing the theoretical (but practically infeasible) risk of seed prediction.
Game Outcome = HMAC-SHA256(server_seed, client_seed + ":" + nonce)1. Casino generates server_seed (secret)2. Casino provides server_seed_hash = SHA256(server_seed) to player3. Player sets client_seed (can be anything, even random text)4. Nonce starts at 0, increments each bet5. Outcome bytes = HMAC-SHA256(server_seed, client_seed:nonce:0)6. After session, casino reveals server_seed7. Player verifies: SHA256(revealed_seed) = committed_hashbytes = HMAC_SHA256(server_seed, client_seed + ":" + nonce + ":0")chunk = bytes.substring(0, 8) // first 4 bytes (8 hex chars)value = parseInt(chunk, 16) // 32-bit integerfloat = value / 2 ** 32 // number in [0, 1)Roll = floor(float × 10001) / 100 // 0.00 to 100.00Frequently Asked Questions
Q: Does provably fair mean the casino cannot cheat me?
A: Provably fair means the casino cannot alter specific game outcomes after committing to a server seed. It does not prevent all forms of cheating: a casino could still advertise false RTPs, manipulate jackpot frequencies, or selectively offer provably fair on some games while running opaque RNGs on others. Always verify the specific game you are playing uses provably fair and that the house edge matches what is advertised.
Q: Can I influence the outcome by changing my client seed?
A: No. Changing your client seed changes the outcomes you will receive, but since the server seed is already fixed (you have its hash), neither you nor the casino can predict which outcomes the new client seed will produce. Changing seeds is good practice for session management but has no effect on your expected outcomes or house edge.
Q: Do all crypto casinos use provably fair?
A: No. Many crypto casinos accept cryptocurrency payments but use traditional (non-verifiable) RNGs. True provably fair requires the casino to publish seed hashes before each bet and reveal seeds afterward. Always look for a dedicated fairness section in each game's interface. If you cannot find seed values and verification tools, the game is not provably fair regardless of what the casino claims.
Q: How do I verify a bet outcome if I don't know how to code?
A: You don't need to code. Multiple online tools accept server seed, client seed, and nonce as inputs and output the expected game result for Stake, BC.Game, and other major provably fair casinos. This tool's calculator above handles Stake's most popular games. You can also use command-line tools like openssl: echo -n "client_seed:nonce" | openssl dgst -sha256 -hmac "server_seed", no programming required.
Take Your Edge Further
GAMB·8 gives you automated bot strategies, real-time analytics, poker HUD, and sports intelligence: all the tools to find and exploit +EV opportunities.
