Provably Fair Casinos

Seven of the twelve casinos we track let you verify a result yourself. Here is who offers it, how to check a round in two minutes, and what the proof does not cover.

Provably fair: the casinos that qualify

1

Vavada

Top Pick

100% up to EUR 1,000 plus 120 free spins

Provably fair
4.9 /5 ★★★★★ ★★★★★
2

50% rakeback on slots

No KYCInstant payoutNo wageringProvably fair
4.8 /5 ★★★★★ ★★★★★
3

Up to $20,000 across your first four deposits

No KYCInstant payoutProvably fair
4.7 /5 ★★★★★ ★★★★★
4

Instant rakeback and VIP rewards from your first bet, code CENTR

Instant payoutNo wageringProvably fair
4.7 /5 ★★★★★ ★★★★★

A provably fair game lets you check, after the round is over, that the result was fixed before you placed the bet. Not promised. Not certified by a lab you have never heard of. Checked, by you, with a hash function you can run on your own machine.

That is a genuinely different trust model from the rest of the industry, and it is also narrower than the marketing suggests. It says nothing about the house edge, it does not cover the slots that make up most of any casino library, and a badge in a footer proves nothing at all. This page covers how the system actually works, how to verify a bet yourself in about two minutes, what the proof does not cover, and which of the casinos we track offer the real thing.

Which casinos here run provably fair games

There are two different things hiding behind the same phrase, and separating them matters more than any other distinction on this page.

Casino What it offers Games you can verify Trust Index
Stake Its own engine Stake Originals: Dice, Crash, Plinko, Mines, Limbo, Keno, Wheel and more 97
Duel Its own engine Crash, Mines, Plinko, Limbo 96
BC.Game Its own engine BC Originals: Crash, Plinko, Mines, Limbo, Hash Dice, Wheel 95
Mostbet Third party titles Spribe’s Aviator and the wider crash corner 91
Vavada Third party titles Crash games from Spribe and Turbo Games 94
Flagman Third party titles A provably fair section built on studio titles, mainly BGaming 86

A casino running its own engine controls the seeds and publishes the algorithm, so the whole chain from commitment to result sits with the operator you are betting against. A casino hosting a studio’s provably fair game is passing the guarantee through from someone else. Both are verifiable. The second gives you a smaller catalogue and puts the proof in the hands of a third party, which is not worse, just different. Aviator is the same game with the same guarantee wherever you find it.

How the system actually works

The whole thing rests on one idea from cryptography: a commitment. I can prove I knew a number in advance without telling you the number, by giving you its hash. Later I reveal the number, you hash it yourself, and if it matches the hash I gave you at the start, I could not have changed my mind in between.

Applied to a casino, that becomes four inputs.

Input Who controls it What it is
Server seed The casino A random 64 character hex string, generated before you play. You are shown its SHA-256 hash, never the seed itself, until you ask for it.
Client seed You A string you can set to anything. This is your contribution to the randomness, and the reason the casino cannot pick outcomes to suit itself.
Nonce Automatic A counter that goes up by one with every bet, so the same seed pair never produces the same result twice.
Cursor Automatic A byte offset, used when one round needs more randomness than a single hash provides. A game of Mines needs many numbers, a coin flip needs one.

Those four go into a keyed hash. The server seed is the key. The message is the client seed, the nonce and the round joined by colons. The output is 32 bytes of noise that is completely reproducible if you know the inputs, and impossible to predict if you do not.

HMAC_SHA256( key: serverSeed, message: "clientSeed:nonce:round" )

The first four bytes of that output are turned into a number between 0 and 1, and that number is mapped onto the game. On a crash game it becomes the multiplier the round busts at. On Mines it picks the tiles. On Dice it is the roll. The mapping is published, so there is nothing left to take on trust.

Why neither side can cheat

The casino cannot change the result, because the server seed was fixed and published in hashed form before you bet, and it cannot find a different seed that produces the same hash. You cannot predict the result, because you never see the server seed until the session is closed. The nonce stops replaying an old outcome. Change your client seed and the entire sequence changes with it.

Verify a bet yourself

