PlayCanadaSlots

Provably Fair Games: How to Check a Result Yourself, Step by Step

Published
On this page
  1. The Three Numbers That Build Every Outcome
  2. Why the Hash Comes First
  3. Replaying the Round Yourself
  4. What the Hash Check Doesn’t Cover
  5. Quick Answers to the Questions That Trip People Up
Five red translucent dice on a white surface
Photo: Red Dice by Markyboy81, CC BY 2.0

A provably fair casino publishes a SHA-256 hash of a secret server seed before you risk a single sat. That hash is the only reason you can later prove whether your bet was settled honestly. The check is hands-on: you replay the round yourself, using the same seeds the operator used, and see if the number matches. If it does, the round wasn’t rewritten after you clicked. If it doesn’t, something is wrong. The whole system hangs on three pieces of data and a one-way function—and you can verify it with a browser tab and a free hashing tool.

The Three Numbers That Build Every Outcome

The machinery of a provably fair round runs on a server seed, a client seed, and a nonce. The server seed is pre-generated by the operator and kept secret until after you play. The client seed is supplied by you—if you leave the default “00000000000000000000000000000000” intact, the operator’s documentation says you should replace it with your own string before betting (a documented source). The nonce increments by one with each new bet, ensuring every outcome is unique; depending on the site, it starts at 0 or 1 (a documented source). Some platforms, like SLM.Games, add a fourth piece called a cursor, but the core triplet appears almost everywhere.

These inputs are fed into HMAC-SHA256, the same hash-based message authentication code used in web security. The Ember Fund help center describes it as the one-way hash function that processes the three values into a random byte sequence. More precisely, HMAC-SHA256 takes the server seed as the cryptographic key and the combined client seed and nonce as the message (ProvablySmart.com). The typical construction is HMAC-SHA256(server_seed, client_seed:nonce)—the colon denotes concatenation—and the resulting 256-bit digest is what gets turned into your dice roll, card, or crash point.

Nobody can reverse the hash to find the server seed from a publicly visible outcome. That asymmetry is the centre of the promise.

Why the Hash Comes First

The operator does not reveal the server seed upfront. Instead, it publishes the seed’s SHA-256 fingerprint, a 64-character hex string you can copy before play. Documentation states that the verification flow begins when the player supplies a client seed, the operator combines server seed, client seed, and nonce, and then, only after the bet settles, reveals the original server seed so you can check it locally.

This commitment-before-the-bet sequence means the casino cannot see your wager and then cook a favourable seed, because the real seed must later match the fingerprint already in your possession. It is stated bluntly: the server seed is pre-generated, a hashed version is given before you play, and after the round you can reveal the actual seed and compare it against the earlier hash. If the re-computed SHA-256 of the revealed seed matches what you noted down, the seed wasn’t swapped mid-game. A verification guide spells out the same order: the server seed is shown only after the server seed hash is already in your hands.

That step—hashing the revealed seed with any online SHA-256 tool and seeing the same string—is the first half of the check. It proves the seed existed before the bet. It does not, by itself, prove the outcome.

Replaying the Round Yourself

The second half requires you to recompute the result. You take the revealed server seed, your client seed, and the nonce for that particular bet from the game’s bet history. The three inputs go into an HMAC-SHA256 calculator, with the server seed as the key and client_seed:nonce as the message. The output is a hexadecimal hash. How that hash becomes a game result varies by title—for a dice roll, the first few bytes might be interpreted as a fraction of 100. For a crash multiplier, the same bytes feed a different formula. The operator must document the conversion method; otherwise you cannot replay the round.

Documentation describes the identical workflow: the API hashes server seed, client seed, and nonce together, the server later reveals the original server seed, and the player checks it. You don’t need the operator’s verification widget if it gives you the raw seeds. A generic HMAC-SHA256 web tool and the SHA-256 hash of the seed are enough.

Whatever number appears in your calculator tab should match the result logged after your bet. If it does, the randomness came from seeds that were fixed before you wagered. If the operator won’t give you the seeds at all, there’s nothing to verify. A site that hides its server seed after the fact hasn’t provided the obligation that makes “provably fair” mean anything.

What the Hash Check Doesn’t Cover

Here is where the vocabulary misleads players. The cryptographic check only says that the outcome was generated by those specific seeds and that the operator could not have altered the sequence retroactively. It cannot tell you whether the odds are fair.

The return-to-player percentage, the house edge, the payout table, the maximum win, the rules that convert a hash into a game event—all of those are set by the operator, not by the hash function. A provably fair dice site can advertise a 1% edge and quietly code a 10% edge into the conversion logic. The seed check will pass every time. Short of auditing the source code, you are taking the operator’s word on the maths. Provably fair means the randomness is verifiable. It does not mean the economics are.

The distinction is not academic. It is stressed only that the player can confirm the result wasn’t manipulated, not that the game is regulated or the house edge disclosed. The phrase “provably fair” is a technical claim about a specific cryptographic scheme, not a consumer-protection label.

Quick Answers to the Questions That Trip People Up

What is the nonce, really? A counter that ticks up by one with every bet. It can begin at 0 or 1 depending on the casino (ProvablySmart.com). It is confirmed the increment-per-bet rule. If you see the same nonce twice in a session, something is broken.

Does changing my client seed change the outcomes? Yes, completely. A different client seed alters the HMAC input, which produces a different hash stream. Many guides urge you to set a custom client seed before betting so the operator cannot pre-calculate a sequence that favours the house under a default seed.

What if I want a fresh server seed? Typically, you change your client seed and the operator generates a new server seed, publishing its hash before you resume. You cannot demand a new server seed mid-round, but before the next bet you can trigger a rotation by updating the client side.

Does the hash commitment prove the casino is honest long-term? It proves that a particular round was settled with the seeds that existed when you placed the bet. Over thousands of bets, it offers no guarantee about the aggregate return, the game’s edge, or the operator’s solvency. It is a per-round assurance, not an audit.

What you can verify is that the digits on your screen came from the seeds you knew about before the round began. What you cannot verify—ever—is whether the game was designed to bleed your balance quickly or slowly. That part is still written in the operator’s rules, not in the hash.