🔍 TOOL · RUNS IN YOUR BROWSER

Provably Fair Calculator

Paste the revealed server seed, your client seed and the nonce. I recompute the HMAC and the game result in your browser and show every step, so you can check a casino instead of trusting it.

BC.Game-style and other casino-specific formulas: coming as soon as I can verify them against official documentation. I do not ship formulas I cannot check.

How provably fair works

Before you bet, the casino generates a secret server seed and shows you its SHA-256 hash. That hash is a commitment: the seed cannot be changed later without the hash changing too. You supply a client seed, which the casino cannot predict, and every bet increments a counter called the nonce.

For each bet, the casino runs HMAC-SHA256 with the server seed as the key and "clientSeed:nonce" (plus a round counter when more than 32 bytes are needed) as the message. The output bytes are turned into numbers between 0 and 1: four bytes per number, each byte divided by 256, 256², 256³ and 256⁴ and summed. The game then maps that number to an outcome. Dice multiplies by 10,001 and divides by 100; roulette multiplies by 37; Plinko uses one number per row to decide left or right; Limbo divides 100,000,000 by the number, applies the house edge and floors to two decimals.

When you rotate seeds, the old server seed is revealed. Paste it here with your client seed and the nonce of any past bet and the result must match exactly. If it does not, either the casino changed something or you are using the wrong formula; both are worth knowing.

Provably fair FAQ

What does "provably fair" actually prove?

That the result of a bet was fixed before you placed it and could not be changed afterwards. The casino commits to a secret server seed by publishing its hash, you add your client seed, and each bet uses a counter (the nonce). Once the server seed is revealed, anyone can recompute every result.

Why does my result not match?

Nine times out of ten: wrong nonce (it starts at 0 on some sites and 1 on others), a client seed with a trailing space, or a formula that is not the one your casino uses. Check the "formula" selector and the house edge. If everything matches and the result still differs, that is worth a complaint and a message to me.

Is anything sent to your server?

No. The calculation uses the WebCrypto API built into your browser. You can disconnect from the internet after the page loads and it keeps working.

Which casinos use the Stake-style formula?

Stake publishes it, and several originals-style casinos copied it, but I only label a formula with a casino name when I have verified it against that casino's own documentation. Everything else is "generic" until then.