SSL Secured·Provably Fair·Rankings powered by real deposit volume data·Updated Jul 2026·18+ Gamble Responsibly
Verification Guide · 10 Min Read · Jun 2026

HOW TO VERIFY PROVABLY FAIR KENO

AM
Alex Mercer · ProvenlyFair.com Editorial Team
Updated Jul 202610 min read
Keno feels like a lottery draw — numbers appear and you hope they match yours. But on a provably fair casino, the drawn numbers were decided by cryptography before you locked in your picks, and you can prove it. This guide shows exactly how the HMAC-SHA256 byte stream seeds the selection of distinct drawn numbers, with a worked example you can reproduce. Then you can check any real draw in our free Provably Fair Verifier.

Verify Your Keno Draw Right Now

Grab your server seed, client seed, and nonce from your casino account, paste them into our verifier, and select Keno. It reproduces the exact drawn numbers — completely free, no sign-up required.

Open Provably Fair Verifier

The Three Inputs Behind Every Keno Draw

Provably fair Keno uses the same commitment scheme as every other original: three inputs feed a cryptographic function, and the drawn numbers are fixed before you play.

Before the draw, the casino generates a secret server seed and shows you only its SHA-256 hash — a sealed commitment it cannot change later. You supply (or accept and can change) a client seed, and a nonce counts up by one with every draw on the same seed pair. To settle the round, the casino runs HMAC-SHA256 with the server seed as the key and a message built from your client seed and nonce. The output bytes decide which numbers are drawn.

Because the server seed is locked by its hash before the draw and you control the client seed, neither side can change the drawn numbers after the fact without breaking the hash — which you can detect. For the full background on the commit-and-reveal model, see our complete guide to provably fair gambling and the general how-to-verify walkthrough.

How the Hash Seeds the Drawn Numbers

Keno draws a set of distinct numbers from a pool — on a standard Stake-style board, 10 numbers from a pool of 1 to 40. The trick is that the numbers must all be different, so the algorithm draws without replacement, exactly like a hash-seeded shuffle. Here is the derivation used by Stake-style implementations and mirrored by our verifier:

  • 1
    Compute the HMAC. The casino calculates HMAC_SHA256(key = serverSeed, message = clientSeed:nonce:0) — 32 bytes of output, extended with :1, :2… if more bytes are needed.
  • 2
    Turn bytes into numbers in [0,1). The bytes are read in groups of four, each becoming a fraction via byte1/256 + byte2/256² + byte3/256³ + byte4/256⁴. This produces a stream of random values between 0 and 1.
  • 3
    Pick from the remaining pool. Start with the pool [1…40]. For each draw, multiply the next random value by the current pool size and floor it to get an index: index = floor(value × poolSize). Take the number at that index, then remove it from the pool so it cannot be drawn again.
  • 4
    Repeat until 10 are drawn. Because each pick shrinks the pool by one, you always get 10 distinct numbers. The set is then usually shown sorted, but the order it was drawn in is what the algorithm produces.

Whether you hit depends on how many of your chosen spots appear in that drawn set, scored against the paytable. Every step is deterministic, so anyone with the same three inputs draws the same numbers.

Worked Example You Can Reproduce

Illustrative worked example. The seeds below are readable values we chose to teach the maths — they are not from a real bet. But every number is real: run the same inputs and you draw the same numbers. In a live game the server seed is a long random string, not a readable phrase.
InputValue
Server seed (unhashed)server-seed-demo-2026
Server seed hash (shown first)23a0e22c63387eecbf15c0f64553ed8b9269842059237de1e964dfb54da43d8c
Client seedplayer-007
Nonce7
Pool / drawdraw 10 from 1–40

The first digest is HMAC_SHA256("server-seed-demo-2026", "player-007:7:0"):

a2c357f17cb1463f7b9a5e081c9573a3c7b0bb701db8f91608f9fecf30bce3e0

The first four bytes are a2 c3 57 f1 = 162, 195, 87, 241, giving the first value 162/256 + 195/256² + 87/256³ + 241/256⁴ = 0.6358. With a full pool of 40, the first pick is index floor(0.6358 × 40) = 25 → pool[25] = the number 26, which is then removed before the next pick.

First 10 values: 0.636, 0.487, 0.483, 0.112, 0.780, 0.116, 0.035, 0.190, 0.744, 0.306
Drawn (in order): 26, 19, 20, 5, 33, 6, 2, 10, 31, 14
Drawn (sorted) → 2, 5, 6, 10, 14, 19, 20, 26, 31, 33

That set of ten numbers was fixed the instant the server seed was committed — the same three inputs can only ever draw 2, 5, 6, 10, 14, 19, 20, 26, 31, 33. (The exact pool size and draw count vary by casino and your chosen risk; the method is identical.)

Don't take our word for it — paste server-seed-demo-2026 / player-007 / nonce 7 into the verifier, pick Keno, and watch it draw the same ten numbers.
Try it in the Verifier

Where to Find Your Keno Seeds

