Provably Fair
Every box opening, game round and case battle on Doodly is backed by a transparent cryptographic roll. No hidden randomness, no server-side secrets after the fact.
The three inputs
Server seed
A random secret generated by Doodly. You see its SHA-256 hash before the spin, and the full seed is revealed after.
Client seed
A seed linked to your account session. It makes the roll unique to you and prevents result swapping.
Nonce
A counter that increases with every roll you make. Re-using the same seed would always produce the same outcome.
How to verify
- 1Open any box or game. Before the result is shown, Doodly displays the server seed hash.
- 2After the spin, the full server seed is revealed in your history or on the verifier page.
- 3Compute SHA-256(server_seed) and confirm it matches the hash shown before the spin.
- 4Compute HMAC-SHA256(server_seed, client_seed:nonce) and convert the first 8 hex characters to a number. Divide by 0xffffffff to get the roll.
- 5Match the roll against the published item weights to confirm the winning item.
Code formula
roll = HMAC_SHA256(server_seed, client_seed + ":" + nonce) float = parseInt(roll.slice(0, 8), 16) / 0xffffffff winner = weightedPick(items, float)
The same formula is used for boxes, case battles, Crash, Mines, Plinko, Coinflip and Wheel. You can run it in any browser console or use the public verifier page.
18+ only. Provably fair does not remove the house edge — it removes hidden manipulation. Play responsibly.
