Keno is a lottery-style draw game that predates most of the internet — yet its online version hides some neat cryptography. To sharpen your number selections first, see our Keno Strategy Guide. This Keno Verifier replays the cryptographic Fisher-Yates shuffle casinos use to draw winning numbers, so you can confirm each round was settled fairly before your picks were locked.
Keno Verifier
How an online Keno draw actually works
The format is familiar: pick a set of numbers (most games cap it at 10 or 15) out of a pool of 80. The house then draws 20 winners. Your payout depends on how many of your picks land among those 20 — the hit ratio, checked against the game’s paytable.
Instant digital draws invite suspicion, particularly after you miss by one number on a big match. A provably fair Keno verifier (or our general universal verifier) removes the guesswork: it reruns the exact shuffle using your seeds and confirms the draw was fixed before the round began.
The math: Fisher-Yates Keno shuffling
For a random, duplicate-free result, the verifier applies the standard **Fisher-Yates Shuffle**, driven entirely by your seeds:
1. Initializing the board array
First, the verifier builds a sorted array holding every number on a standard Keno board:
Board = [1, 2, 3, ..., 80]
2. Running the HMAC-driven shuffle
Working from index 79 down to index 60 (20 steps for 20 numbers), the verifier pulls a random float U from the HMAC-SHA256 seed stream:
U = Hex_To_Decimal(4_Bytes_i) / 4294967296
That float maps to an integer index j somewhere between 0 and the current position i:
j = Floor(U * (i + 1))
3. Swapping the elements
Elements at positions i and j then trade places:
Temp = Board[i]; Board[i] = Board[j]; Board[j] = Temp;
After exactly 20 iterations, the last 20 slots in the shuffled array hold the winning Keno numbers.
Data Sandwich: Auditing a 20-number Keno draw
Time to audit a real round. You played 5 spots: [12, 24, 38, 45, 72]. Four of them hit — a solid 4-match payout.
Want proof the draw was genuinely random? Rotate your seeds and feed the details into the verifier:
- Server Seed:
c18f2d... - Client Seed:
keno_player_luck - Nonce: 54
The verifier rebuilds the array [1..80] and starts the HMAC shuffle.
On the first step (index 79), the HMAC stream produces a decimal float of 0.154283.
Target index: Floor(0.154283 * 80) = 12.
So Board[79] (80) swaps with Board[12] (13), making 13 the first drawn number.
Twenty steps later, the verifier has reproduced the identical 20-number list sitting in your game history. Cryptographically validated — the draw was fair.
Frequently asked questions
What is the house edge in online Keno?
Depending on the casino and its payout matrix, online Keno typically runs a house edge of 1% to 5%. That’s far kinder than physical state lottery Keno, where edges above 25% to 30% are routine.
Can I predict which Keno numbers will hit?
No. Each draw stands alone. A “cold” number absent from the last 20 rounds carries exactly the same probability next round as any other — past draws don’t move the odds.
How does the Fisher-Yates shuffle guarantee no duplicates?
It works inside a fixed array. Once a number is drawn, it gets swapped out of the active range, so it physically cannot be selected again within the same round.