Provably fair

Fairness

Every shoe at a True Odds table is shuffled from a seed pair that is locked in before you play, and revealed afterwards, so you can re-deal it yourself and check every card.

The server deals; the app only shows it

Every round is decided on our servers. The app never holds a card before it's dealt to you face up: at baccarat, a squeezed card's face reaches your phone only when you peel it. Nothing about you, not your balance and not what you've bought, reaches the code that shuffles and deals.

How a shoe is shuffled

  1. The lock. Before the first shuffle from a seed pair, the table makes a server seed of 32 random bytes and shows you its SHA-256 hash, labelled "Server seed (locked in)" in the table's ⓘ panel. The hash fixes the seed without showing it.
  2. Your seed. The pair's other half is a client seed. When you tap New seed, the table has already shown you its next server seed's hash ("Next seed (locked in)"), and only then does your phone pick a fresh random client seed. The first pair at each table starts with a client seed your phone picks too, sent when you first sit down.
  3. The shuffle. Each shoe takes the pair's next number (its nonce). The random numbers come from HMAC-SHA256, keyed with the server seed, over your client seed, the nonce and a counter. They are turned into fair draws with Lemire's method, so every card is exactly as likely as every other, and the shoe is shuffled with the Fisher–Yates shuffle. Then the burn cards come off, as at a real table.
  4. The reveal. When you tap New seed, the table reveals the server seed it was using and retires the shoe in play. A seed pair deals at most 1,000 shoes; after that the app draws a new one.
  5. The check. Tap Copy for the verifier, paste it into our verifier and pick the table. It checks the server seed against the hash you were shown and re-deals every shoe the pair dealt, card by card, in the order they were dealt.

The verifier runs entirely in your browser and sends nothing anywhere. Its page sets out every step precisely enough to redo the check with ordinary tools such as sha256sum and openssl.

The house edge, shown

Tap ⓘ at any table to see its rules and the house edge of each bet, worked out by the same engine that deals the cards. Fair doesn't mean you'll come out ahead: every casino game has a house edge, and over enough rounds it shows up. Fair means the cards are random, fixed before you play, and the same for everyone.

How we test it