MATH OF LUCK

Wheel odds, priced: 48 slots, five multipliers and the 1% edge

Illustration for “Wheel odds, priced: 48 slots, five multipliers and the 1% edge”
On this engine’s Wheel there are 48 slots: 25 pay nothing, 13 pay ×1.5, 7 pay ×2, 2 pay ×3 and 1 pays ×8. The wheel lands on a paying slot 23 times in 48, 47.92%, and on the ×8 once in 48, 2.08%. The multipliers add up to 47.5, so a spin returns 47.5 ÷ 48 = 98.96% of the stake and the house edge is 1.04% — close to limbo and crash, well under roulette’s 2.7%. The return is lopsided: the single ×8 slot carries a sixth of it, and a wheel without it would return 82.3%. The ×8 arrives a median of once every 33 spins and on average once in 48; 36% of 48-spin sessions never see it. A round is about 19.7 seconds, so an hour is close to 183 spins and a flat one-unit stake costs about 1.9 units an hour on average, against a swing of roughly 19 units.
BETKYO RESEARCHPUBLISHED 2026-09-21UPDATED 2026-09-218 MIN READ

One wheel, one spin, everyone on it

The Wheel has no choices to make. You stake an amount inside the betting window, the wheel spins once for the whole table, and your stake is multiplied by the number on the slot under the pointer — including by zero. There is no colour to pick and no target to set, which makes the whole game one question: how many slots pay each multiplier?

ENGINE-VERIFIEDWheelDerivation in wheel/WheelEngine.kt: SLOTS = 48; buildWheel() places the winning slots rarest-first and evenly spaced — 1 slot at ×8, 2 at ×3, 7 at ×2, 13 at ×1.5 — and fills the remaining 25 with ×0. The slot is floor(u × 48), where u is the first seven bytes of HMAC-SHA256(key = the round’s chain link, message = the public salt) divided by 2⁵⁶. settle() pays stake × multiplier, floored to a whole unit of the coin. One round is a 10-second betting window (wheel.betting-seconds), a 700 ms lock and a 9-second spin (wheel.spin-seconds). The client shows the same 48-slot layout the server sends in its snapshot.

The arrangement of the slots around the ring is cosmetic. The engine spreads the rare wins out so the pointer passes a ×2 or ×3 on its way round, but the spin lands on a slot chosen uniformly from all 48, so only the count of each multiplier matters. The ×8 sits at slot 24, opposite the first slot; it could sit anywhere and the price would not move.

The price of every slot

With 48 equally likely slots, the chance of any multiplier is its slot count over 48, and the return of the wheel is the sum of the multipliers over 48. That sum is 25 × 0 + 13 × 1.5 + 7 × 2 + 2 × 3 + 1 × 8 = 47.5, and 47.5 ÷ 48 is the whole price.

Every multiplier on the 48-slot wheel
PAYSSLOTSCHANCEONE INSHARE OF THE RETURN
×02552.08%1.92 spins0.0 points
×1.51327.08%3.6940.6 points
×2714.58%6.8629.2 points
×324.17%2412.5 points
×812.08%4816.7 points
Any win2347.92%2.0998.96 points in all

Chance = slots ÷ 48. Share of the return = slots × multiplier ÷ 48, in percentage points of the stake; the shares sum to 98.96%, a house edge of 1.04%. The swing of one spin is 1.39 stakes (standard deviation).

Two things about that table are worth holding side by side. The price is low: 1.04% is in the same band as limbo and crash at 1.00%, well under roulette’s 2.7%, and a sixth of the colour wheel’s 6.67%. And the wheel loses more often than it wins: 25 of the 48 slots pay nothing, so a little over half of all spins return zero. Cheap and frequently losing are not in tension; the wheel is cheap because the wins, when they come, are paid nearly in full.

A fair wheel with these slot counts would pay a little more on each win — ×1.516 instead of ×1.5, ×8.08 instead of ×8, or one more paying slot in place of a zero. The engine keeps the round multipliers and takes the difference, half a point of the stake on every spin on average, as the edge.

Where the money comes back from

The last column of the table is the one that explains what a session on the wheel feels like. Of the 98.96 points a spin returns on average, 40.6 come from the thirteen ×1.5 slots, 29.2 from the seven ×2, 12.5 from the two ×3 — and 16.7 from the one ×8. A single slot in 48 carries a sixth of the payback.

