← Lobby
Provably fair
Every result on solana-casino.io is generated from seeds you can check. We commit to the current and the next server seed before you bet, you choose the client seed, and anyone can recompute any outcome and payout.
1We commitBefore you bet, we show the SHA-256 hash of the active server seed – and the hash of the NEXT server seed. Neither can be changed afterwards without the hash changing.
2You add randomnessYour client seed is mixed into every result. Pick it before your first bet on a pair, or when rotating: the new client seed is combined with the next server seed whose hash was already published – so we cannot choose a server seed after seeing yours.
3Anyone can verifyEach bet uses the next nonce. Rotate the seed pair to reveal the server seed and recompute every result, multiplier and payout.
Verify a betRuns locally in your browser
Enter a revealed server seed – or pick a bet from “Your bets” after rotating your seed pair.
Your seed pairActive
Connect your wallet to see your active seed pair and rotate it.
Double hash chainCommitted in advance
Every round seed hashes to the previous round’s seed, so all results of the chain were fixed before its first round started.
Your betsMost recent first
Connect your wallet to see your bets.
The formula
hmac = HMAC_SHA256(serverSeed, clientSeed + ":" + nonce + ":" + cursor)
float = b0/256 + b1/256² + b2/256³ + b3/256⁴ (4 bytes → 1 float, 8 per hmac)
payout = floor(stake × multiplier) (rounded down to the lamport, never up)
Coinflip float < 0.5 → Heads, else Tails
Dice roll = floor(float × 10001) / 100 · inside: lo ≤ roll < hi (rules v2) · RTP 98.99 % in every mode
Plinko 8–16 rows · float_k < 0.5 → left, else right (payout table v2; 16 rows/High up to 1000×)
Mines Fisher–Yates shuffle of 25 tiles with 24 floats · first N = mines
Chicken Run mines model · 25 fields · m cars (Fisher–Yates) · first car = crash field · RTP 98 %
Double roll = floor(float × 15) · 0 green · 1–7 pink · 8–14 purple · 4 & 11 bait
(client seed "neon-double", nonce = round number)
round seeds come from a pre-committed hash chain:
sha256(seed of round k) = seed of round k−1, sha256(first seed) = published terminal hash