Traditional online casinos ask you to trust them. When you play a hand of blackjack or spin a slot, you have no way to confirm the result was genuinely random — you just have to take the casino’s word for it.

Provably fair changes that completely.

It’s a cryptographic verification system built into every original game at Nice Games — everything we build in-house. Instead of asking for your trust, we give you the math. After every round on one of those games, you can independently verify that the result was fair, unaltered, and determined before you placed your bet.

Here’s exactly how it works.

The Core Idea: Commitment Before Action

The fundamental principle is simple: the casino commits to a result before you play, and proves it after.

Imagine a sealed envelope. Before each round, the casino writes the outcome inside and seals it. You can see the sealed envelope, but you can’t read what’s inside. After the round, the envelope is opened — and you can verify the outcome was written before your bet.

In cryptographic terms, the “sealed envelope” is a hash — a one-way mathematical fingerprint that proves the contents existed beforehand without revealing them.

The Three Ingredients

Every provably fair game uses three inputs to generate results:

1. Server Seed

A random string generated by the casino’s server. This is created using a cryptographically secure random number generator — the same kind used in banking and military encryption.

Before you play, you see a hash of the server seed (its mathematical fingerprint). The actual seed stays hidden until after the round. This is the commitment — the casino can’t change the seed after showing you the hash, because even a tiny change would produce a completely different fingerprint.

2. Client Seed

A random string that you provide. This is your input into the equation. You can set it to anything you want — your name, a random string, today’s date. The point is that the casino can’t predict what you’ll choose, which means they can’t pre-calculate a favorable outcome.

3. Nonce

A counter that increments with every bet. Your first bet under a given server seed uses nonce 0, your second uses nonce 1, and so on; rotating the seed resets it to 0. This ensures that even with the same server seed and client seed, every bet produces a different result.

How the Math Works

Nice Games uses HMAC-SHA256 — the same cryptographic algorithm used in TLS (the protocol that secures your browser), JWT authentication tokens, and cryptocurrency wallets.

The formula, using Dice as the example (each game varies the message slightly — Crash drops the trailing :0, while Plinko, Mines and the card games put the server seed inside the message as well as using it as the key):

hash = HMAC-SHA256(serverSeed, "clientSeed:nonce:0")

This produces a 64-character hexadecimal string — a sequence of numbers and letters that looks completely random but is entirely deterministic. Given the same inputs, the same hash is produced every single time.

The game then converts this hash into a game result. For example:

  • Dice: the first 13 hex characters (52 bits) are converted to a number between 0.00 and 99.99
  • Mines: the hash seeds a Fisher-Yates shuffle to randomly place mines on the grid
  • Plinko: each bit of the hash determines whether the ball bounces left or right at each peg
  • Tower: each floor uses a separate HMAC derivation to place the safe tile
  • Crash/Panic: the hash determines the crash point multiplier

The key insight: since you contribute the client seed, and the server seed was committed (hashed) before your bet, neither side can manipulate the outcome.

Verification: Don’t Trust, Verify

When you rotate to a new server seed, Nice Games reveals the one you were just playing under — it is never shown while it is still in use. Once it is revealed, every bet made under it becomes verifiable. Here’s how you verify:

  1. Check the commitment — take the revealed server seed and run SHA-256 on it. The result should match the hash you were shown before the game.
  2. Recalculate the result — plug the server seed, your client seed, and the nonce into the HMAC-SHA256 formula. Apply the game-specific conversion.
  3. Compare — the result you calculate should exactly match the result the game showed you.

If any step doesn’t match, the game was tampered with. It’s that simple.

You can do this manually using any HMAC-SHA256 calculator, or use the built-in verification tool in the game’s fairness panel.

Why This Actually Matters

Skeptics might ask: “Can’t the casino just use a bad algorithm that looks fair but actually favors the house?”

The answer is no, and here’s why:

The algorithm is public. Every step of the process — from seed generation to result conversion — is documented and verifiable. You don’t need to trust our implementation because you can replicate it yourself.

The house edge is in the game design, not the randomness. In Dice, for example, the random number generation is perfectly fair — the house edge comes from the payout multipliers being slightly less than the true odds. This is transparent and published for every game.

Third-party verification is possible. Because the algorithm is open, anyone — players, auditors, developers — can build their own verification tools and confirm that our games produce fair results.

Provably Fair vs. Traditional Casino Fairness

Aspect Traditional Casino Provably Fair
Trust model Trust the casino and its auditor Verify it yourself
Verification Annual audit by third party Every single bet, in real time
Algorithm Proprietary, hidden Open, documented
Your input None Client seed influences every result
Timing Results checked after the fact Commitment made before each bet

How to Use Provably Fair on Nice Games

Every original game on Nice Games is provably fair. Here’s how to access the verification tools:

  1. Open any of our original games and look for the fairness icon (shield or lock symbol).
  2. View your seeds — you’ll see the server seed hash (commitment) and your current client seed.
  3. Change your client seed anytime — set it to whatever you want for extra peace of mind.
  4. After rotating, open the Previous Seeds tab in the fairness panel — it lists each revealed server seed with a Verify button that prefills the calculator for the bets made under it.
  5. Rotate seeds — when you rotate to a new server seed, the previous one is revealed so you can verify all bets made with it.

The Bottom Line

Provably fair isn’t marketing — it’s math. It’s the difference between “trust us, we’re fair” and “here’s the proof, check it yourself.”

Every original game at Nice Games — from Dice and Plinko to Blackjack and Panic — uses this system, and every bet you place on one of them can be independently verified.

Alongside our own games we also carry third-party titles from other studios. Those are not provably fair, and they can’t be: we don’t generate their results, so there is no server seed of ours to commit or reveal. They run on the provider’s own RNG, certified and tested by independent laboratories — the same standard a regulated casino floor runs on anywhere else. That split is normal across the industry, and being straight about it is what makes the guarantee above worth anything.

The line is easy to spot: our originals carry the fairness panel and the seed controls described above.

That’s what transparent gambling looks like.


This article is for informational purposes only. Gambling involves risk. You must be 18+ to gamble. Please play responsibly.