Provably fair
Every round on PlayDonut is provably fair. Each round commits to a server seed hash before you bet and reveals the seed when it ends, so you can verify any result yourself.
1
Commit
Before every round we lock in a secret server seed and show you its SHA-256 hash. It can't change after that.
2
Play
The result comes from the server seed, a client seed and the round number. Nobody can steer it once you bet.
3
Verify
When the round ends the seed is revealed. Your browser recomputes the round and shows a green ✓ if it matches.
How numbers are made
hmac_sha256(server seed, "client seed:round:n") → 8 numbers between 0 and 1- Blackjack: you pick the client seed. Card = floor(number × 52) from an infinite deck, dealt to each hand then the dealer, twice. Hits, doubles, splits and dealer draws take the next cards.
- Mines: you pick the client seed. Mines are drawn one by one from the tiles left, tile = floor(number × tiles left).
- Crash: one shared round for everyone, client seed "crash". Crash point = floor(90 / (1 - first number)) / 100, at least 1.00x, so reaching x has a 0.9 / x chance (95 and 0.95 / x before October 19, 2026).
- Plinko: you pick the client seed. One number per row, below 0.5 the ball goes left, otherwise right. The bucket is the number of rights.
- Dice: you pick the client seed. Roll = floor(first number × 10001) / 100, from 0.00 to 100.00. Multiplier = 90 / win chance (95 before October 19, 2026).
- Limbo: you pick the client seed. Result = floor(90 / (1 - first number)) / 100, at least 1.00x (capped at 1,000,000x), so reaching x has a 0.9 / x chance (95 and 0.95 / x before October 19, 2026). You win when the result is at least your target.
- Pump: you pick the client seed. The pops are drawn like mines from 25 pump positions (1, 3, 5 or 10 by difficulty). The balloon pops at the first of them, pumping in order from 1.
- Keno: you pick the client seed. Ten of the 40 tiles are drawn one by one from the tiles left, tile = floor(number × tiles left). The payout depends on how many of your picks were drawn.
- Flip: you pick the client seed. Flip n is heads when number n is below 0.5, up to 20 flips per round. The first right call pays 1.90x; each further right call doubles the multiplier.
- Coinflip: every game gets its own server seed when it's created, its hash is shown before anyone joins. Client seed "coinflip", the nonce is the game number. Heads when the first number is below 0.5. The winner receives 1.98x their stake against a player or 1.90x against the bot.
- Your browser also remembers every hash it was shown before betting, so a seed that doesn't match what you saw gets a red ✗.