Dice gambling odds: roll over, roll under and the payout math
How online dice works: 10,000 rolls from 0.00 to 99.99, how your target sets the chance, why the multiplier is (1 − edge) / chance, and a worked table.
Fact-checked 18 October 2026 · 4 sourcesOnline dice doesn't use a six-sided die. Each roll is a number from 0.00 to 99.99, and you bet that it lands over or under a target you choose. The target sets your chance of winning, the chance sets the multiplier, and the house edge sits between the two.
The roll
There are 10,000 possible rolls: 0.00, 0.01, 0.02 and so on up to 99.99. Each is equally likely, which statisticians call a discrete uniform distribution, so any single roll has a 1-in-10,000 chance (0.01%). Your chance of winning is simply the number of winning rolls divided by 10,000.
The roll comes from your seed pair. The game takes the first four bytes of HMAC-SHA256(server seed, "client seed:nonce:0"), turns them into a float between 0 and 1 (b0/256 + b1/256² + b2/256³ + b3/256⁴), and calculates roll = floor(float × 10000) / 100. The nonce goes up by one with every bet, so each roll uses fresh bytes and has nothing to do with the last one.
Over and under
Roll under a target wins on any roll below it. Roll under 50.00 wins on 0.00 to 49.99: 5,000 rolls, a 50% chance.
Roll over a target wins on any roll above it. Roll over 49.99 wins on 50.00 to 99.99, also 5,000 rolls and 50%. Roll over 50.00, though, wins only on 50.01 to 99.99, which is 4,999 rolls (49.99%), because a roll equal to the target loses whichever way you bet. That's why an even-chance over target ends in .99.
Over and under at the same chance are mirror images: same probability, same multiplier. Picking a side changes nothing except which end of the range wins. The game allows win chances from 0.01% to 98%.
The multiplier
A fair payout for a bet that wins with chance p would be 1/p: double your stake at 50%, a hundred times at 1%. Dice pays
multiplier = (1 − edge) / chance
so the edge shaves the same fraction off every payout. At a 1% edge, a 50% bet pays 1.98× instead of 2×. To get a round 2×, set the chance to 49.5%: roll under 49.50 or over 50.49. Multipliers are rounded down to four decimal places, which costs less than 0.01% of the stake on average.
Here is a table at a 1% edge, as an example:
| Win chance | Roll under | Roll over | Multiplier | |--:|--:|--:|--:| | 98% | 98.00 | 1.99 | 1.0102× | | 90% | 90.00 | 9.99 | 1.1× | | 75% | 75.00 | 24.99 | 1.32× | | 50% | 50.00 | 49.99 | 1.98× | | 49.5% | 49.50 | 50.49 | 2× | | 25% | 25.00 | 74.99 | 3.96× | | 10% | 10.00 | 89.99 | 9.9× | | 1% | 1.00 | 98.99 | 99× | | 0.01% | 0.01 | 99.98 | 9,900× |
Multiply any row's chance by its multiplier and you get 0.99, give or take that rounding: every bet in the table returns 99% of the stake on average and leaves 1% to the house. The game page shows the edge actually in use; to redo the table at another edge, replace 0.99 with 1 − edge. House edge and RTP compares this with other games.
Same average, very different sessions
Because every target returns the same share on average, no target is a better bet. What the target changes is how your balance moves.
At 98%, you win 49 rolls in 50 on average, but each win adds only 1.02% of your stake, and a single loss takes the whole stake. It takes 99 wins to make back one loss. And losses do come: the chance of at least one in 50 rolls is 63.6%, and in 100 rolls it's 86.7%.
At 1%, each win pays 99×, but there's a 36.6% chance of going 100 rolls without one, and a 4.9% chance of going 300. The high-chance bet wins small amounts most of the time and gives them back in sudden losses; the low-chance bet loses a little most of the time and pays out in rare jumps. The average cost per coin wagered is the same.
Picture 1,000 bets of 1 coin each at a 1% edge. Every target expects to lose the same 10 coins; what changes is how far a real session strays from that:
| Win chance | Average result | Typical swing | Chance of finishing ahead | |--:|--:|--:|--:| | 98% | −10 coins | ±4.5 coins | 1.0% | | 50% | −10 coins | ±31 coins | 36.4% | | 10% | −10 coins | ±94 coins | 43.2% | | 1% | −10 coins | ±312 coins | 41.7% |
The typical swing is one standard deviation, and the last column is exact binomial math. Long shots leave more sessions in profit only because they also leave much deeper losing ones; no row is a way to win, since every row averages a loss of 10 coins.
Changing your stake after wins or losses doesn't move that average either, as Martingale and other betting systems works through. A bet whose payout would exceed the game's maximum win is refused, so the biggest multipliers come with smaller maximum stakes.
Checking a roll yourself
The server seed is committed by its SHA-256 hash before you bet, so the house can't swap it once your bet is in. You choose the client seed, and Provably fair gambling explains why that matters. Rotating your seed pair reveals the old server seed; hash it, compare the result with the commitment, then redo the roll.
Here's the arithmetic with made-up seeds: server seed "example-server-seed", client seed "my-client-seed", nonce 1. HMAC-SHA256 gives a block whose first four bytes are 172, 1, 191 and 33. That's a float of 172/256 + 1/256² + 191/256³ + 33/256⁴ = 0.67190, which times 10,000 is 6,719.0, so the roll is 67.19. Roll over 50.49 would have won; roll under 50.00 would have lost.
The provably fair calculator does this in your browser for any revealed seed, and How to verify a provably fair bet walks through the full check with commands you can run yourself. Verification shows a roll wasn't changed after the fact. The edge is still in every multiplier, and Dice shows it on the page.


