Key takeaways

  • A virtual economy stays healthy when every source of currency is matched by sinks players actually want to use, so balances grow slowly and prices keep their meaning.
  • Price items in minutes of play first and in currency second, then check that buying is a shortcut rather than the only realistic path.
  • Treat offerwall rewards as a separate, revenue-backed source: price them against what a buyer gets per dollar of your net revenue, route them to a currency with strong sinks, and take them back on reversals.

What is virtual economy design?

Virtual economy design is the work of deciding how a game or app creates currency and items (sources, also called faucets), how it removes them (sinks, also called drains), and what everything costs. A healthy economy keeps the amount of currency in players’ hands growing slowly enough that prices stay meaningful. When sources outrun sinks for long, you get inflation: balances pile up, rewards stop feeling like rewards, and players who would have paid stop paying.

For the exact offerwall reward formula, see How to set your virtual currency exchange rate.

Sources and sinks: the core loop

Every unit of currency enters through a source and leaves through a sink or sits in a balance. Unity’s game economy design guide puts it simply: faucets are how players earn currency and “control the pace of progression”, and “sinks are what keep currency meaningful.”

Daniel Cook’s essay on value chains adds the part designers often skip: each chain of actions should end at an anchor, a real player need such as competence, autonomy or relatedness. A sink nobody cares about is not a sink, it is a tax players avoid. A good sink is something players want to spend on.

Sources (currency in)Sinks (currency out)
Quest, level and battle rewardsUpgrades with rising costs
Daily login and streak rewardsConsumables: energy refills, boosts, revives
Achievements and milestonesCosmetics and collections
Selling items back to the gameCrafting, with some value lost in the conversion
Rewarded video adsSpeed-ups on timers
Offerwall rewardsEvent entry fees, rerolls, repairs
In-app purchases (hard currency)Trading or marketplace fees

Two properties matter most. First, whether a source is capped (five videos a day) or open-ended (battles you can repeat forever). Open-ended sources are where inflation usually starts. Second, whether a sink scales with the player. A repair fee that stays at 50 coins while income grows tenfold stops mattering by mid-game.

Soft vs hard currency

Most free-to-play games run two currencies. Unity’s guide describes soft currency as “usually earned through play” (coins, gold) and hard currency as “scarce and is typically tied to real money” (gems, diamonds), either bought or “earned in deliberately small amounts through play or rewarded ads.”

Soft currencyHard (premium) currency
Main sourcePlaying the gameIn-app purchases, plus small earned amounts
Typical sinksUpgrades, crafting, everyday itemsSpeed-ups, premium items, cosmetics, soft currency packs
VolumeHigh, earned every sessionLow, so each unit feels valuable
ConversionUsually cannot become hard currencyOften converts one way into soft currency
What inflation doesProgress gets too fast, sinks feel pointlessStore revenue falls because free gems cover needs
Your main leverSinks and price curvesScarcity and what gems can buy

The one-way conversion is the key design choice. If hard currency buys soft currency but never the reverse, a grinding player can never turn time into premium items at scale, and a buyer can always skip the grind. Apple’s App Store Review Guidelines (3.1.1) also say that credits or in-game currencies bought through in-app purchase may not expire, so purchased hard currency can sit in balances forever (checked on October 22, 2026). Plan sinks for it, because you cannot wipe it.

Pricing: start with the value of time

Time is the one resource every player has. Evan Losi of Scopely built his GDC 2018 talk on free-to-play system design around it, calling time “the one resource that is universal to all games.” Unity’s guide gives the same advice in pricing terms: “model the exchange rate for player time, not just currency.”

  1. Measure how much soft currency a typical engaged player earns per minute of play at each stage of the game. Use the median from your telemetry, not the mean, which a few heavy players will drag up.
  2. Price every item in minutes first. “This sword should take about two hours of play” is a design decision; “12,000 coins” is just its translation.
  3. Set the hard currency price of skipping that time. That price is what you are really selling.
  4. Recheck earn rates after every update, since new sources change the minutes behind every price.

Illustrative example: putting a price on an hour of play

A player earns about 100 coins per minute in mid-game, so a 12,000-coin sword is two hours of play. The store sells 10,000 coins for 100 gems, and 100 gems cost about $1 in the gem packs. Skipping the sword’s grind therefore costs about $1.20. That is your price on an hour of play for a player in a hurry. If nobody buys it, the shortcut is too expensive or the grind too short. Sample figures only.

Inflation: what it is and how to detect it

Unity’s guide defines the inflation rate as how fast the total amount of currency in an economy grows over a period, measured as the gap between currency entering through faucets and currency leaving through sinks. Tom Kinniburgh’s chapter of the Free to Play Game Design Bible calls inflation “the enemy of an economy designer” and argues currencies should always stay “tight”, so players always want more of them.

