GAME NOTES

Designing Fukubukuro: the lucky bag that always pays something

Illustration for “Designing Fukubukuro: the lucky bag that always pays something”
Fukubukuro (福袋, “lucky bag”) is a one-draw game: pay the bag price, open it, and receive an item worth a fixed multiple of that price. There are two bags. Ume, the balanced bag, holds eight items from a ×0.20 hand towel to a ×100 golden maneki-neko and returns 96.6% of the price on average. Matsu, the wild bag, holds seven items from ×0.10 chopsticks to a ×250 phoenix and returns 96.78%. Every open pays something, because the cheapest item in each bag is still worth a fraction of the price; the gamble is which item, and the odds are an integer weight table in millionths that the engine rolls with a single number, cursor 0 of the round’s hash. Ume returns at least the price on about 26% of opens and Matsu on about 16%, so the two bags are two shapes at nearly the same price, exactly like keno’s risk levels. The reel animation after you open is theatre; the money settled the moment the bag did.
BETKYO RESEARCHPUBLISHED 2026-09-11UPDATED 2026-09-118 MIN READ

The bag in the shop

On the first shopping days of January, Japanese department stores and boutiques sell fukubukuro: opaque bags at a round price, filled with unsold stock the shop says is worth more than the price. The queue forms before opening. The pleasure is the seal, not the contents; you know the bag is a good deal in aggregate, and you do not know what is inside yours. It is a lottery in which the ticket is guaranteed to be worth something, which is a rare shape for a lottery.

That shape is what our game keeps. The bag has a price, the open is one draw, and the item is worth a multiple of the price that is never zero. What it drops is the shop’s promise that the contents beat the price, because a game cannot make that promise and stay a game. Instead it publishes the table.

Two bags, fifteen items

梅 Ume, the balanced bag: item, payout as a multiple of the price, and chance per open
ITEMPAYSCHANCEWEIGHT (MILLIONTHS)
手拭 Tenugui, a hand towel×0.2045%450,000
御守 Omamori, an amulet×0.5029%290,000
招 Maneki-neko×114%140,000
達磨 Daruma×27%70,000
鯉 Koinobori×53.2%32,000
扇 Sensu, a fan×101.26%12,600
刀 Katana×250.5%5,000
金招 Golden maneki-neko×1000.04%400

Weights sum to 1,000,000. Return = Σ chance × payout = 0.090 + 0.145 + 0.140 + 0.140 + 0.160 + 0.126 + 0.125 + 0.040 = 96.6%.

松 Matsu, the wild bag: harsher floor, far fatter tail
ITEMPAYSCHANCEWEIGHT (MILLIONTHS)
箸 Hashi, chopsticks×0.1058%580,000
風鈴 Fūrin, a wind chime×0.5026%260,000
面 Kitsune mask×11.98%19,800
提灯 Chōchin, a lantern×28.5%85,000
兜 Kabuto, a helmet×64%40,000
龍 Ryū, a dragon×201.5%15,000
鳳凰 Hōō, a phoenix×2500.02%200

Return = 0.058 + 0.130 + 0.0198 + 0.170 + 0.240 + 0.300 + 0.050 = 96.78%. The two bags are priced within 0.18 points of each other.

ENGINE-VERIFIEDfuku/derive.ts: UME_ITEMS and MATSU_ITEMS list each item’s mult100 (payout in hundredths of the price) and weight (“draw weight in millionths of the roll”); the header comments compute “RTP = Σ w/1e6 × mult” as 96.6% for Ume and 96.78% for Matsu. FUKU_BAGS describes Ume as “the balanced bag — steady pulls, ×100 on top” and Matsu as “the wild bag — harsher floor, ×250 hiding inside”. The chances above are the weights divided by one million; the at-least-price figures (26.0% Ume, 16.0% Matsu) are the sums of the ×1-and-above rows, computed for this article.

