Back soon!
DonutSpins is down for maintenance. Your balance is safe. This page opens again by itself when we're back.
Staff?
DonutSpins is down for maintenance. Your balance is safe. This page opens again by itself when we're back.
Staff?
The server seed is fixed before the round and shown after it, so you can check the draw in History.
| Game | Player | Time | Bet | Multiplier | Payout |
|---|---|---|---|---|---|
| No bets yet. Be the first! | |||||
Stand out in chat. Own up to 3 custom tags and switch between them whenever you like.
Bring your friends to DonutSpins. Every player who signs up with your code pays out 20M, split between you and them however you like. You also get 2% of everything they deposit, forever.
Every coin you bet on any game today counts. When the day ends at midnight GMT, the top 5 are paid straight into their balance and a new race starts.
Wrong name? Go back and type it again.
You're in, ! Link your Discord to unlock the DonutSpins server, its chats and your level role.
Link DiscordIn game, run this command to deposit :
Your balance updates automatically within a few seconds of paying.
Your account isn't verified yet. Payments are kept for you and credited as soon as you verify.
After paying, press the button. An admin checks the payment and credits your balance.
The amount is taken from your balance now and paid to in game by an admin. Rejected requests are refunded.
Shown behind your character on the home page.
Link your Discord to get into the DonutSpins server and get your level role.
After your password, you'll also need a 4-digit code to log in.
Confirm you're human to join the rain.
Loading…
Dice, Limbo, Keno, Mines, Blackjack, High-Low, Tower, Chicken Road, Plinko and Cases use your own seeds (Crash has one shared seed per round: see Fair on the Crash page). You see the SHA-256 hash of the server seed before you bet, you pick the client seed, and the nonce goes up by one every bet. When you change seeds the old server seed is revealed, so you can check every bet you made with it.
bytes = HMAC_SHA256(key = serverSeed, msg = "clientSeed:nonce:round") (round 0, 1, 2 …) float = b0/256 + b1/256² + b2/256³ + b3/256⁴ (8 floats per round) Dice: roll = floor(float × 10001) / 100 Limbo: result = floor((100 − edge) / (1 − float)) / 100, at least 1.00 Keno: tiles 0–39; for i < 10 swap tile i with i + floor(floatᵢ × (40 − i)); the first 10 are drawn Mines: tiles 0–24; for i < mines swap tile i with i + floor(floatᵢ × (25 − i)) Blackjack: card = floor(float × 52), rank = card mod 13 (A … K), endless deck High-Low: same cards as Blackjack, one float per card Tower: each floor shuffles its doors like Mines; the first ones are traps Chicken: lane k has a car when float_k < death chance (easy 15%, medium 25%, hard 35%, hardcore 45%) Plinko: row i goes right when float_i ≥ 0.5; slot = number of rights Cases: item = walk the odds (in millionths) with floor(float × 1,000,000), one float per case Dice: modes under, over, between, outside, 2 ranges all use the same roll
| Bet | Game | Result | Payout | Nonce | Seeds |
|---|
Every round, the server picks a secret seed and shows you its SHA-256 hash before anyone bets. After the draw it reveals the seed. Each coin you put in is one ticket, so your chance is your bet ÷ the pot. The winning ticket is:
r = first 52 bits of HMAC_SHA256(key = seed, msg = "roundId:total") ÷ 2^52 winning ticket = floor(r × total)
Tickets are given out in join order. Press Verify to check a round in your browser.
| Round | Pot | Winner | Total | Ticket | Seed hash / seed |
|---|
Each flip gets its own secret seed when it's created; its SHA-256 hash is shown while the flip is open, so the result is fixed before anyone joins. After the flip the seed is revealed.
r = first 52 bits of HMAC_SHA256(key = seed, msg = "coinflip:flipId") ÷ 2^52 result = r < 0.5 ? heads : tails
| Flip | Players | Winner | Each | Result | Seed hash / seed |
|---|
Each roulette round gets a secret seed; its SHA-256 hash is shown while bets are open, so the roll is fixed before anyone bets. After the roll the seed is revealed. 0 is green (14x), odd numbers are red (2x), even numbers are black (2x).
r = first 52 bits of HMAC_SHA256(key = seed, msg = "roulette:roundId") ÷ 2^52 roll = floor(r × 15)
| Round | Roll | Bets | Wagered | Seed hash / seed |
|---|
Each race gets a secret seed; its SHA-256 hash is shown while bets are open, so the winner is fixed before anyone bets. After the race the seed is revealed. The horses take up the range 0–100 in order, each by its chance to win: .
r = first 52 bits of HMAC_SHA256(key = seed, msg = "horses:raceId") ÷ 2^52 winner = the horse whose range holds r × 100
| Race | Winner | Bets | Wagered | Seed hash / seed |
|---|