JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Tokenomics that works: supply, incentives, and value accrual

Most tokens fail not from a bug but from bad economics. Learn to read supply schedules, vesting cliffs, sinks and faucets, and value accrual well enough to tell a durable design from a Ponzi-shaped one.

Two tokens, two fates

In 2021, Axie Infinity let players earn a token called SLP by playing a game. The reward — the faucet — gushed: millions of SLP minted every day and paid to players. The only way to remove SLP — the sink — was breeding new creatures, which most players didn't do because they were here to cash out. Faucet far bigger than sink means one thing: relentless inflation. SLP's supply exploded, and its price fell more than 99% from its peak. No contract was hacked. The economy was simply printing money faster than anyone wanted to hold it.

Contrast that with a token whose protocol earns real fees from real users, and routes a slice of those fees into buying the token back and burning it. Now demand has a foundation outside of pure speculation, and supply shrinks as the protocol grows. Same technology, opposite destiny. The difference is tokenomics: the economic design of who gets tokens, how new ones are created and destroyed, and whether the token captures any of the value the system produces.

Supply: fixed, inflationary, and the schedule of new coins

The first question of any token is: how many will ever exist, and how fast do they arrive? At one extreme is a fixed cap. Bitcoin will only ever mint 21 million BTC, on a hard-coded emission schedule that halves the block reward every 210,000 blocks (~4 years): 50 → 25 → 12.5 → 6.25 → 3.125 BTC (the 2024 halving). This is disinflationary — new supply still arrives, but at an ever-shrinking rate that converges to zero.

# Bitcoin's disinflationary emission: a fixed cap reached by halvings
INITIAL_REWARD   = 50          # BTC per block
HALVING_INTERVAL = 210_000     # blocks (~4 years)

def block_reward(height):
    halvings = height // HALVING_INTERVAL
    if halvings >= 64:         # reward has rounded down to 0 satoshis
        return 0
    return INITIAL_REWARD / (2 ** halvings)

# 50 -> 25 -> 12.5 -> 6.25 -> 3.125 (2024) -> ...
# The infinite sum converges to 21,000,000 BTC.
# No issuer can change it without changing every node's rules.
A capped, predictable supply curve. Scarcity is enforced by code, not by a promise.

At the other extreme is perpetual issuance. Ethereum has no hard cap; it issues new ETH to pay stakers, creating ongoing token inflation. But two forces push the net rate down. First, in proof of stake the issuance rate is low (roughly 0.5–1% per year, scaling with how much is staked) — far below proof-of-work Bitcoin's early years. Second, EIP-1559 burns the base fee of every transaction. When the network is busy, more ETH is burned than issued, and supply actually shrinks — ETH becomes net deflationary. Net supply change is the number that matters, not gross issuance alone.

Who gets the tokens, and when: distribution and vesting

Total supply tells you nothing about circulating supply. A token can advertise '1 billion total' while only 8% is liquid and the rest is locked for insiders. The token distribution — the split between team, investors, treasury, and community — is the political constitution of the project, and the vesting schedule is its calendar. A typical venture-backed launch might allocate, say, 20% to the team and 18% to investors, both released gradually over four years.

The dangerous detail is the cliff: a period (often one year) during which nothing unlocks, followed by linear release. A cliff aligns incentives — insiders can't dump on day one — but it also creates a predictable wall of new supply on the unlock date. Veteran traders mark these dates on a calendar and front-run the sell pressure. Read the vesting contract, not the marketing deck.

# Linear vesting with a 1-year cliff over a 4-year schedule.
# total = tokens granted; start = TGE (token generation event)
CLIFF    = 365 * 86400          # 1 year, in seconds
DURATION = 4 * 365 * 86400      # 4 years, in seconds

def vested(total, start, now):
    if now < start + CLIFF:
        return 0                       # nothing before the cliff
    if now >= start + DURATION:
        return total                   # fully vested
    return total * (now - start) // DURATION   # linear *from start*

def releasable(total, start, now, already_claimed):
    return vested(total, start, now) - already_claimed

# Note: at the cliff, the first year's worth (25%) unlocks AT ONCE,
# then drips. That one-day jump is the supply shock to watch for.
Linear-with-cliff vesting. The cliff is good for alignment but concentrates sell pressure on a single date.

The most credibly community-owned launches minimize insider allocation and use an honest path to distribution: an airdrop to actual users, a fair launch with no pre-mine, or — historically — an ICO (now heavily regulated and often a vehicle for exactly the insider games above). Whatever the method, the question is the same: a year from now, who can sell, and how much?

Sinks and faucets: keeping the economy in balance

Game designers have a vocabulary token designers should steal. A faucet is anything that creates tokens and hands them to participants: staking rewards, liquidity mining, play-to-earn payouts, yield-farming emissions. A sink is anything that removes tokens from circulation: fees burned, tokens spent on a service, tokens locked up. A healthy economy keeps these roughly in balance; when faucets dwarf sinks, you get the SLP outcome.

# A token economy, per period, is faucets (mint) minus sinks (remove).
faucets = staking_rewards + liquidity_mining + play_to_earn_payouts
sinks   = fees_burned + tokens_locked + tokens_spent_in_app

net_emission   = faucets - sinks            # newly circulating tokens
inflation_rate = net_emission / circulating_supply

# Worked sketch (one period):
#   faucets = 10,000,000 ; sinks = 1,000,000
#   net_emission   = 9,000,000
#   circulating    = 100,000,000
#   inflation_rate = 9%  PER PERIOD  -> compounding dilution
#
# Faucets without matching sinks are just dilution wearing a game costume.
Net emission = faucets − sinks. If this stays large and positive, holders are silently diluted every period.

