Fair Randomness
When a match involves dice or a shuffle, the outcome isn't something you have to take our word for. It's locked in before play starts, and you can check it for yourself once the match is over.
Where Randomness Matters
Only two of our four games involve any randomness inside the game. Backgammon rolls dice and Gin Rummy shuffles a deck — both use the fairness system described on this page. In Chess and Go, every game outcome comes entirely from the moves players choose. In tournaments of three or more players, byes and first-round pairings are drawn at random: that decides who plays whom, never the result of a game.
Dice rolls
Verifiable after the match
Card shuffle
Verifiable after the match
None inside the game
None inside the game
What Verifiably Fair Means
Before a single die is rolled or a card is dealt, the platform publishes a cryptographic commitment that locks in the randomness for the entire match. Think of it as a sealed envelope handed to both players at the start: its contents are fixed from that moment on, but nobody can peek inside until the match is finished.
That commitment can't be changed once play begins — not by us, and not by your opponent. When the match completes, the values behind the commitment are revealed, so anyone can go back and recheck every roll or every shuffle after the fact.
Commit → Play → Verify
Every randomized match follows the same five-step lifecycle:
How to Verify a Match
Checking a completed Backgammon or Gin Rummy match takes one click:
- Open a completed match — from the game-over screen, your match history on your profile, or any public replay page.
- Click “Verify fairness.”
- The app rechecks every dice roll or every card position for that match, right there in your browser, and shows a green verified state when everything checks out.
This works for any completed match — including ones you weren't even a player in. Fairness here isn't something you have to trust; it's something anyone can go check.
Scope & Honesty
In-browser verification is live today for Backgammon dice rolls and Gin Rummy shuffles. Chess and Go use no randomness inside the game, so there's nothing for them to verify — their integrity comes from server-side move validation instead.
Verification unlocks once a match is complete — never mid-game. That's by design: hidden information (like an opponent's hand in Gin Rummy) has to stay hidden until the match is over, commitment or not.
Worth being precise about, because it's the part most sites gloss over. A commitment published before play proves we didn't change the outcome afterwards. On its own it does not prove we picked our secret honestly in the first place — if every other input were something we already knew, we could have searched for a secret we liked before publishing it.
That's why your own browser generates a random value and sends it to us after we've published our commitment, and why each match is also tied to a blockchain block that didn't exist when we committed. We can't predict either one, and we only need one of them to be genuine — so your seed protects you even if your opponent contributes nothing at all.
The commitment is stored on our servers. A verification page can't rule out a server rewriting its own records after the fact, so your browser keeps a private copy of the commitment it saw before you played and warns you if the published one doesn't match. Putting the commitment on-chain would remove the need to take our word for that step too; it's designed and not yet built, and we'd rather say so than imply otherwise.
Related Pages
- Fair Play Policy — how we protect skill-based competition across every game
- Smart Contracts — non-custodial escrow and how prizes are claimed
- Security Audit — published findings with severity, status, and fixes