Tokenomics without unit economics is allocation percentages backed by no money. Unit economics answers the question: how much does it cost to acquire one user, how much do they generate, and how does the token affect these numbers. Without this calculation, any supply and demand models remain abstract.
What Is Unit Economics in a Token Context
Unit economics is the profitability calculation per unit (user, transaction, subscription). In token projects, a second layer is added: beyond fiat revenue, there’s the token economy — emission, incentives, and token sinks that affect P&L.
In traditional business the formula is simple: if LTV > CAC, the business scales. In a crypto project, LTV includes usage revenue and token impact (subsidies, emission, burns), while CAC can be paid in tokens (airdrop, referral programs, liquidity mining).
Why Calculate Unit Economics
- Sustainability check — does user acquisition pay for itself without infinite emission?
- Emission calibration — how many tokens to spend on incentives without hyperinflation?
- Token valuation — what is the fundamental token price at given usage metrics?
- Investor attraction — investors fund metrics, not promises
Why It’s Harder in Web3
In classic SaaS, unit economics is linear: acquire a user → they pay a subscription → paid back in N months. In a token project, there’s a nonlinear factor: the token is essentially a liability tied to utilization and market price.
This means token project unit economics fundamentally cannot be precise:
- CAC depends on token price — and price depends on demand, which depends on user count, which depends on CAC. Circular dependency
- LTV depends on token utilization — if users stop staking or the burn mechanism changes, token value and LTV change
- Market price affects everything — when token price rises, so does the “cost” of incentives (CAC) and the “value” of user contribution (LTV). These effects don’t cancel out
Key Metrics
CAC — Customer Acquisition Cost
- CAC — customer acquisition cost
- Marketing — fiat marketing expenses ($)
- Incentives — tokens spent on acquisition (units)
- P — token market price
- New_users — new users acquired in the period
In crypto projects, CAC often includes a token component: airdrop, referral rewards, liquidity mining. These costs are real — they create sell pressure.
Critical point: CAC depends on P. In the formula above, P is the current market price. This means CAC is not a constant: if the token price 5x’s, incentive costs grow proportionally (if the number of tokens distributed is fixed). A project giving away 100K tokens/mo spends $50K at $0.50 and $500K at $5.00 — for the same users.
Example. A protocol spends $50K/mo on marketing and distributes 100,000 tokens per month. 2,000 new users acquired:
| P_token | Token cost | CAC | Comment |
|---|---|---|---|
| $0.10 | $10K | $30 | Cheap to acquire |
| $0.50 | $50K | $50 | Acceptable |
| $2.00 | $200K | $125 | Expensive |
| $5.00 | $500K | $275 | Unprofitable |
This is why many projects switch from a fixed token count to a fixed dollar budget for incentives — to decouple CAC from market price.
ARPU — Average Revenue Per User
- ARPU_monthly — average revenue per user per month
- Revenue_monthly — protocol fiat revenue for the month
- MAU — monthly active users
In DeFi protocols, revenue comes from:
- Swap fees (DEX)
- Lending interest (lending)
- Bridge fees (cross-chain)
- Storage fees (decentralized storage)
- Subscriptions (premium features)
LTV — Lifetime Value
- LTV — lifetime value of a user
- ARPU_monthly — average revenue per user per month
- Lifespan_months — average user lifespan in the protocol (months)
For subscription models: LTV = ARPU / ChurnRate. For transactional: LTV = ARPU × average active months. Note: these formulas assume zero discount rate. At the high discount rates typical for crypto (20–40%), real LTV is 20–40% lower. For a more precise estimate: LTV = ARPU / (churn + r_monthly).
Example. ARPU = $5/mo, average user is active for 8 months:
LTV = $5 × 8 = $40
At CAC = $50, unit economics is negative: the project loses $10 per user.
LTV/CAC — Payback Ratio
- LTV / CAC < 1 — loss-making
- LTV / CAC 1–3 — risk zone
- LTV / CAC > 3 — scalable business
| LTV/CAC | Interpretation |
|---|---|
| < 1.0 | Loss-making — each user costs more than they generate |
| 1.0–2.0 | Risky — works only with perfect retention |
| 2.0–3.0 | Acceptable — little margin for error |
| 3.0–5.0 | Healthy — standard for scaling |
| > 5.0 | Excellent — or underinvesting in growth |
Velocity — Token Turnover Rate
- V — velocity (turnover rate)
- Transaction_volume — transaction volume for the period
- Market_cap — token market capitalization
Velocity shows how fast tokens change hands. High velocity (> 10 for utility tokens) means users don’t hold the token — they buy and immediately spend it. This suppresses fundamental price. For context: Bitcoin velocity is ~5–7, Ethereum ~3–5, while stablecoins can exceed 50.
- Fisher’s equation of exchange
- P — price per unit of service
- Q — volume of services
- V — velocity
- S — circulating supply
Example. A protocol processes $100M/year in transactions (PQ), velocity = 20, circulating supply = 50M:
P_fundamental = $100M / (20 × 50M) = $0.10 per token
If velocity drops to 5 (via staking, lock-up, burn mechanisms):
P_fundamental = $100M / (5 × 50M) = $0.40 — a 4x increase.
DeFi-Specific Metrics
For DeFi protocols, standard unit economics metrics are supplemented by:
| Metric | Formula | What it shows |
|---|---|---|
| TVL per user | TVL / unique depositors | Average liquidity per participant |
| Revenue / TVL | Annual revenue / TVL | Capital efficiency — how well the protocol monetizes deposits |
| Cost per TVL | Incentive spend / TVL | Cost to attract $1 of liquidity |
| Payback period | CAC / ARPU_monthly | Months to recoup acquisition cost |
These metrics are tracked by Token Terminal, DefiLlama, and Messari for benchmarking across protocols.
Unit Economics with Token Layer
Token-Subsidized Model
Most crypto projects at early stages subsidize users: give tokens for usage (liquidity mining, rewards, airdrop). This creates artificially high ARPU for users — and negative economics for the protocol.
- Revenue — protocol fiat revenue
- Subsidies — tokens distributed (units)
- P — token market price
Example. A DEX generates $2M/mo in fees and distributes 500K tokens/mo at $3:
Net_revenue = $2M − 500K × $3 = $500K (profit)
If the token price rises to $5: Net_revenue = $2M − 500K × $5 = −$500K (loss)
Break-Even Point
- Break_even_users — users needed to break even
- Fixed_expenses — fixed protocol expenses (salaries, infrastructure, marketing excl. token subsidies)
- ARPU_monthly — revenue per user per month
- Subsidy_per_user — variable token subsidy cost per user
The Debt Repayment Model
Token subsidies at the early stage are “debt” to future holders. Every distributed token creates potential sell pressure. Healthy economics assumes:
- Subsidies attract users (growth phase)
- Users generate revenue (monetization phase)
- Revenue covers pressure from selling distributed tokens (sustainability phase)
Modeling Unit Economics
A 36-month simulation shows: with token price growing 2%/mo, incentive costs double by month 36, and CAC grows from $75 to $125+. Meanwhile LTV stays at $62.50 (depends on ARPU and churn, not token price). Result: LTV/CAC deteriorates even as MAU grows.
Key insights:
- Without fee revenue, break-even is not reached within 36 months
- With a fixed token distribution, price appreciation worsens unit economics
- Switching to a fixed dollar incentive budget stabilizes CAC
Python: unit economics simulation
import numpy as np
import matplotlib.pyplot as plt
MONTHS = 36
MARKETING_SPEND = 50_000
TOKEN_INCENTIVES = 100_000
TOKEN_PRICE_0 = 1.0
NEW_USERS_MONTH = 2_000
CHURN_RATE = 0.08
ARPU = 5.0
PRICE_GROWTH = 0.02
months = np.arange(MONTHS)
active_users = np.zeros(MONTHS)
revenue = np.zeros(MONTHS)
token_cost = np.zeros(MONTHS)
net_revenue = np.zeros(MONTHS)
cumulative_pnl = np.zeros(MONTHS)
cac = np.zeros(MONTHS)
ltv = np.zeros(MONTHS)
for m in range(MONTHS):
token_price = TOKEN_PRICE_0 * (1 + PRICE_GROWTH) ** m
if m == 0:
active_users[m] = NEW_USERS_MONTH
else:
active_users[m] = active_users[m - 1] * (1 - CHURN_RATE) + NEW_USERS_MONTH
revenue[m] = active_users[m] * ARPU
token_cost[m] = TOKEN_INCENTIVES * token_price
total_cost = MARKETING_SPEND + token_cost[m]
net_revenue[m] = revenue[m] - total_cost
cumulative_pnl[m] = (cumulative_pnl[m - 1] if m > 0 else 0) + net_revenue[m]
cac[m] = total_cost / NEW_USERS_MONTH
ltv[m] = ARPU * (1 / CHURN_RATE)
fig, axes = plt.subplots(2, 2, figsize=(14, 10))
axes[0, 0].plot(months, active_users, color="#3b82f6", linewidth=2)
axes[0, 0].set_title("MAU"); axes[0, 0].grid(True, alpha=0.3)
axes[0, 1].plot(months, revenue / 1000, color="#10b981", linewidth=2, label="Revenue")
axes[0, 1].plot(months, (np.full(MONTHS, MARKETING_SPEND) + token_cost) / 1000,
color="#ef4444", linewidth=2, label="Expenses")
axes[0, 1].set_title("Revenue vs Expenses"); axes[0, 1].legend(); axes[0, 1].grid(True, alpha=0.3)
axes[1, 0].fill_between(months, cumulative_pnl / 1000, where=cumulative_pnl >= 0, alpha=0.3, color="#10b981")
axes[1, 0].fill_between(months, cumulative_pnl / 1000, where=cumulative_pnl < 0, alpha=0.3, color="#ef4444")
axes[1, 0].plot(months, cumulative_pnl / 1000, color="#1e293b", linewidth=2)
axes[1, 0].set_title("Cumulative P&L ($K)"); axes[1, 0].grid(True, alpha=0.3)
axes[1, 1].plot(months, ltv / cac, color="#8b5cf6", linewidth=2)
axes[1, 1].axhline(y=3.0, color="#10b981", linestyle="--", alpha=0.5, label="3x")
axes[1, 1].axhline(y=1.0, color="#ef4444", linestyle="--", alpha=0.5, label="1x")
axes[1, 1].set_title("LTV / CAC"); axes[1, 1].legend(); axes[1, 1].grid(True, alpha=0.3)
plt.tight_layout(); plt.show()
Token Valuation via Unit Economics
Discounted Cash Flow
- Price — fundamental token price (DCF)
- CF_t — net cash flow in period t (t = 1..n, typically n = 5–10 years)
- r — discount rate (20–30% for established protocols, 30–40% for early-stage)
- TV — terminal value = CF_n × (1 + g) / (r − g), where g is long-term growth rate
- Circulating_supply — tokens in circulation (not total supply)
Terminal value often accounts for 60–80% of the total valuation. Omitting it leads to systematic undervaluation.
Velocity Method
- Fisher’s equation of exchange
- P — price per unit of service
- Q — number of transactions
- V — velocity
- S — circulating supply
Revenue Multiple (P/S) Method for Tokens
- P_S — Price-to-Sales multiplier (5–15 for DeFi protocols, depends on growth stage)
- Annual_revenue — annual protocol revenue ($)
- S — circulating supply
Note: this is a P/S (Price-to-Sales) method, not P/E. For P/E, replace revenue with earnings (net income after expenses). P/S multiples for DeFi protocols typically range 5–15x; P/E multiples (when earnings are positive) range 10–30x.
Example. Protocol with $10M annual revenue, P/S = 10, circulating supply = 50M:
P_token = ($10M × 10) / 50M = $2.00
Common Mistakes
1. Ignoring Token Subsidies in Expenses
“The airdrop costs nothing” — false. Every distributed token is sell pressure that dilutes value for holders. Always include token incentives in CAC at current market price.
2. LTV Without Accounting for Churn
LTV = ARPU × 100 months? Only if churn is 1%. At real churn of 8–15%, average user lifespan is 7–13 months (1/0.15 ≈ 6.7, 1/0.08 = 12.5). Inflated LTV masks unprofitability.
3. ARPU Based on Active Users Without Bot Filtering
In crypto projects, 30–70% of “users” are bots, farmers, and duplicate addresses. ARPU for “real” users can be 3–5x lower than reported.
4. Model Without Token Price Scenarios
If token price 5x’s, incentive costs grow proportionally (when incentives are a fixed token count). Model three scenarios: current price, 3x growth, 3x decline.
5. Treasury Token Sales as “Revenue”
Selling tokens from the treasury is not revenue — it’s fundraising. Real revenue is fees from protocol usage.
Token project unit economics checklist
Need unit economics for your token project?
We've calculated unit economics for 85+ projects — from DeFi to GameFi. We'll verify your model's sustainability and find the break-even point.
Get in touch