commit–reveal

Check it yourself

Every outcome comes from HMAC-SHA256(serverSeed, clientSeed:nonce:cursor). You are shown the hash of the server seed before you bet, and the seed itself when you rotate — so you can check afterwards that we could not have changed anything.

Sign in to see and rotate your seed pair. The verifier below works without an account.

Verify a bet

runs in your browser, no server involved

You can also reproduce the first step by hand: printf "%s" "$SEED" | shasum -a 256 must equal the published hash.

Reference vectors

this build matches the published vectors

Known inputs with known outputs, recomputed by the code running in your browser. Anything that implements sha256 and HMAC-SHA256 should reproduce these — check them against your own tools rather than taking ours on trust.

Server seed (input)
Client seed : nonce : cursor
test:0:0
sha256(serverSeed)
60e05bd1b195af2f94112fa7197a5c88289058840ce7c6df9693756bc6250f55
HMAC block
c07c6fe56b1ebb2b65b37dac23e1c9a2e9f5238bbcd1736b9106631e0f986c10

Reproduce the first line yourself: printf "%s" "00000000…" | shasum -a 256. The full set lives in packages/fairness/VECTORS.md.