Are online backgammon dice rigged? How to check every roll yourself
"The dice are rigged" is the most common complaint about online backgammon. On most sites you simply have to trust the operator. On Snug Table you do not: every game's dice are sealed before the first roll, and when the game ends you can recompute every single roll in your own browser. This page explains why dice can feel rigged, how provably fair dice work, and gives you a tool to check them.
Why fair dice can feel rigged
- We remember the painful rolls. The double six that hits your last blot sticks in memory; the hundred quiet rolls before it do not.
- Unlikely events happen all the time. Any particular double comes up once in 36 rolls, so in a long session you will see the opponent roll exactly the number they needed many times.
- Streaks are normal. Random dice produce runs and clusters. Dice that never repeated would actually be suspicious.
- The computer plays the rolls well. A strong bot leaves fewer blots and keeps more good rolls available, so it looks lucky more often than it is.
None of this proves a site is honest, though. That is why the dice here are built so you do not have to take our word for it.
How provably fair dice work
- Seal. Before the game a secret random number, the seed, is created. You are shown only its fingerprint: the SHA-256 hash. A hash cannot be reversed, and no other seed gives the same hash.
- Roll. Every die is computed from the seed and its position in the game: die number i is taken from
HMAC-SHA256(seed, "die:" + i). The first byte below 252 is used, modulo 6, plus 1, so each face from 1 to 6 is exactly equally likely. - Reveal. When the game ends the seed is shown. Anyone can hash it and compare with the fingerprint from the start, then recompute every roll.
Because all rolls are fixed by the sealed seed before the first move, nobody can change them during the game: not the computer opponent, not the server, not us. The computer does not see future dice either; its harder levels only calculate better.
Card and tile games on Snug Table use the same seal: the order of the cards or tiles is a Fisher-Yates shuffle driven by HMAC-SHA256(seed, "r:" + i), and the "Fair deal" badge after each hand recomputes it.
Check a game's dice
After a game, tap the "Fair dice" badge to see the seed and the hash. Paste them here. Everything runs in your browser; nothing is sent anywhere.
Questions
Does the computer get better dice on the hard level?
No. The dice come from the sealed seed and do not depend on the level or on the position. Harder levels search more moves; they do not roll better.
Could you show a fake seed at the end?
Only if we could find a different seed with the same SHA-256 hash, which is not possible in practice. If the revealed seed does not match the hash you saw at the start, the checker above says so.
What about online matches?
Online games use the same method, with the server holding the sealed seed until the game ends.