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
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.001. 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.

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.
18+ only · Gamble responsibly.