News
Behind the scenes2 min read

Every deal can be checked: how we shuffle

The server commits to a secret number before the first card, every player’s app adds one, and after the game you can check the deal yourself.

On this page

A seed, committed before the deal

Before a game starts, the server picks a secret seed of 32 random bytes and sends every player’s app its SHA-256 fingerprint. Once the fingerprint is out, the seed can’t change without it showing.

Every player adds a seed

Before the deal, each player’s app adds a random seed of its own. The deck is made from all of them: the server’s seed and every player’s are mixed with HMAC-SHA256 and the deck is shuffled (Fisher–Yates) from a fixed starting order. Who opens, and every reshuffle of the discard pile, come from the same source.

So the server can’t pick a deck after seeing the players’ seeds, and no player can steer the deck either: nobody knows the server’s seed until the game is over.

Revealed after the game

When the game ends, the server sends the apps its seed and every player’s seed. From those, the fingerprint and the whole deck can be recomputed, card for card.

Check it yourself

While you play, the app keeps the hand and the start card you were dealt. When the game ends it recomputes the deal from the revealed seeds and shows Fair deal on the result: the seed matches the fingerprint published before the deal, and it deals exactly the cards you saw. Tap it for the proof.

Ready to play?

A table opens in seconds. In your browser or on your phone.

Play now
Coming soon toApp StoreComing soon toGoogle Play