Provably fair dice
Before a game starts, the server generates a secret 32-byte seed and publishes only its hash (the "commit"). That proves the seed was fixed before any dice were rolled, without revealing it yet.
Every roll is computed from that seed together with public, checkable pieces: the game's id, which roll number it is, and a random value ("nonce") you or your opponent contributed. Because the seed is committed first, nobody can pick a favorable roll after the fact.
Once the game ends, the server reveals the seed. Anyone — including you, right here, in your own browser — can then hash it, check it matches the published commit, and recompute every roll from the public pieces to confirm it matches what was shown on screen.
Verify a game
Paste a finished game's dice log below (from its results screen) and check it yourself. Nothing here is sent anywhere — the check runs entirely in your browser.