Read the two tables as one design decision made twice. Ume puts 74% of its opens on the two cheapest items and spreads the rest up a gentle ladder; Matsu puts 84% on its two cheapest, makes its floor half as generous, and pays for that with a ×20 dragon fifteen times in a thousand and a ×250 phoenix twice in ten thousand. Same price, two shapes. A player who wants to open fifty bags and keep most of the money chooses Ume; a player who wants one open to be able to matter chooses Matsu. Neither is cheaper.

One number, one bag

The draw is the simplest in the engine. The round’s hash gives one uniform number; multiply it by a million and round down, and you have an integer between 0 and 999,999. Walk down the bag’s item list adding weights: the first item whose cumulative weight exceeds the roll is the one you opened. That is the entire mechanism. There is no reel physics, no stop position, no second draw. The animation that follows spins reels for effect, and the result it lands on was decided before it started.

ENGINE-VERIFIEDfuku/derive.ts deriveFuku: u = u64(HMAC-SHA256(serverSeed, `${clientSeed}-${nonce}-0`)); roll = min(floor(u × 1,000,000), 999,999); items are scanned in order and the first with cumulative weight above the roll is returned. _shared/demoLocal.ts: “One nonce per bag; cursor 0 draws the item … Money settles at open; the reel ride is pure theater.” demoFukuOpen debits the price, derives the item, and credits centsFloor(price × mult100 / 100).

Two consequences follow, and both are worth knowing before you open. First, order matters only for the arithmetic, not for the odds: an item’s chance is its weight, wherever it sits in the list, because the roll is uniform. Second, a bag is exactly as verifiable as a dice roll, because it is one: reveal the seed, recompute the single hash, walk the table, and you have the item. The verifier uses the same function.

Why every bag pays

The floor is the one thing that distinguishes fukubukuro from a lottery ticket, and it is a deliberate choice with a cost. An item worth ×0.20 is a loss of 80% of the price, which is a worse outcome than most losing spins on a slot, and yet it is not nothing, and nothing is what a lottery ticket usually is. The design borrows the shop’s idea that a sealed bag should never be empty, and pays for it by making the common items cheap: the towel and the amulet together cost Ume 0.235 of its 0.966 return, money that in a zero-floor game would go to the top of the ladder instead.

  • The floor is a feature, not a kindness. It moves return from the rare items to the common ones. The bag is not more generous for it; it is differently shaped.
  • “Always pays something” is not “usually pays back”. Ume returns at least the price about one open in four, Matsu about one in six. Most bags are worth less than they cost, as the return figure already says.
  • The two bags are the same price. Choosing Matsu over Ume changes how the 3.3% edge is collected, not how much. Read the shape you want and open that one.
The tables above are read from the client derivation module, which the source describes as shared by the demo engine and the browser verifier; the house service is the paying authority. Item names and glyphs are the engine’s. This is a design note, not a recommendation to open bags.
FAQ

What is Fukubukuro on this site?

A one-draw game: pay the bag price, open it, receive an item worth a fixed multiple of the price. Two bags, Ume with eight items up to ×100 and Matsu with seven items up to ×250.

What does each bag return?

Ume 96.6% and Matsu 96.78% of the price on average, computed from the engine’s weight tables as chance × payout summed over the items.

Does every bag really pay something?

Yes. The cheapest item is ×0.20 of the price in Ume and ×0.10 in Matsu, so an open never returns zero. Most opens return less than the price: Ume pays at least the price on about 26% of opens, Matsu on about 16%.

How is the item chosen?

One number from the round’s hash, scaled to an integer between 0 and 999,999, is compared against the bag’s cumulative weights in millionths. The first item whose cumulative weight exceeds the roll is the result. The reel animation afterwards is display only.

Which bag is better?

Neither, by return. Ume is the steadier shape with a ×100 top; Matsu has a harsher floor and a ×250 top. They differ in volatility at nearly the same price.

SOURCES & REFERENCES
  • Betkyo engine source: fuku/derive.ts (UME_ITEMS, MATSU_ITEMS, FUKU_BAGS, deriveFuku), _shared/demoLocal.ts (demoFukuOpen)
  • The at-least-price figures are sums of the ×1-and-above weights computed for this article: 260,000 / 1,000,000 for Ume and 160,000 / 1,000,000 for Matsu
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