Take that slot away and the wheel returns 82.3%. That is the wheel most short sessions actually experience, because the ×8 is absent from them: it lands once in 48 spins on average, and a run of 48 spins has a 36% chance of not containing it at all. Between ×8s the player is on a 17.7% edge; the ×8, when it comes, pays back what the gap took. Over enough spins the two average to 1.04%, but the averaging takes hundreds of rounds, and a player who leaves before the ×8 has paid the high price without collecting the refund.

The rest of the payback is steadier. The ×1.5 and ×2 slots together land 20 times in 48, and their 69.8 points arrive in small, frequent pieces. That is why a wheel session reads as a slow drain punctuated by one big lift: the frequent wins are all smaller than double, the zeros outnumber them, and the one multiplier that could turn the session is the rarest thing on the ring.

Losing streaks and the wait for ×8

Every spin is drawn fresh from the chain, so the chance of a run is a plain power. A losing spin happens 25 ÷ 48 of the time, and the chance of k losses in a row is (25 ÷ 48)ᵏ.

Runs and waits on the wheel
EVENTCHANCEABOUT
3 zeros in a row14.13%1 in 7
5 zeros in a row3.83%1 in 26
8 zeros in a row0.54%1 in 185
10 zeros in a row0.15%1 in 681
No ×8 in 10 spins81.0%3.3 minutes
No ×8 in 33 spins49.9%the median wait
No ×8 in 48 spins36.4%the average wait
No ×8 in 100 spins12.2%33 minutes
No ×8 in 150 spins4.3%49 minutes

No ×8 in N spins = (47 ÷ 48)ᴺ. The median wait is 33 spins, the first N at which the chance of having seen the ×8 passes one half; the mean is 48. A ×3 or better (3 slots) has a median wait of 11 spins. Minutes assume 19.7 seconds a spin.

The median wait for the ×8 is shorter than the average, 33 spins against 48, because the distribution is lopsided: most gaps are shorter than 48 and a few are much longer, and the long ones pull the mean up. One session in eight goes a hundred spins, half an hour, without the top slot. None of that is a pattern: a wheel that has not shown ×8 for two hundred spins lands on it next spin with the same 1 ÷ 48. The gambler’s fallacy is the belief that the wait itself is owed a payment; the chain does not keep that account.

What an hour costs

The wheel runs on the server’s clock: ten seconds to bet, a short lock, nine seconds of spin, then the next window opens — about 19.7 seconds a round and close to 183 spins an hour. A flat one-unit stake every spin puts 183 units on the table and gets back 181.1 on average, a cost of about 1.9 units an hour. The same stake at the same pace costs about 4.9 units on a roulette even chance and about 12.2 on the colour wheel.

The hourly cost is small next to the hourly swing. One spin has a standard deviation of 1.39 stakes; 183 of them have a standard deviation of about 19 units. The expected loss over an hour is a tenth of the noise, which is why an hour on the wheel can end anywhere from twenty units up to twenty down and feel, either way, like it was about the ×8.

On settlement the engine multiplies the stake by the landed multiplier and floors the result to a whole unit of the coin. Only ×1.5 can produce a fraction: a stake of an odd number of raw units loses half a unit to the floor. In a coin’s smallest unit that is a rounding of one satoshi or one wei-scale unit, not a price.
The Wheel, with every spin on a public chain
48 slots, five multipliers, one shared spin every twenty seconds — the ×8 lands once in 48 and every round’s link is revealed after it lands
Wheel →

Checking a spin yourself

Like crash and Double, the wheel runs on a hash chain rather than a per-player seed pair. Before the first round the server publishes the commit hash of the chain and a fixed public salt; after each round it reveals that round’s link. Hashing a link with SHA-256 gives the previous round’s link, back to the commit, which is what fixes the order of outcomes before anyone bets.

  1. Take the round’s revealed link and the salt from its verify entry in the history strip.
  2. Compute HMAC-SHA256 with the link as the key and the salt as the message. Take the first seven bytes of the digest as a 56-bit integer and divide by 2⁵⁶ to get u.
  3. The slot is floor(u × 48). Read the multiplier off the layout below; it should match the number the round paid, and SHA-256 of this link should equal the previous round’s link.