Some inflation is normal, since players should get richer as they progress. The problem is balances growing faster than your price curve. These metrics catch it; each needs a source or sink tag on every currency event in your analytics:

MetricHow to calculate itWarning sign
Net currency createdSources minus sinks per day, divided by daily active usersRising week over week with no new content
Sink-to-faucet ratioCurrency removed divided by currency added, per progression tierFalling well below your target in one tier
Days of currency on handMedian balance divided by median daily earningsClimbing steadily, especially for hard currency
Median balance by cohortMedian balance of players who joined in the same week, by days since installEach new cohort richer at the same age than the last
Time-to-afford basketMinutes of play needed to buy a fixed set of key itemsDropping, which means your prices are losing value
Payer conversion and ARPPUPayers divided by active users; revenue divided by payersFalling while balances rise

Big live economies publish this kind of view. The EVE Online Economic Council’s Monthly Economic Report charts ISK sinks and faucets, money supply, money velocity and a consumer price index month by month. The lesson: watch the flows, not only the balances. At GDC 2020, Yongcheng Liu and Qinfang Ying of NetEase presented how NetEase monitors its MMORPG economies to reduce inflation, which is worth watching if your game has player trading.

Items inflate too. Cook’s essay describes “mudflation”, where MMO players pile up years of gear that no longer matters. If old rewards lose all value, new rewards have to be ever bigger to feel like anything.

How to fix inflation without angering players

  • Add sinks before you cut sources. A new cosmetic line, a prestige upgrade or an event shop drains balances, and players choose to spend.
  • Cap open-ended sources with daily limits or diminishing rewards for repeating the same activity.
  • Scale sinks with progress, so late-game fees grow with late-game income.
  • Use earned, event-only currencies that end with the event, so their supply never leaks into the main economy.
  • Avoid taking away what players already have. A wipe or a sudden price hike reads as theft, and for purchased currency on iOS it may also conflict with the rule that it may not expire.

Earn-vs-buy balance

For each item class, decide on purpose whether it can be earned, bought, or both. A common split: everyday progress is earnable with soft currency, convenience (speed-ups, extra slots) leans on hard currency, and cosmetics are reachable both ways at very different speeds. Buying should be a shortcut, not the only realistic path, and earning should be slower but possible.

Unity’s guide lists pay-to-win perception, insufficient sinks, too-generous early rewards and ad or IAP cannibalization among the common economy mistakes. Cannibalization is the earn-vs-buy balance going wrong: free currency becomes so plentiful that payers stop needing the store. The signal is a falling ARPPU while average balances rise. Hybrid monetization for games covers how to segment payers and non-payers and read ARPPU alongside ad revenue.

Where offerwall rewards fit as a source

An offerwall lets players earn your currency by completing offers from advertisers, such as reaching a level in another game or finishing a survey, and you earn for each completed offer. In economy terms it is a source with three unusual properties:

  • It is revenue-backed. Every unit it creates came with money, which makes it closer to a purchase than to a quest reward.
  • It is lumpy. One completed offer can pay out more currency than a week of daily quests. Your sinks need to absorb sudden, large deposits.
  • It can be reversed. Advertisers sometimes reject a result after it was credited. Your economy needs a way to take currency back, or a hold before it can be spent. See reward hold periods and publisher earnings and reversals.

Price it against your net revenue per buyer

The cleanest anchor is to compare what a buyer gets per dollar of your net revenue with what an earner gets per dollar you earn from offers. Unity’s guide puts typical app store fees at 15 to 30% per transaction so a $9.99 purchase brings you less than $9.99.

Illustrative example: pricing offerwall gems against the gem store

A game sells 1,000 gems for $9.99. After a 30% store commission the developer keeps about $7.00, so a buyer receives about 143 gems per dollar of net revenue. On the offerwall the developer sets 200 gems per $1 earned with a 75% split, so an earner receives 150 gems per dollar earned. An offer that pays the developer $2.00 shows 300 gems. Earners get slightly more per dollar of revenue than buyers, which fits the extra time they spend, and neither path makes the other pointless. Sample figures only; try your own in the virtual currency calculator.

Rules that keep the wall from breaking the economy

  1. Pay into the currency with the strongest sinks. Usually that is hard currency, which has premium sinks built for it. Paying offers in soft currency can flood a currency that only buys upgrades.
  2. Tag it as its own source in analytics, so you can see how much of your supply comes from the wall and which cohorts use it.
  3. Credit only from server-to-server postbacks, never from the client, and remove currency when a reversal arrives. Build a virtual currency system in Unity shows a server-side ledger that handles both.
  4. Never gate core progress behind offers. Apple’s guideline 3.2.2(x) says apps must not force users to download other apps to access functionality or content, while incentivizing actions inside the app is allowed (checked on October 22, 2026). Make the wall an optional path, the same way the store is. Offerwall rules on iOS goes deeper.
  5. Run bonuses as short events, not a permanent state, and include them in your net currency numbers while they run.

