PROVABLY FAIR

HOW IT WORKS

Four steps, no maths required

  1. 1WE COMMIT TO A SEED

    Before your bet, we generate a server seed and publish its SHA-256 hash. A hash cannot be turned back into the seed.

    SHA-256(server seed)

  2. 2YOU ADD YOUR OWN

    Your client seed goes in beside it.

    client seed

  3. 3THE COIN IS THROWN

    When the bet settles we combine the two seeds and the nonce with HMAC-SHA256, and read the side off the first four bytes.

    HMAC-SHA256(server seed, client seed : nonce)

  4. 4WE REVEAL THE SEED

    When the bet settles we publish its server seed, which you can hash yourself.

    SHA-256(revealed seed) == published hash

YOUR SEEDS

One server seed per bet · your client seed is yours to set

THE SERVER SEED

Every bet gets its own. We publish its SHA-256 hash on the bet’s page before anyone can join, and the seed itself when the bet settles.

Hash published
when the bet is created
Seed revealed
when the bet settles
Nonce
0 — one seed pair, one bet

THE CLIENT SEED

Half of every result is a value you choose. Sign in to set one for every bet you create. Until then each bet gets a random seed, published with the bet either way.

SIGN IN TO SET YOURS

VERIFICATION TOOL

HMAC_SHA256(key = server seed, message = client seed : nonce)

Runs entirely in your browser.

The digest is computed by your browser’s own Web Crypto implementation.
Fills in the other three from your history.
0 for every bet — each one has its own seed pair, so there is nothing to count.
Published on the bet's page when it settled.
Yours. It is joined to the nonce to form the message.

RESULT HISTORY

18 bets · each with its own seed pair

Every bet, with the values that produced its result
BET IDSETTLEDSERVER SEEDNONCERESULTVerify
bet_681dbff8—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_63b43e0121 Aug 07:032fc8b2c7a2…c56acf0HEADS
bet_30cd80bf21 Aug 07:037e13353c10…3e47860HEADS
bet_f6fe591e—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_85c0f3f5—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_2cb6c1ff—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_14940cd421 Aug 06:49538a887e77…b4e6660TAILS
bet_d9cb761421 Aug 06:49060242f1e5…5d331d0TAILS
bet_71ace23f21 Aug 06:487f28ce540f…3c32510HEADS
bet_7fad78b421 Aug 06:485e4378017c…70c2ca0TAILS
bet_ae2f563b21 Aug 06:462109dba530…6b908e0HEADS
bet_4c6408d621 Aug 06:4620be6a523c…cb78200TAILS
bet_42964668—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_3f71717e—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_2ce46ce4—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_eefcff8a21 Aug 06:395e1377fd11…e2ab680HEADS
bet_be852daa—***HIDDEN UNTIL SETTLEMENT***0—not settled
bet_866dd62b17 Aug 05:1289911a79ef…5e78bf0TAILS

VERIFY fills the tool above with that row’s four values and runs it. Full seeds live in the tool’s fields and on each bet’s own page.