The hardest part of verification is locating your seeds inside the casino. You must rotate (change) your seed pair first — the casino only reveals the unhashed server seed once it is retired, which is a security requirement so live results stay unpredictable. Then verification covers every draw made under that pair.

CasinoHow to Find Your Seeds
StakeProfile icon → SettingsFairness. You will see the active server seed hash and client seed. Click Rotate / Unhash to reveal the previous server seed and commit a new one. Bet history shows each draw's nonce.
RoobetAvatar → Fairness (or open a bet in Game History). Use Change Seeds to rotate and reveal the old server seed, client seed, and nonce.
BC.GameAvatar → Provably Fair. View active and previous seed pairs with the nonce; rotate to unhash the retired server seed for past draws.

Ready to Check Your Keno Draws?

Our verifier supports Stake, Roobet, BC.Game, and more. Paste your seeds, choose Keno, and get the drawn numbers instantly — no sign-up, no downloads, completely free.

Launch the Verifier Tool

What This Proves — and What It Does Not

This is the honest part most Keno pages skip. A successful verification is powerful, but it has clear limits, and pretending otherwise would be dishonest.

What verifying Keno DOES prove
  • The drawn numbers were fixed before you played
  • The casino did not change the draw after seeing your picks
  • Your client seed genuinely influenced the result
  • The revealed server seed matches the hash you were shown
What it does NOT prove
  • That the paytable is generous — the house edge stays
  • That you will hit; the odds of matching spots are unchanged
  • That a future draw is predictable (each one is independent)
  • That the operator will pay out, honour bonuses, or be licensed

Provably fair proves honesty, not generosity. Keno carries a built-in house edge regardless of how transparent the draw is — often one of the larger edges in the casino. Verification confirms the numbers that came out were the numbers the cryptography always pointed to; it does nothing to change your chance of matching spots, and it cannot turn a missed draw into a winning one. It also says nothing about whether the operator is trustworthy: a casino can implement flawless Keno and still stall withdrawals or run unlicensed. That is why we still weigh licensing and payout history in our provably fair casino reviews. For the full breakdown, see is provably fair actually fair?

Verify Other Games Too

Keno shares the same engine as every other original. Once you can verify a draw, the rest follow the same pattern — only the final mapping from hash bytes to result changes:

  • Plinko — the hash bytes become per-row left/right moves down the pegs into a bucket.
  • Limbo — the hash bytes become a single float, then a crash-style multiplier with the house edge baked in.
  • Dice, Crash & Mines — covered step by step in our how to verify provably fair results guide.

Key Takeaways

Keno is provably fair: the HMAC-SHA256 byte stream seeds a draw-without-replacement from the number pool, guaranteeing distinct numbers. Our worked example draws 2, 5, 6, 10, 14, 19, 20, 26, 31, 33 — reproduce it yourself. Grab your server seed, client seed, and nonce, paste them into the Provably Fair Verifier, and confirm your draw. Just remember it proves the result was honest, not that the house edge is gone.

Frequently Asked Questions

The casino computes HMAC-SHA256 using your server seed as the key and clientSeed:nonce:cursor as the message, then reads the output bytes in groups of four and converts each into a number between 0 and 1. Those numbers drive a selection from the pool, typically 1 to 40: the first number picks an index into the pool, that number is removed, the next number picks from what remains, and so on until ten distinct numbers are drawn. Removing each pick guarantees no duplicates. Because the server seed was committed as a hash before the draw, the drawn set was fixed in advance and you can recompute it exactly.
Because the algorithm draws without replacement. After each number is selected it is removed from the pool, so the next random value can only land on a remaining number. This is the same idea as a hash-seeded shuffle: the cryptographic byte stream determines the order, but the pool shrinks by one each step. That is why a standard draw returns ten different numbers rather than ten independent rolls that could collide.
You need the unhashed (revealed) server seed, the client seed that was active, and the nonce of that specific draw. The unhashed server seed is only revealed after you rotate or change your seed pair in the casino's Fairness settings, which retires the old seed. Your bet history shows the nonce. Paste all three into our free Provably Fair Verifier, select Keno, and it reproduces the same drawn numbers the game showed.
No, not without detection. The server seed that determines the draw is locked by its published SHA-256 hash before the round, and you control the client seed, so any after-the-fact change would make the revealed seed no longer match the hash you were shown. The realistic risks lie elsewhere, such as an operator running games it never properly committed, voiding bonuses, or stalling withdrawals. Always confirm the revealed server seed hashes to the original commitment, not just the final numbers.
No. Verification proves the draw you already played was honest and unaltered; it has no effect on future draws. Every Keno round is independent and the paytable carries a built-in house edge, so no amount of verification or pattern-watching improves your chances. The value of verification is confidence that the result was fair, not an edge over the house.
AM
Alex Mercer
Alex covers crypto casinos and provably fair gaming for the ProvenlyFair.com Editorial Team. Specialising in cryptographic verification systems and transparency in online gambling.
Free Tool — Verify Any Provably Fair Bet
Verify Now