Provably fair What is Provably Fair? Provably fair is a way of coding a crypto casino's game algorithms so that you can easily verify, after the game is played out, that the result of a spin, round, etc., was generated fairly. This type of coding utilizes the SHA-256 hash and a process called a commitment scheme. Here's a short rundown of the steps involved and the actual cryptonerd explanation. Commit the server's randomness, so the hash of it is made known to the user Generate a hash that is a combination of the two hash inputs Have the user input their randomness so that both the server and user hash inputs are now equal Add the user's hash to the hash combination and broadcast the final hash Verify the hash and confirm legitimacy on the client side
Why Provably Fair Matters
In a regular online casino you have to trust that the casino got the RNG right, that the third party audit by eCOGRA or iTech Labs was done right, that the casino hasn't modified the code since the audit and that the auditing company itself isn't corrupt. You are trusting a long chain of third parties and you have no way of verifying anything yourself.
With provably fair you don't have to trust anyone. The math is public, the verification tools are open-source and free, and any attempt to cheat would be immediately caught. That's a very different kind of fairness: from trusting a person to trusting the proof.
✅ In Canada, we can't rely on governments to force offshore casinos to be accountable for their actions, but at least having provably fair is a stronger guarantee than not having it at all. A casino that is licensed and has provably fair is at least slightly more accountable than one that is not.
How Provably Fair Works — The Technical Explanation
The Bitcoin system is composed of three main components and a one way cryptograph functions named SHA-256 hashing.
The Three Components
1. Server Seed (Casino's)
A random string produced by the casino before each round. The casino must lock this value. Example:
2. Server Seed Hash (The Commitment)
Hash of the server seed (SHA-256) This is a hash value of the server seed, given to players before the start of a new round. The seed itself remains a secret (one can try to look into the source of the hash, but it's a one-way street). It serves to lock the output of a (presumably) pseudorandom number generator.
3. Client Seed (Your Contribution)
Some arbitrary string that you can feed in, or even just have your browser generate (like a random sentence or any string of numbers that look different). The idea is that you have some influence over the end results and that the casino could not have prepared an answer for the specific string you input, because the house does not know the string you will use for generating the seed on your end, since they did not generate that particular string.
How SHA-256 Hashing Prevents Cheating
SHA-256 is a one way hash which means from input to hash you can calculate it very quickly but from hash to input there is no practical way. So in the casino they hash the server seed and then publish the hash (as a hash is typically a string of letters and numbers) before you place a bet. This therefore locks the casino seed (and therefore the hash) at a point in time meaning you can't get the seed from the hash (so you can't work out the random numbers) and they only publish the hash at that one point in time (so you can't work out the seed at a future point in time). They then reveal the seed after the round so you can hash it and verify the hash they produced prior to you placing a bet matches the hash of the seed they actually used. Which would be instantly detectable if they tried to change the seed to make a different outcome.
✅ You can hash a string using SHA-256 online here: emn178.github.io/online-tools/sha256.html With a hash of a string, you can verify whether the string given as input remains the same even in the presence of typoes. In particular, even if you modify the string just a bit the SHA-256 hash of the string changes a lot (i.e., the hashes become completely different) on purpose to ensure that small changes are always easy to detect.
The Full Provably Fair Round — Step by Step
The Nonce
The nonce is just a round counter; 1 for the first bet with the given server seed, 2 for the second, and so on. Using the nonce guarantees that the outcome of each bet is unique, even if the same pair of server and client seeds are used (i.e. the outcomes are not identical for different rounds; but each round is independently verifiable).
How to Verify a Provably Fair Result Yourself
All casinos with provably fair games always offer a verification tool within the game interface or in the game history section. Here is the general approach used in practice, which has been implemented for example in Dice, Crash, Mines and many other such games:
-
Find the game history
You should be in your Bet History or Game Log page. Select the round that you wish to check. Find the Server Seed Hash (string that shows up before your bet) as well as the Client Seed and Nonce. These values are located before the round you have selected, under the bet box. The actual Server Seed, which will be used for verification, will be revealed right after the round you selected, so make sure to glance down to include it in your check.
-
Confirm the server seed hash
Take the revealed server seed, hash it with SHA-256 cryptographically secure hash function (you can use online tool here emn178.github.io). The resulting hash should be the Server Seed Hash shown to you before the start of the round. In case the hash does not match, it means that the casino has altered the seed.
-
Re-calculate the outcome
Implementation Note HMAC server seed Implementation: SHA256 HMAC with server seed as key, clientSeed:nonce as input, then convert the resulting hex string to a number and apply the following formula to get the random number, where the formula for Dice is
(hexInt % 10001) / 100. -
Compare with the displayed result
Yes that is correct. A Casino usually displays the true RNG Seed. If you can calculate the outcome from that seed then the spin of the Wheel of Fortune was a Fair Spin. If the spin was not Fair then the Casino manipulated the true Seed in some way. Please note that most Casinos nowadays put a One Click verifier on the bet history page, which performs the steps 2-4 for you.
⚠️ CHANGE CLIENT SEED REGULARLY It is recommended to change the client seed for every round played. Some players change client seed on a session by session basis and keep a list of seeds along with a sample of past results. In theory you can check at any time.
Which Games Are Provably Fair?
Provably fair is relatively easy to implement in games with a simple, single number outcome. Complex games such as slot machines, and live dealer games are technically possible but are currently rare in practice.
✅ Slots & live dealer Traditional slots use certified Random Number Generator (RNG). Rare exceptions exist but none have seen a provably fair slot being widely used in a casino. The small number of casinos that implemented provably fair slots, did not have it for their main slots library. Live dealer games are using physical true randomness, like cards or a wheel, so provably fair isn't applicable.
Provably Fair vs. Certified RNG — What's the Difference?
| Feature | Provably Fair | Certified RNG (eCOGRA etc.) |
|---|---|---|
| Who verifies? | You — independently, any time | Third-party auditor only |
| Verification timing | After every single bet | Periodic audits (months apart) |
| Requires trust? | No — mathematical proof | Yes — trust the auditor |
| Retroactive manipulation detectable? | Yes — immediately | Not by players |
| Game types covered | Dice, Crash, Mines, etc. | Slots, table games, all types |
| Available at traditional casinos? | No | Yes |
| Player transparency | Full — open source algorithms | Partial — audit reports only |
Neither is inherently better, though: a casino with a certified RNG will cover a broader array of games, while provably fair often provides more individual player assurance for games that are certified on an individual basis. Ideally, a casino will have a mix of certified RNG and provably fair certification across all of their in-house games – a full suite of slots with an RNG, and their in-house tables and other games with provably fair verification.
Best Provably Fair Casinos for Canadians
Fair casinos using provably fair algorithms Casinos listed below have working, fully documented and have personally verified provably fair algorithms:
- Bspin.io — Extensive provably fair game library. Full verification tool built into bet history. Dice, Crash, Mines, Plinko, Keno all supported.
- Bitcasino.io — Provably fair on in-house games + Spribe Aviator. SHA-256 verification tool on all eligible games.
- Wild.io — Crash and Mines with provably fair. Also has a large certified-RNG slots library from top providers.
- FortuneJack — One of the oldest provably fair casinos. BTC Dice is the flagship provably fair game with a very transparent system.
- Metaspins — Spribe games (Aviator, Mines, Plinko) all provably fair. Verification links in game history.
See our full list: Best Provably Fair Casinos Canada →
Limitations of Provably Fair
Provably fair does not solve all trust issues: - Only applies to our supported games - The majority of slot and live dealer games used in casinos are not provably fair. - Does not guarantee that a payout will be issued - Having provably fair games does not ensure that a casino will honour a valid payout request. Always read reviews about the payout reliability of a casino that you choose to play at, from multiple reliable sources. - The implementation of the provably fair system can be flawed - Even in cases where the provably fair system is open source (i.e. available for anyone to inspect the code), there is no guarantee that a casino has implemented the protocol properly. Casinos with open source verifiers are considered to be slightly safer than those with closed implementations. - The house edge remains - Regardless of whether the outcome of the game is provably fair or not, the house edge will remain and will always mean that the expected value for the player is a loss over time.
⚠️ Bottom line: Proving that a casino game is fair is the holy grail of online gaming, however it's only a small part of the puzzle when it comes to considering the trustworthiness of the casino you're playing at. The other components to consider are: that the casino holds a legitimate gambling license; that wins are paid out in a timely fashion; and that the casino offers sufficient controls and resources to help gamblers moderate their behavior.
Frequently Asked Questions
Provably fair means that after a spin the fairness of the outcome can be proved to the player. It uses a SHA-256 cryptographic hash which mixes the server seed (casino) and the client seed (player) to create the result and the hash can be checked by the player to validate the randomness of the outcome.
Before a single round of a game, the casino (as the host) creates a server seed, which is always known by the casino before any random outcomes are generated. To allow a third-party auditor to verify this seed, the casino discloses the SHA-256 hash of that seed. Then the client seed used by the user is combined with the casino's server seed and an outcome is determined for that round. After the round is played and the results are known, the host casino discloses its original server seed. The user can then verify that the seed was correctly published as the SHA-256 hash of the seed matches the hash that the casino originally disclosed. The casino and the user can also re-compute the outcome that was generated by the seeded random number generator in the round. Verifying this computation guarantees that the actual random outcome that was used in the round was fairly generated.
No — if the system is properly designed. The casino wouldn't be able to change the server seed after you made your bet, because you'd know right away by noticing if the hash of the seed doesn't match the hash that was committed cryptographically. That's a mathematical property, not a claim.
The most popular provably fair casino games are Dice, Crash (also known as Aviator), Mines, Plinko, Keno and Limbo. Some casinos, although rarely, use provably fair for simple card games too. The majority of regular slots and all live dealer games rely on certified RNG (Random Number Generator).
No. While many crypto casinos that we review do use certified RNG (random number generator) from auditors such as eCOGRA or iTech Labs for their main game library, which does not necessarily mean that the games are provably fair, having the option to play provably fair games is more common on in-house games such as Dice and Crash. So always check which games support provably fair in the game rules or help section.
Responsible Gambling: Gambling should be entertainment, not a source of income. Set a budget and stick to it. If gambling stops being fun, use the self-exclusion tools on your casino or contact ConnexOntario: 1-866-531-2600.
Affiliate Disclosure — we earn commissions from some casinos linked on this site. This does not affect our editorial assessments.