Provably fair

Provably fair is a cryptographic system that lets you prove a casino didn't change a game's outcome after you placed your bet. Here's exactly how it works.

Provably fair simulator — dice & blackjack

Calculation

Enter the details of any round below to independently verify its fairness.

Game result

0.00 · 100.00

Code

// Code written in javascript
const clientSeed = '';
const serverSeed = '';
const nonce = 0;

const crypto = require('crypto');

function hmacSha256(key, message) {
  return crypto.createHmac('sha256', Buffer.from(key, 'hex'))
    .update(message)
    .digest('hex');
}

function roll(serverSeed, clientSeed, nonce) {
  const hash = hmacSha256(serverSeed, `${clientSeed}:${nonce}`);
  const RANGE = 10001;
  const MAX = 0xffffffff;
  const FAIR = MAX - (MAX % RANGE);
  for (let i = 0; i + 8 <= hash.length; i += 8) {
    const value = parseInt(hash.slice(i, i + 8), 16);
    if (value < FAIR) return (value % RANGE) / 100;
  }
}

console.log(roll(serverSeed, clientSeed, nonce)); // 0.00 - 100.00

1. Server seed

Before you bet, the casino generates a secret server seed and shows you its SHA-256 hash. It can't change the seed afterwards without breaking the hash.

2. Client seed

You supply (or randomise) your own client seed. Because you control it, the casino can't precompute a result that's bad for you.

3. Nonce

Each bet increments a nonce counter, so the same pair of seeds produces a different, deterministic result on every wager.

4. Rotate and verify

Rotate your seed pair. The casino reveals the old server seed. Hash it and compare to the hash you saw at step one — if they match, every result under that seed was fixed in advance.

What it does not prove

Provably fair proves the result wasn't tampered with. It does not remove the house edge, and it does not prove the casino will pay you out — that's what our casino rankings are for.

Duel.com

Ready to play provably fair games for real?

Duel.com is fair by design — 0% house edge, and you get 100% of the house edge back as rakeback. No KYC, instant payouts, zero friction. Sign up with code LuckIndex.

Play on Duel

18+ only · Gamble responsibly.