For placement and the integration itself, see Monetize a mobile game with an offerwall.

Example economy table

Here is a one-day snapshot for an engaged mid-game player in a made-up mobile RPG with coins (soft) and gems (hard). Sample figures only: the point is the structure, not the numbers.

FlowTypeCurrencyPer dayNotes
Battle rewardsSourceCoins2,000Open-ended, 50 coins per battle
Daily questsSourceCoins1,500Capped
Rewarded videoSourceCoins500Capped at 5 views
Login streakSourceCoins300Capped
Hero upgradesSinkCoins2,500Cost rises each level
Crafting feesSinkCoins800Scales with item tier
Event entrySinkCoins400Weekends only, averaged
Shop rerollsSinkCoins300Optional
AchievementsSourceGems10Slows down late game
OfferwallSourceGemsLumpyRevenue-backed, reversible
Speed-ups and cosmeticsSinkGems30Premium sinks

Reading it: coin sources total 4,300 a day and coin sinks 4,000, a sink-to-faucet ratio of about 0.93, so the player keeps 300 coins a day. If the median balance is 8,600 coins, that is 2 days of currency on hand. That is fine, unless the player hits the hero level cap. Then the 2,500-coin upgrade sink disappears, the ratio falls to about 0.35, and balances balloon. The fix is a sink that opens at the cap (prestige ranks, cosmetic crafting), designed before players get there.

For gems, achievements (10 a day) do not cover the 30-gem daily sink, so the rest comes from purchases and the wall. That is the intended shape: gems stay tight.

Common virtual economy mistakes

Patterns that break economies

Flat sink prices against rising income. Fixing inflation with a wipe instead of new sinks. Letting soft currency convert into hard currency. Pricing items without measuring the minutes behind them. Paying offerwall rewards into a currency with no sinks. Crediting rewards from the client instead of a server postback. Ignoring reversals, so revoked rewards stay spendable.

  • Watching averages. Mean balances hide a few hoarders and a broke majority. Use medians and cohorts.
  • Forgetting events. A weekend bonus doubles a source; if you do not count it, your inflation numbers lie.
  • Treating retention tools as free. Daily bonuses and streaks are sources too. Rewards app retention covers how to budget them.

Adding an offerwall source to your economy with Sharklio

Sharklio is a pay-per-result affiliate network. Each app sets its own currency name and icon, conversion rate, user split, rounding and an optional time-limited bonus, so the wall pays into whichever currency your design calls for. Every credit and every reversal reaches your server as a signed server-to-server postback, which is what a ledger needs. Offers depend on each user’s country and device, and reports break results down by country, offer and sub ID, so you can track the wall as its own source. You can run it through a signed link or iframe, the Offers API, the Android or iOS SDK, or the Unity, Flutter or React Native plugin. See how the wall works, or get in touch with questions about your economy.

Frequently asked questions

What are sources and sinks in a game economy?

Sources (or faucets) are everything that creates currency or items, such as quest rewards, daily bonuses and purchases. Sinks (or drains) are everything that removes them, such as upgrades, consumables, fees and cosmetics. The balance between the two decides whether prices keep their meaning.

What is the difference between soft and hard currency?

Soft currency is earned in large amounts through play and buys everyday progress. Hard (premium) currency is scarce, mostly bought with real money, and buys convenience and premium items. Many games let hard currency convert into soft currency but not the other way around.

How do you prevent inflation in a game economy?

Match every source with sinks players want, cap open-ended sources, scale sink prices with progress and use event-only currencies. Add new sinks before you cut rewards.

How do you know if your game economy has inflation?

Track net currency created per active user, the sink-to-faucet ratio, days of currency on hand and median balances by cohort. If balances rise faster than your price curve and payer conversion falls, the economy is inflating.

Should premium currency be earnable for free?

Most free-to-play games allow it in small, deliberate amounts. Revenue-backed sources such as an offerwall can give more, because each unit earned came with revenue.

Do offerwall rewards cause inflation?

They can if you pay them into a currency with weak sinks or price them far above what buyers get per dollar. Price them against your net revenue per buyer, tag them as a separate source and remove currency when a reversal arrives.

What is mudflation?

Mudflation is item inflation: over time players pile up so much gear that older rewards lose all value and new ones must keep getting bigger. Sinks for items, such as crafting, salvage or collections, slow it down.