Nine numbers decide everything
A video slot is a claim about probability dressed as a machine. On most of them the claim cannot be inspected: the reel strips are proprietary, the weights are proprietary, and the return figure on the help screen is something you take on trust. Hanabi is built the other way round. Its reels are not strips at all — every one of the fifteen cells is an independent weighted draw — and the weights sit in a table at the top of the engine file.
| SYMBOL | WEIGHT | CHANCE PER CELL | 3 / 4 / 5 OF A KIND (× TOTAL BET) |
|---|---|---|---|
| 玉 Shell (wild) | 3 | 4.92% | substitutes for any paying symbol |
| 祭 Matsuri (scatter) | 2 | 3.28% | ×2 / ×5 / ×20 anywhere, and 3+ start free spins |
| 金魚 Kingyo | 4 | 6.56% | ×3 / ×10 / ×40 |
| 提灯 Chōchin | 5 | 8.20% | ×2 / ×6 / ×25 |
| 団扇 Uchiwa | 6 | 9.84% | ×1.5 / ×4 / ×15 |
| 氷 Kakigōri | 8 | 13.11% | ×1 / ×3 / ×10 |
| 風鈴 Fūrin | 9 | 14.75% | ×0.8 / ×2.5 / ×8 |
| 麺 Yakisoba | 12 | 19.67% | ×0.6 / ×1.6 / ×5 |
| 鈴 Suzu | 12 | 19.67% | ×0.5 / ×1.2 / ×4 |
Chance per cell is weight ÷ 61. Line pays are read left to right on ten fixed lines; the wild counts as any paying symbol and the scatter breaks a line.
Two things follow from the table that a help screen would never tell you. The rarest paying symbol is not the rarest thing on the reels — the scatter is, at two parts in sixty-one — and the two cheapest symbols together fill almost forty percent of every cell. That is the shape of every slot ever built; the difference is only that here the shape is printed.
One spin in eighty-four
Because every cell is independent, the free-spin trigger has a closed form. A cell is a scatter with probability 2/61; a base spin has fifteen cells; the feature starts when three or more of them are scatters. That is a binomial count, and it comes to 1.193% of spins, or one in 83.8.
| SCATTERS | PROBABILITY | ROUGHLY | WHAT HAPPENS |
|---|---|---|---|
| 0 | 60.7% | 3 spins in 5 | nothing |
| 1 | 30.9% | 1 in 3 | nothing |
| 2 | 7.3% | 1 in 14 | nothing — two scatters pay nothing here |
| 3 | 1.075% | 1 in 93 | ×2 the bet, and 10 free spins |
| 4 | 0.109% | 1 in 915 | ×5 the bet, and 10 free spins |
| 5 or more | 0.0086% | 1 in 11,600 | ×20 the bet, and 10 free spins |
The three feature rows sum to 1.193%, one spin in 83.8.
It is worth pausing on that agreement. The engine’s author tuned the game by simulation and wrote the result in a comment. The weights that produced the simulation are in the same file. Anyone with a calculator can check that the two agree, and they do — which is the only reason this article is allowed to repeat the 96.1%. The Journal does not print a return figure the engine does not state, and it does not print one it cannot see the inputs for.
The ladder: why the feature is shaped like a firework
A free-spin feature in most slots is a flat bonus: ten spins, maybe a fixed multiplier. Hanabi’s is shaped. The multiplier applied to each free spin depends on which spin it is, and it climbs.
| FREE SPIN | 1–2 | 3–4 | 5–7 | 8 and later |
|---|---|---|---|---|
| Multiplier on that spin | ×1 | ×2 | ×3 | ×5 |
| Sum over a plain 10-spin feature | 2 | 4 | 9 | 15 — total 30, an average of ×3.0 per spin |
| Sum over a fully retriggered 22-spin feature | 2 | 4 | 9 | 75 — total 90, an average of ×4.1 per spin |
A retrigger adds four spins to the end of the feature, where every spin already pays ×5. Retriggers are therefore worth far more than their spin count suggests.
This is the design decision the game is named for. A firework does not deliver its payload evenly; it climbs, hangs, and ends in the finale. The ladder makes the last spins of a feature the ones that matter, so a feature that runs long is not merely longer but steeper — and a retrigger, which lands in the ×5 zone by construction, is the game’s real jackpot mechanism. A plain feature averages three times a base spin per spin. A maxed one averages more than four, with its last fifteen spins all at five.
The same ladder is also what makes the feature honest to look at. Because the multiplier is a function of the spin index and nothing else, it cannot be steered: the engine does not decide to be generous, it applies a rule that is printed in one line. That is the same argument Pagoda’s ladder was built on — a climb that is a schedule, not a mood.
The ceiling, and why it is there
A ×5 multiplier on a five-of-a-kind kingyo line is already ×200 the bet from one line of one spin, and a fully retriggered feature has fifteen such spins on ten lines. The theoretical top of the distribution is therefore enormous and the cap of ×2,000 exists to make the game’s liability finite. A capped round is rare by construction — it needs the feature, the retriggers and several premium lines to coincide — but the flag is in the settlement so that a player who hits it can see that the cap, not the reels, set the number.
What you can check, and what you still cannot
Every round of Hanabi replays from three values: the server seed committed before the bet, your client seed, and the round nonce. Cell k of the base spin is cursor k; free spin j reads cursors 15 + 15j through 29 + 15j. Feed those into the same weighted draw and you get the same grid, the same lines and the same feature, which is what the verification walkthrough does for a simpler game.
- You can check the grid. Every symbol on every spin of every round is recomputable, and the weight table that produced it is public.
- You can check the trigger rate. One in 83.8 is a binomial count from the weight table; it does not depend on trusting the header.
- You cannot cheaply check the return. The 96.1% is a simulation result. The inputs to that simulation are all in the file, so the figure can be reproduced by anyone willing to run three million rounds — but it is a reproduction, not a proof, and the Journal quotes it as the engine’s number.
That last line is the honest boundary of a design note like this one. A slot can publish its weights, its lines, its ladder and its cap and still owe the player one measured number. Hanabi’s author measured it, wrote it down next to the weights that produced it, and left both where they can be read. Tairyō’s paytable made the same bargain. It is a smaller promise than “fair”, and it is one that can be kept.
Hanabi, with the weights in the sourceTen lines, a ladder that climbs ×1 to ×5, and every reel stop recomputable from the committed seedHanabi →
What is the RTP of Hanabi?
The engine header states 96.1%, calibrated by a three-million-round simulation of the same file, with a 33.5% hit rate. The Journal quotes that figure from the source and does not compute its own.
How often do Hanabi free spins trigger?
On about one base spin in 84. Each of the fifteen cells is a 祭 scatter with probability 2/61, and three or more scatters on a spin start the feature; that binomial count is 1.193%, matching the engine’s measured “≈ 1 in 83”.
How does the free-spin multiplier work?
It depends only on which free spin it is: spins 1–2 pay ×1, 3–4 pay ×2, 5–7 pay ×3, and every spin from the eighth onward pays ×5. A plain ten-spin feature averages ×3 per spin; a fully retriggered 22-spin feature averages ×4.1 with its last fifteen spins all at ×5.
How many free spins can you get?
Ten to start; each retrigger (three or more scatters inside the feature) adds four, up to a cap of 22.
What is the maximum win on Hanabi?
×2,000 the total bet. The engine settles the round at the smaller of the raw total and the cap, and flags a round that was capped.
Can I verify a Hanabi spin?
Yes. Every cell is one weighted draw from the committed server seed, your client seed and the nonce — base spin cursors 0–14, free spin j cursors 15+15j to 29+15j — using the public weight table, so the whole round replays from those three values.
- Betkyo engine source: hanabi/engine.ts — HANABI_SYMBOLS weights and pays, HANABI_LINES, HANABI_SCATTER_PAY100, HANABI_FS_START / RETRIG / CAP, hanabiFsMult, HANABI_WIN_CAP100, and the header’s Monte Carlo calibration (RTP 96.1%, hit rate 33.5%, free spins ≈ 1 in 83, cap ×2000)
- Scatter-trigger and per-cell probabilities in this article are exact binomial counts from the weight table (p = 2/61 over 15 cells); the return and hit-rate figures are the engine’s own and were not recomputed