This is the part almost nobody does, and it takes two minutes.

  1. Before you play, copy the server seed hash. It is in the fairness or provably fair panel, usually behind a shield icon in the game or in account settings. Save it somewhere outside the casino.
  2. Set your own client seed. Do not leave the default. Type something only you would pick. If a casino will not let you change it, stop there and read the red flags section below.
  3. Play, and note the nonce of the bet you want to check. Every bet in your history shows one.
  4. Rotate the seed. Rotating retires the current server seed and issues a new one, and only then does the casino reveal the old seed in plain text. You cannot verify a session while it is still running, by design.
  5. Hash the revealed seed. Run SHA-256 over it and compare the result, character by character, with the hash you saved in step one. If they match, the seed was fixed the whole time.
  6. Recompute the outcome. Feed the revealed server seed, your client seed and the nonce into HMAC-SHA256 and map the bytes the way the game does. Compare with what your bet history says happened.

Steps five and six run in about ten lines. This is Node, and it needs nothing installed.

const { createHash, createHmac } = require('crypto');

const serverSeed = 'the revealed 64 character seed';
const clientSeed = 'whatever you set';
const nonce      = 42;

// Step 5: does the revealed seed match the hash you were given?
console.log(createHash('sha256').update(serverSeed).digest('hex'));

// Step 6: rebuild the raw result of that bet
const bytes = createHmac('sha256', serverSeed)
  .update(`${clientSeed}:${nonce}:0`)
  .digest();

const roll = bytes[0] / 256
           + bytes[1] / 256 ** 2
           + bytes[2] / 256 ** 3
           + bytes[3] / 256 ** 4;

console.log(roll); // a number from 0 to 1, which the game maps to a result

Use the casino’s own verifier too, but never only that. A verifier hosted by the casino that sends your seeds back to the casino to be checked proves nothing. The point of the exercise is that you do not have to trust the party holding your money.

What the proof does not cover

This is where most pages on this subject stop, and it is the half that costs people money.

It does not remove the house edge. A provably fair Dice game with a 1 percent edge is provably a game you lose 1 percent of your turnover on. The proof covers whether the number was rigged, not whether the maths favours you. It does not.

It does not cover slots. A Pragmatic Play or Hacksaw slot runs on the studio’s own certified random number generator, on the studio’s servers. The casino has no access to it and cannot make it provably fair. Every casino in the table above runs the vast majority of its library this way, so on most of the games you play, the provably fair badge is not in force.

It does not cover the live casino. A dealer, a wheel and a camera cannot be hashed. Live games are governed by physical audit and licence conditions instead.

It does not prove the casino will pay you. Fairness and solvency are separate problems. A perfectly verifiable game at an operator that stalls withdrawals is still a bad account. That is why fairness is one input into our score rather than the whole of it, and why payout speed is measured separately on the instant withdrawal list.

It does not stop selective generosity. Because the casino knows the server seed and can see your client seed, it can compute the outcomes waiting under the current pair. It cannot change them. It can, in theory, decide when to nudge you toward rotating, or which promotions to show. This is a narrow gap and there is no evidence of it at the operators here, but honest is honest.

Provably fair against certified RNG

These are two different answers to the same question, and a good casino has both.

  Provably fair Certified RNG
Who checks it You, after every bet A testing lab, periodically
Who does it Casinos with in-house games Game studios, for slots and live
What is proved This exact round was not altered The generator is statistically sound and the advertised return is real
Covers return to player No Yes
Who you have to trust Nobody, if you run the maths The lab, and the licence that requires the audit
Typical names Stake Originals, BC Originals, Spribe eCOGRA, iTech Labs, GLI, BMM Testlabs

Certification answers a question provably fair cannot: is the advertised return to player the real one. Only a lab running millions of simulated rounds can establish that. Provably fair answers a question certification cannot: was this specific bet, the one you just lost, generated honestly. You want both, which is why our scoring treats a licence and third party auditing as part of the trust factor rather than accepting a fairness badge on its own. The full weighting is on the how we test and rate page.

Which games can be provably fair

The technique needs a game whose outcome is a small number of random values with published rules. That rules in the originals catalogue and rules out most of everything else.

