Provably fair dice

Every roll and every card shuffle comes from a secret epoch seed. Before an epoch starts, we publish sha256(seed). When it ends, we reveal the seed. Turn n's randomness is the stream of blocks HMAC-SHA256(seed, "n:block"), read as 32-bit numbers and rejection-sampled so every face of the die is exactly as likely. Nobody — not even us — can change a roll after the commitment is out, and anyone can recompute every roll once the seed is revealed.

Check it yourself

Paste a revealed seed and a turn number. Your browser recomputes the commitment and the die for the next ten turns with the same code the server uses.