Keno: how ten numbers are drawn from forty

How a Stake-scheme Keno draw picks 10 of 40 numbers using floats and selection without replacement, and why payout tables are operator-specific.

Disclosure: VerifyRoll is sponsored by Craze, a competitor of the operators whose published RTP appears below. Figures here are computed or taken from what operators publish, dated; nothing is estimated.

How the result is derived

Under the Stake scheme every result starts from HMAC-SHA256(server seed, “clientSeed:nonce:cursor”), read four bytes at a time into floats in [0, 1). Keno consumes ten floats.

  1. Start with 40 positions numbered 0 to 39 (shown to players as 1 to 40).
  2. For each of the 10 draws, take the next float and compute floor(float × positions remaining). Remove the chosen position.
  3. Ten floats fit in two HMAC rounds: eight from cursor 0, two from cursor 1.
for i in 1 … 10:  idx = floor(float_i × |remaining|);  drawn_i = remaining[idx] + 1;  remaining.splice(idx, 1)

Payout rule and where the edge comes from

You choose 1 to 10 numbers and a risk level; the payout depends on how many of yours are drawn. The fairness package carries no Keno payout table because each operator publishes its own, per risk level.

Check the payout table in the game's own rules panel. The RTP figures below are the operator's published number for the game as a whole.

Source of the edge. The draw is uniform over all 10-of-40 combinations (there are 847,660,528 of them). The edge is in the payout table, which is set by the operator and differs by risk level.

Worked example

Computed on the server by the same functions the verifier runs, from the example values the verifier's “Load example values” button uses. These are not seeds from a real round.

inputsstake scheme
server seed
2b4d2f1a7c9e0f3b8a6d5c4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a
client seed
verifyroll
nonce
7
derivation2 hmac rounds
  1. HMAC-SHA256(server seed, “verifyroll:7:0”)
    81727d41db6b44706ddfd681ab9cd0124cc482392adbbdda8ac8ac626566bf1a
  2. HMAC-SHA256(server seed, “verifyroll:7:1”)
    c2c07f6bc3f0feddd98e7bd8b9e1bb233dfcbb5b6f96e9deb6d585c6cf3f461f
  3. Floats (10): 0.50565322 0.85710552 0.42919675 0.67036152 0.29987348 0.16741549 0.54212453 0.39609904 0.76074978 0.76539605
  4. pick 1: floor(0.50565322 × 40) = 20 → tile 20
  5. pick 2: floor(0.85710552 × 39) = 33 → tile 34
  6. pick 3: floor(0.42919675 × 38) = 16 → tile 16
  7. pick 4: floor(0.67036152 × 37) = 24 → tile 26
  8. pick 5: floor(0.29987348 × 36) = 10 → tile 10
  9. pick 6: floor(0.16741549 × 35) = 5 → tile 5
  10. pick 7: floor(0.54212453 × 34) = 18 → tile 22
  11. pick 8: floor(0.39609904 × 33) = 13 → tile 15
  12. pick 9: floor(0.76074978 × 32) = 24 → tile 31
  13. pick 10: floor(0.76539605 × 31) = 23 → tile 30

result

drawn 6, 11, 16, 17, 21, 23, 27, 31, 32, 35

Reproduce this in the verifier

Published RTP by operator

StakeShuffleBC.GameCraze
99%99%99%—

Checked 2026-09-23. “—” means not offered or not published. The figure in your game's info panel wins.

Questions

Are the drawn numbers sorted in the game?
The game shows them sorted; the verifier shows the draw order first because that is what the floats produce, then the sorted set.
Why is there no Keno calculator here?
The hit probabilities are plain hypergeometric arithmetic, but without a payout table there is nothing honest to compute an RTP from. When operators publish tables in a stable form we will add one.

Next

last reviewed 2026-09-23 · derivation as implemented in @craze/fairness

Sponsored

Craze publishes RTP on every game and runs its own provably fair Originals.

VerifyRoll is sponsored by Craze, a crypto casino that shows its working: RTP on every game, crypto in and out, and terms you can read.

  • Crypto-only: 20+ coins; deposit fees absorbed in most cases
  • Provably fair originals, 2,000+ slots, 40+ live dealers
  • Start with a verified email; $10 minimum withdrawal
  • Craze Rewards: 25% of the house edge back from your first bet

From Craze's published terms, checked 2026-09-27. Full terms at Craze.

Create your Craze account

18+. Gambling involves risk. Terms and verification apply. Only where Craze may lawfully serve you.