Skip to content
Bird's Eye
Fairness

Check any hand, roll or race yourself

Blackjack, hold'em, craps, horse racing, solitaire and the live tables all draw their cards, dice and finishing orders the same way, and you can check any of them without trusting us. Nothing here is money.

How to check a hand

  1. The house locks in its shuffle first. Before you play, it picks a secret number and shows you a fingerprint of it. If the number changed later, the fingerprint would no longer match.
  2. Play as normal. Every hand, roll and race is numbered, and worked out from that secret, a number of your own and the round number. Each finished round has a small “verify” link beside it.
  3. Tap verify once the secret is out. Reveal it below when you like (a live table reveals its own when it closes). Your browser then redoes the shuffle itself and says whether it matches what you were dealt.
The maths, for the curious
  1. Before you play, the server picks a secret seed and shows you only its SHA-256 hash. That is the commitment: it cannot change the seed later without the hash giving it away.
  2. You can set your own client seed before the first round. The server cannot have chosen its seed to suit yours, because it committed first.
  3. Every round is numbered by a nonce. The round's random number is HMAC-SHA256(server seed, "client seed:nonce:0"), with the first four bytes read as an integer and divided by 2^32. Under 0.5 is heads.
  4. When you rotate, the old seed is revealed. Paste it, your client seed and a nonce into the verifier below and the browser recomputes the number itself.
  5. Cards are shuffled with Fisher-Yates, taking as many of those numbers as the deck needs (the cursor counts up from 0); dice and races use them the same way. A live table has its own commitment: each shoe or deck takes the next nonce, and the seed is revealed when the table closes.

Loading the commitment.