The 48-slot layout, from slot 0 clockwise: 0, 1.5, 0, 2, 0, 1.5, 0, 0, 0, 1.5, 2, 0, 3, 1.5, 0, 0, 1.5, 2, 0, 0, 1.5, 0, 0, 0, 8, 2, 1.5, 1.5, 0, 0, 2, 1.5, 0, 0, 0, 1.5, 3, 2, 1.5, 0, 0, 0, 1.5, 0, 2, 0, 1.5, 0. It is generated by buildWheel() and sent to the client with every snapshot, so the layout you verify against is the one on screen.

For the exact-minded: 2⁵⁶ leaves a remainder of 16 when divided by 48, so slots 0 to 15 each receive one more of the 2⁵⁶ possible values than slots 16 to 47. The excess is 1.4 × 10⁻¹⁷ per slot and it favours nothing in particular — six of those sixteen slots pay ×1.5, two pay ×2, one pays ×3 and seven pay nothing. What a hash commitment proves draws the line between what the chain guarantees, that the outcomes were fixed in advance, and what the published slot counts guarantee, which is the price.

FAQ

What are the odds on the wheel game?

On this engine’s 48-slot wheel: 25 slots pay nothing (52.08%), 13 pay ×1.5 (27.08%), 7 pay ×2 (14.58%), 2 pay ×3 (4.17%) and 1 pays ×8 (2.08%). Any win lands 23 times in 48, 47.92%.

What is the house edge on the wheel?

1.04%. The multipliers sum to 47.5 across 48 slots, so a spin returns 47.5 ÷ 48 = 98.96% of the stake on average. That is in the same band as limbo and crash and well under roulette or the colour wheel.

How often does the ×8 hit?

Once in 48 spins on average, a median of once every 33. The chance of no ×8 in 48 spins is 36%, and in 100 spins 12%. The ×8 carries a sixth of the wheel’s return; a wheel without it would return 82.3%.

Why does the wheel lose more than half the time if the edge is only 1%?

Because the wins are paid nearly in full. 25 of 48 slots pay zero, but the 23 paying slots are priced so that their multipliers sum to 47.5. A low edge and a low win rate are different properties: the wheel has a low edge and a win rate under one half.

How many wheel spins are there in an hour?

About 183. A round is a 10-second betting window, a 0.7-second lock and a 9-second spin, roughly 19.7 seconds. A flat one-unit stake every spin costs about 1.9 units an hour on average, with a swing of about 19 units.

Can I verify a wheel spin?

Yes. Each round reveals its chain link; HMAC-SHA256 of the public salt keyed by that link, first seven bytes divided by 2⁵⁶, times 48 and floored, gives the slot. Read the multiplier off the published 48-slot layout, and check that SHA-256 of the link equals the previous round’s link.

SOURCES & REFERENCES
  • Betkyo engine source: WheelDerivation in wheel/WheelEngine.kt (SLOTS = 48; buildWheel() tiers ×8 × 1, ×3 × 2, ×2 × 7, ×1.5 × 13, the remaining 25 slots ×0; uniform() = first seven HMAC-SHA256 bytes ÷ 2⁵⁶ keyed by the chain link over the public salt; slotOf = floor(u × 48)); WheelEngine.settle() (stake × multiplier floored to a whole coin unit) and the round timer (betting 10 s, lock 700 ms, spin 9 s); client wheelGame.tsx (BETTING_WINDOW_MS 10,000; layout from the server snapshot)
  • Exact calculations written for this article: the 48-slot layout replayed from buildWheel(), return 47.5 ÷ 48 and its decomposition by multiplier, per-spin standard deviation, (25 ÷ 48)ᵏ losing runs, (47 ÷ 48)ᴺ waits for the ×8, and the 2⁵⁶ mod 48 = 16 remainder
  • Betkyo provably-fair verifier (GitHub, MIT): the shared HMAC-SHA256 helper used to replay chain-based rounds
THE GAMES IN THIS ARTICLE
Betkyo Research — written by the team that builds these games. Every probability quoted in the Journal is derived from our engine source or a cited reference, never copied from another site. Figures are re-checked whenever the engines change.

18+ · PLAY RESPONSIBLY · THE JOURNAL IS EDITORIAL CONTENT, NOT BETTING ADVICE