The subtle trap is mercenary liquidity. Protocols bootstrap a liquidity-mining program — print governance tokens to reward people for depositing — and TVL rockets. But that capital is loyal to the yield, not the protocol. The moment emissions drop or a juicier farm appears elsewhere, it leaves, dumping the rewarded tokens on the way out. Emissions can rent growth, but they can't buy it. The real test is what remains when the faucet is turned off.

Value accrual: does the token actually capture anything?

Here is the question that separates an asset from a coupon: when the protocol succeeds, does the token benefit? A governance token that only confers voting rights has no cash flow — its price rests entirely on the belief that control of the protocol is worth something. That belief can be real (controlling a multi-billion-dollar treasury and fee switch is valuable) or it can be a story you tell while emissions inflate the supply out from under you.

Designs that create genuine value accrual usually do one of three things. Fee capture / real yield: route a share of protocol revenue to stakers — this is the cleanest link, but it makes the token look like a security under laws like the Howey test, so many protocols avoid paying holders directly. Buyback-and-burn: use revenue to buy the token on the open market and burn it, returning value by shrinking supply (the on-chain version of a stock buyback). Required usage: make the token a mandatory sink — gas, collateral, or fees must be paid in it — so demand scales with usage rather than speculation.

// Solidity ^0.8 — value accrual by buyback-and-burn.
// Protocol fees accumulate here; anyone can trigger the buyback.
function distributeFees() external {
    uint256 revenue = feeToken.balanceOf(address(this));   // e.g. USDC earned
    require(revenue > 0, "no fees");

    // Buy the governance token on a DEX with the revenue...
    uint256 bought = _swapExactIn(feeToken, govToken, revenue);

    // ...and permanently remove it from supply.
    govToken.burn(bought);                                 // total supply shrinks
    emit BuybackBurned(revenue, bought);
}
Buyback-and-burn ties token value to real revenue without paying a 'dividend' that regulators might call a security.

Vote-escrow: locking tokens to align time horizons

A recurring problem in token-weighted voting is the short-term holder: someone who buys, votes for whatever pumps the price this week, and sells. The vote-escrow (ve) model, pioneered by Curve's veCRV, fixes this by making voting power a function of commitment over time. You lock your tokens for up to four years; the longer you lock, the more voting weight and the bigger the reward boost you receive. Your power decays linearly as the unlock date approaches.

# vote-escrow: lock tokens for time to get voting weight + reward boost.
MAXTIME = 4 * 365 * 86400          # 4 years, in seconds

def voting_power(amount_locked, unlock_time, now):
    if now >= unlock_time:
        return 0                   # expired lock -> no power
    return amount_locked * (unlock_time - now) // MAXTIME

# Lock 1,000 tokens for the full 4 years  -> ~1,000 ve today
# Lock 1,000 tokens for 1 year            -> ~250  ve today
# Power decays linearly to 0 at unlock; to keep it, you re-lock.
# Side effect: locked tokens leave circulation -> supply sink.
Curve-style ve voting power: weight = amount × (time remaining / max). Commitment, not just capital, earns a say.

The ve model does three good things at once: it rewards long-term alignment, it removes locked tokens from circulation (a real supply sink), and it lets holders direct emissions (in Curve, ve voters choose which pools get CRV rewards via 'gauge' votes). But be honest about the failure mode it created: because directing emissions is valuable, a market sprang up to buy votes. Protocols bribe veCRV holders to vote for their pool, and aggregators like Convex emerged to concentrate ve power — the 'Curve wars.' Vote-locking aligns time horizons, but it can also turn governance into a pay-to-play auction.

Sustainable or Ponzi-shaped? A diagnostic

The most dangerous designs are reflexive: the token's price feeds back into its own yield. OlympusDAO's '(3,3)' famously offered staking APYs in the thousands of percent, paid in freshly minted OHM. High APY pulled in buyers, the price rose, which made the dollar-denominated APY look even higher, which pulled in more buyers — a flywheel that runs in reverse just as fast. When sentiment turned, OHM fell from well over a thousand dollars to tens. Reflexivity is not automatically fraud, but a yield paid mostly to existing holders out of *new buyers'* money is the literal shape of a Ponzi scheme, whatever the whitepaper calls it.

The textbook catastrophe is Terra. Its UST stablecoin held its $1 peg by an arbitrage loop with the LUNA token: burn $1 of LUNA to mint 1 UST, or burn 1 UST to mint $1 of LUNA. The Anchor protocol subsidized ~20% APY on UST to manufacture demand. In May 2022, UST slipped below the peg; the arbitrage now minted enormous amounts of LUNA, hyperinflating its supply from ~350 million to trillions within days. Both assets collapsed to near zero, erasing roughly $40+ billion. A peg backed by a reflexive token, propped up by an unsustainable yield, is a death spiral with a delay timer.

So how do you tell durable from doomed? Run the token through these questions:

  1. Supply: is the emission schedule public, capped or clearly disinflationary, and is net emission (faucets minus sinks) under control rather than compounding inflation?
  2. Distribution: after vesting and the cliff fully unlock, what fraction sits with insiders, and how big is the sell wall on each unlock date?
  3. Value accrual: would the token still make sense with emissions off — does it capture fees, get burned, or have mandatory demand, or is yield its only reason to exist?
  4. Demand source: does yield come from real revenue paid by users, or is it paid out of new entrants' deposits (the Ponzi tell)?
  5. Reflexivity: is the system's solvency dependent on its own token's price staying high? If a price drop mechanically forces more selling, you have a death-spiral risk.