Difficulty
Only the 1 / 5 / 10 yen coins, 2 to 4 coins each.
Voice uses your device's built-in speech. The amount is always shown as text too.
One question at a time: an amount is read aloud and shown in large digits. Drag coins from the row below onto the checkout tray until the total matches, then press Pay.
Only the total is checked — how you assemble it does not matter. ¥100 can be one 100-yen coin, two 50s, or ten 10s, and all three are correct. That freedom is deliberate: the goal is not memorizing one approved way to pay, but being able to build an amount yourself.
Coins can be dragged, or simply tapped to add. Tapping a coin already on the tray takes it back off, so a child can add, check the total, remove one when it is too much, and repeat as often as they like.
The worst failure mode for a shop game is asking for an amount that the available coins cannot make. Nothing the child does is accepted, and the adult next to them cannot see why.
So the questions are built backwards. The game first picks a handful of coins at random from the set allowed at that difficulty (2–4 on Easy and Normal, 4–6 on Hard), and the price is their total. Because it starts from a valid payment, only payable amounts can ever appear.
Every difficulty includes the 1-yen coin, so any remainder can be settled exactly. There is no way to get stuck.
What separates the three levels is the set of coins in play. Rather than simply scaling the amounts up, each step adds the denominations that are easiest to confuse.
Those two are where children first trip up. The 50-yen coin is worth less than the 100 but is close to it in size and colour. The 500 starts with the same digit as the 5 while being worth a hundred times more.
Because appearance and value do not line up neatly, adding them before place value has settled with 1, 5, 10 and 100 just produces confusion. Playing Normal for a while first means that when Hard arrives, only those two coins are new.
Hard also raises the coin count to 4–6 per payment. Rounds where a single 500 covers it sit next to rounds needing a stack of 100s, which nudges children toward reaching for the largest coin first.
Press Pay with a mismatched total and the game tells you which direction you are off in: too much gets "Too much" and a red border, too little gets "A little more" and an orange one. Both come with speech and colour, so the direction is clear even to a child who cannot read yet.
Nothing stops. The coins stay on the tray, so it takes one removal or one addition to fix. There is a Clear button, but closing the gap teaches more about how far off you were than starting over does.
The streak resets to zero here. Only the current run of correct answers is lost — the best streak per difficulty is kept.
Pressing Hint faintly shows one set of coins that adds up to the price — the version using the fewest coins, taking the largest denominations first.
Since only the total is checked, paying with a different combination is still correct. Looking at the hint and then asking "can we make the same amount another way?" turns it straight into a making-change exercise.
The hint closes whenever a new question appears. If it is needed on every single round, that difficulty is probably still a little early.
The six coins are the ones in daily use in Japan: 1, 5, 10, 50, 100 and 500 yen. They are drawn in CSS rather than loaded as images, roughly matching the real metal colours and relative sizes — the 1-yen is the smallest, the 500-yen the largest.
That makes the game useful beyond arithmetic. Anyone learning to handle cash in Japan, including adults, gets practice at telling the silver coins apart at a glance and building an exact amount before reaching the register.
Prices are read aloud as "100 yen" using your device's built-in speech, and always shown in digits as well, so the game works with the sound off. The microphone is never used.
Coin Pay runs entirely inside the browser, with no external communication of any kind.
The success chime is synthesized on the fly with Web Audio, prices are spoken by the speech synthesis already on your device, and the coins are CSS. There is not a single image or audio file to fetch.
The only thing stored is the best streak per difficulty, kept in your device's localStorage. No name, no age, and nothing about the session goes anywhere.