PUDDLE.BET
Games

Provably fair

You don't have to trust us. Every roll comes from seeds that are fixed before you bet and revealed after.

How it works

Each round is derived from three values: our server seed (kept secret, but we show you its SHA-256 hash up front), your client seed (you can change it any time) and a nonce that counts your rounds. Every round of any game uses exactly one nonce.

// Dice hash = HMAC_SHA256(key = serverSeed, msg = clientSeed + ":" + nonce) roll = floor( int(hash[0..7]) / 2^32 * 10000 ) / 100 // 0.00 – 99.99 // Limbo · Crash · Mines · Blackjack block(r) = HMAC_SHA256(serverSeed, clientSeed + ":" + nonce + ":" + r) float[i] = uint32(block(i div 8)[4*(i mod 8) ..]) / 2^32 // 0 ≤ f < 1

Because the hash of the server seed is shown before you play, we can't change the seed afterwards. When you rotate seeds, the old server seed is revealed — paste it into the verifier and recompute every roll.

Dice pays 99 / chance. Under wins if roll < target, over wins if roll > target.

Limbo & Crash use max(1, floor(99 / (1 − float[0])) / 100) as the result / crash point (capped at 1,000,000×). Limbo wins when result ≥ target. Crash rounds are shared by all players: the client seed is the public string puddle-crash and the nonce is the round number.

Mines shuffles tiles 0–24 (Fisher–Yates, from the end, using float[0], float[1] …) and the first N tiles are the mines.

Roulette has 15 slots: slot 0 is green, slots 1–14 alternate red (odd) and black (even). The winning slot is floor(float[0] × 15). Red and black pay 2×, green 14×. Rounds are shared: client seed puddle-roulette, nonce = round number.

Plinko uses one float per row: below 0.5 the ball goes left, otherwise right. The slot is the number of right moves (0 = far left).

Hilo draws cards in order: card i is floor(float[i] × 52) with rank = c mod 13 (0 = Ace) and suit = floor(c / 13). Cards are drawn independently, so a card can repeat.

Blackjack shuffles a 52-card deck the same way (51 floats). Cards are dealt in order: you, dealer up-card, you, dealer hole card, then hits. Card c: rank = c mod 13 (0 = Ace), suit = floor(c / 13).

Verifier

Runs entirely in your browser.

Your seeds

Sign in to see your active seed commitment.