Game What the random number decides
Crash The multiplier the round busts at. One value per round, which is why crash was the first game to make this popular.
Dice A single roll between 0 and 100. The simplest one to verify by hand.
Limbo A multiplier drawn against your target. Mathematically close to Dice with a different skin.
Mines Which tiles on the grid hold a mine. Needs many values, which is what the cursor is for.
Plinko The left or right bounce at every peg. One bit per row.
Keno, Wheel, Hash Dice Draws from a fixed set. Same method, different mapping.
Slots from a studio Not possible. The outcome is generated on the studio’s servers under its own certification.
Live dealer Not possible. Physical equipment, audited physically.

Red flags in a fairness page

Most casinos claiming to be provably fair are describing a feature they do not have. These are the tells, in the order they appear.

How we check it

We do not take the badge at face value. On every casino here we open the fairness panel, set a client seed of our own, place bets, rotate the seed, and confirm that the revealed server seed hashes to the value published beforehand. Then we recompute at least one outcome outside the casino, with the code above, and compare it against the bet history.

A casino that passes gets credit under the trust part of our rating. A casino that shows a badge but fails any step of that sequence does not, and we say so in the review. The reviewer’s name and the date of the last check sit at the top of every review page, so you can see when the test was actually run.

Which of these should you use

Stake has the deepest originals catalogue and the clearest published implementation, and it is the operator most third party verifier tools are built around. It also scores 97 on our Trust Index, the highest we have recorded, and its welcome offer is one of only two here that carries no wagering. See the no wagering list for that comparison.

Duel is the tightest package: four originals, payouts in 5 to 15 minutes, no wagering on any bonus it runs, and no document check to open an account, which puts it on the no KYC list as well.

BC.Game has the widest originals range of the three, including Hash Dice and Wheel, no stated withdrawal cap and a one dollar minimum deposit. The welcome package carries 30x wagering, so claim it deliberately rather than by default.

If you mainly play slots, none of this applies to the games you are actually playing, and you should be choosing on payout speed, licence and bonus terms instead. Bitcoin casinos and the currency pages are a better starting point in that case.

Gambling is for adults only. A verifiable result is still a result you can lose.

Provably fair: common questions

What does provably fair actually mean?
It means the casino commits to a secret server seed by publishing its SHA-256 hash before you bet, combines that seed with a client seed you control and a counter called a nonce, and derives the result from a keyed hash. After the session you can reveal the seed, confirm it matches the hash and recompute the outcome yourself.
Can a provably fair casino still rig the game?
It cannot change the outcome of a bet you have placed, because the server seed was committed in hashed form beforehand and hashes cannot be reversed. What the system does not do is remove the house edge, which is built into the payout table and works against you on every bet whether the result is verifiable or not.
Does provably fair apply to slots?
No. Slots run on the game studio’s own random number generator on the studio’s servers, verified by testing labs such as eCOGRA, iTech Labs or GLI rather than by you. Only in-house games such as Crash, Dice, Mines, Plinko and Limbo can be provably fair.
How do I verify a bet?
Save the server seed hash before playing, set your own client seed, note the nonce of the bet, then rotate the seed to reveal the server seed. Hash the revealed seed with SHA-256 and check it matches. Then run HMAC-SHA256 with the server seed as key and clientSeed:nonce:round as the message, and map the first bytes to a number between 0 and 1.
Why do I have to rotate the seed to verify?
Because if the casino revealed the server seed while the session was live, you could compute every upcoming result and bet with perfect knowledge. Rotation ends that session and starts a new one with a fresh commitment.
Is provably fair better than a licence and an audit?
They answer different questions and a good casino has both. Provably fair proves an individual round was not altered. A lab certification proves the advertised return to player is real. A licence gives you somewhere to complain when neither of those is the problem.
Which casinos here have their own provably fair games?
Stake, Duel and BC.Game run their own engines. Mostbet, Vavada and Flagman host provably fair titles from studios such as Spribe, Turbo Games and BGaming instead of operating an engine themselves.
What is a client seed and should I change it?
It is your input to the randomness, and yes, change it. Leaving the default means every input to the result came from the casino. Setting your own is the step that makes the guarantee meaningful, and it takes one click.

Other ways to narrow the list