Skip to content
Ludo Vest
Economy

Why Hearts cost 30–50% less than the rest of the genre

The pack-by-pack comparison, what a Heart actually does, and the two structural rules that keep the shop from ever becoming a way to buy better dice.

Muhammad Suleman7 min read
The Ludo Vest Hearts shop showing five packs with the typical price charged elsewhere struck through.

Ludo is a game people play for twenty minutes on a bus. The genre has settled on charging like it is a game people play for six hours on a weekend, and the numbers are strange once you look at them directly: a dollar for a handful of undos, two for a slightly larger handful.

We priced Hearts against that norm rather than against a spreadsheet. Every pack sits between 30% and 50% below the comparable one elsewhere.

PackHeartsLudo VestTypical elsewhere
Starter50$0.49$0.99
Small120$0.99$1.99
Medium350$2.49$4.99
Large800$4.99$9.99
Mega2,000$9.99$19.99
Hearts packs and the typical price for the equivalent elsewhere.

What a Heart buys

Hearts are the premium currency. Gold is the one you earn by playing. The split matters, so it is worth being precise about which does what.

  • Gold comes from playing, the daily streak, missions and the Magic Chest. It pays match stakes, some cosmetics, and the 2,000 it costs to found a club.
  • Hearts come from purchase, match rewards, the daily streak and the Season Pass. They pay for an undo, an extra turn, gifts, and some cosmetics.

Note what is missing from both lists. Neither currency buys a better chance of anything. There is no lucky dice item, no probability boost, no "premium roll".

Two rules that make cheap pricing safe

Discounting is easy. Discounting without wrecking the economy needs the economy to have a shape that resists it, and ours rests on two invariants that are asserted in tests rather than remembered by people.

One: Gold can only leave circulation

When a match starts, every player is debited their stake. The pot is the sum of those stakes, the house takes a 5% rake, and the remainder is split by placement — winner takes all in a two-player game, 70/30 between first and second at a three or four player table, and the winning pair split it in Team Up.

The invariant is that the sum of every Gold change in a match is never positive. This is not a guideline; it is a test that runs across every table size and stake. An earlier version of the rules refunded the runner-up, which sounds generous and quietly minted 400 Gold per four-player match. The test caught it before anyone played it.

Two: hard currency only ever buys cosmetics and Hearts

Cosmetics are visual and social. Dice skins, token sets, board themes, avatar frames, chat bubbles. Not one of them reaches dice generation, move legality or reward calculation — there is no code path from an inventory item to the generator, which takes exactly two inputs: the match seed and the roll index.

Undo, and why it cannot be a second draw

The single most valuable thing a Heart does is rewind a roll, and it is the feature most likely to feel like pay-to-win. It is not, and the reason is structural rather than promised.

The dice sequence for a match is derived from a seed that is committed to publicly before the first roll. Undoing does not re-roll a die; it moves you back a step in a list that already existed. You are buying a different decision, not a different number. If we wanted to sell luck, we would have had to abandon the commitment scheme to do it.

Free Gold is not a trickle

Cheap packs mean nothing if the game is built so you must buy them. Three sources keep a non-paying player at the table:

SourceWhat it paysCadence
Login streak500, 750, 5 Hearts, 1,000, 10 Hearts, 2,000, 25 HeartsDaily, day 7 repeats
Daily missionsGold, Hearts or XP per missionFive per day
Magic Chest300 GoldEvery four hours

The streak clock belongs to the server: days roll at 00:00 UTC and changing your device date does nothing. Miss a day and the streak resets — unless you come back within six hours of the next midnight, which stops a player west of UTC losing a streak at their own eleven in the evening.

A purchase credits exactly once

Every store receipt is applied with the platform transaction id as an idempotency key. Replaying a receipt — by a client retry on a bad connection, or deliberately — credits the account once and only once. Balances change through a conditional update that refuses to go negative rather than clamping to zero, so a race cannot conjure currency in either direction.

And while receipt validation is unconfigured, the server rejects purchases in production rather than accepting them. A missing integration can cost us a sale; it can never hand out currency to real players by accident.

The honest summary

We are not cheaper because we found an efficiency nobody else has. We are cheaper because the genre's prices were set when the only lever was how badly a player wanted to undo a bad roll, and we would rather more people buy a $0.49 pack than fewer people feel taken for $1.99.

The prices are on the shop screen with the comparison shown, not buried. If we ever move them, they move up in public and with a reason.

Check it yourself

Free on Android, no account needed, and every match verifiable after it ends.

Get it onGoogle PlayDownload on theApp StoreComing soon