Crypto dice strips gambling down to one number and one decision: over or under. This Dice Verifier lets you feed in your server seed, client seed, and nonce, then rebuild every roll bit-for-bit to confirm the outcome was decided before you clicked — not after.
Dice Verifier
How crypto dice seeds are generated
Nothing physical happens when you press “Roll” on a crypto dice site. What actually occurs is a hash computation. The casino commits to a server seed up front, you control the client seed, and a nonce counter increments with each bet. Those three pieces are the entire input to your result.
The platform hashes them together and maps the output to a number from 0.00 to 99.99. Since the hashed server seed is published before betting begins, the operator cannot rework the result once it sees how much you staked — the commitment already exists.
The math: From HMAC to a dice roll
Below is the exact procedure the verifier follows to reproduce your roll. Four steps, no hidden logic:
1. Generating the HMAC-SHA256 string
Your seeds and nonce are combined into a cryptographic stream:
HMAC_Stream = HMAC_SHA256(Server_Seed, "Client_Seed:Nonce:0")
The result is a 64-character hexadecimal string — effectively one enormous integer.
2. Extracting the 4-byte float
Only the first 8 hex characters (4 bytes) are needed. The verifier converts them into a 32-bit integer:
Byte_Value = Hex_To_Decimal(First_8_Chars)
3. The float conversion
Dividing that integer by the largest value 4 bytes can hold ($2^{32}$ = 4,294,967,296) produces a fraction between 0 and 1:
Float_Value = Byte_Value / 4294967296
4. The final roll scale
The fraction is scaled onto the standard dice range of 0.00–99.99:
Dice_Roll = Floor(Float_Value * 10000) / 100
Concretely: if the first 4 bytes convert to a float of 0.485293, your roll is exactly 48.52. No rounding above the formula level.
Data Sandwich: Auditing a 98.00 roll
Time for a worked example. You bet “Over 50.00” on Stake, the game returns 98.12, and your bet pays out. To rule out operator manipulation, rotate your seeds afterward and run them through this verifier with these inputs:
- Server Seed:
7d25e019c... - Client Seed:
my_lucky_seed - Nonce: 42
The verifier computes the HMAC-SHA256 hash. The first 4 bytes come back as the hex string fb2d45a2.
As a decimal, that is 4,214,048,162.
Divided by 4,294,967,296, it becomes 0.981159.
Scaled by 100 and floored, the roll lands at exactly 98.11 (or 98.12 depending on the site’s rounding convention). The math lines up. Your win checks out cryptographically.
Frequently asked questions
Can the casino predict my next roll?
Yes, if you leave their default client seed untouched. In that case the house knows both seeds ahead of time and could work out every future outcome. Set your own client seed phrase and their foresight disappears.
What is the optimal over/under bet?
None exists in EV terms. Betting Over 50.00 or Under 10.00 loses precisely the same house edge percentage; what changes is payout variance, not expected value. To map risk profiles side by side, try our Dice Multiplier Explorer and read our detailed Dice strategy guide.
Why do dice rolls use 4 bytes?
Four bytes give $2^{32}$ possible values — over 4.2 billion combinations. That depth of precision keeps the decimal spread uniform across the full 0.00 to 99.99 range.

