CryptoDrawz

Provably fair calculator

Gambling sites that call themselves provably fair let you check a result after you play. Enter the server seed, your client seed and the nonce to recompute the HMAC-SHA256, the number it produces and whether the hashed seed the site showed you matches.

Server seed commitment

Results

RoundHMAC-SHA256Number 0 to 1Dice 0.00 to 100.00

This implements a very common scheme: HMAC-SHA256 with the server seed as the key and "clientSeed:nonce:round" as the message, with the first four bytes turned into a number between 0 and 1. Sites differ in details, so use the formula the site publishes; if yours matches this one, the numbers above will match your result. A match proves the result was not changed after your bet. It does not prove the odds are good for you.

How provably fair betting works

  1. 1Before you bet, the site shows you the SHA-256 hash of its secret server seed. This is a commitment: it cannot change the seed later without changing the hash.
  2. 2You provide or accept a client seed. Each bet uses a nonce, a counter that increases with every bet.
  3. 3The result is computed from the server seed, client seed and nonce, usually with HMAC-SHA256.
  4. 4After you rotate the seed, the site reveals the old server seed. You hash it and check it matches the commitment, then recompute your bets.

What it proves, and what it does not

  • It proves a result was not changed after you bet.
  • It does not prove the game's odds are fair or the payouts good for you. A game can be provably fair and still have a big house edge.
  • It does not prove the operator will pay winnings.
  • Formulas differ between sites, so use the one the site publishes.

Lottery draws use the same idea

A lottery can commit to its ticket list with a hash and then use a public random value. That is how CryptoDrawz draws work, with the random value coming from the drand beacon rather than a secret seed held by the operator. See how to verify a CryptoDrawz draw.

Prefer a lottery you can check?

CryptoDrawz: a weekly draw with 90% paid out.

$5 tickets paid in crypto. The winners come from a public random value, and every result is published so you can recompute it yourself. 18+ only.

Frequently asked questions

What is a server seed?

A secret value the casino generates. It publishes only its hash before you play and reveals the seed later so you can verify.

What is a client seed and a nonce?

The client seed is your own input, so the casino cannot choose results alone. The nonce counts your bets so each one differs.

Does a matching result mean I was treated fairly?

It means the result was computed as promised. It does not tell you whether the odds are good.

Does this work for every site?

Only for sites that use HMAC-SHA256 with this message format. Many do with small variations. Check the site's documentation.

Related tools and guides

More in Crypto and fairness