Verified rolls

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

  1. 1Open any box or game. Before the result is shown, Doodly displays the server seed hash.
  2. 2After the spin, the full server seed is revealed in your history or on the verifier page.
  3. 3Compute SHA-256(server_seed) and confirm it matches the hash shown before the spin.
  4. 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.
  5. 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.