
How to Measure DeFi Points and Rewards Programs (2026 Guide)

Key takeaways
Measure a DeFi points or rewards program by what remains after rewards stop: retained wallets, retained capital, and post-program activity, divided by the value of rewards paid.
Peak numbers mislead. In OP Labs' 2023 review, the median Optimism incentive program had added $13.83 of incremental TVL per OP per year at its end date, while the median for programs measured 30 days later was $0.55 per OP.
Sybil wallets inflate participation: LayerZero flagged 803,093 addresses as potential sybils before its airdrop. Report results with and without flagged wallets.
Use a baseline and a control group of similar non-participants, and measure 30, 60, and 90 days after rewards end.
Farmers cluster around the reward rules: deposits timed to the schedule, only the rewarded action, claim and exit, and rewards from many programs at once.
Formo adds Merkl rewards to wallet profiles across 27 EVM chains, so you can filter users by campaign, rank campaigns and protocols, and compare retention. Your own points can be tracked with the reserved points property.
Measuring a DeFi points or rewards program means comparing what the program attracted while rewards were live with what remained after they stopped, after removing wallets that only came to farm. The core question is not how many wallets joined, but how many retained wallets and how much retained capital each reward dollar bought.
Most programs look successful while they run and much weaker 30 days later. OP Labs' June 2023 review of Optimism incentive programs found that the median program had added $13.83 of incremental TVL per OP per year at its end date (43 programs), while the median for programs measured 30 days after they ended was $0.55 per OP (7 programs) (Optimism governance forum). An academic study of nine major airdrops found that up to 66% of tokens were sold quickly, often in the recipient's first transaction after claiming (Messias, Yaish, and Livshits).
This guide explains the different types of DeFi rewards programs, the metrics that measure them, a step-by-step measurement framework, how to separate farmers from real users, and how to measure Merkl campaigns and your own points program with Formo.
What is a DeFi points or rewards program?
A DeFi rewards program pays users, in points or tokens, for an onchain action the protocol wants more of, such as supplying liquidity, borrowing, trading, or holding a token. Points programs promise future value, token incentives pay out during the program, and airdrops reward past activity in one distribution.
Program type | What users receive | When value is known | Main measurement challenge |
|---|---|---|---|
Offchain points, often expected to convert to tokens | Later, at conversion or airdrop | Activity is driven by speculation about a future airdrop | |
Token incentive campaign (for example on Merkl) | Tokens streamed to eligible wallets | During the campaign | Capital leaves when the rewards stop |
Airdrop | Tokens for past activity, in one distribution | At the snapshot and claim | Farmers and sybil wallets claim and sell |
Referral rewards | Points, tokens, or fee shares for bringing users | During the program | Self-referrals and low-quality referred wallets |
Merkl is one of the most widely used platforms for token incentive campaigns. It describes a campaign as a time-bound incentive program that tracks onchain and offchain activity based on predefined rules, computes rewards about every two hours, and publishes them as a merkle root that users claim from (Merkl docs). See incentive campaigns for a short definition.
Why are DeFi rewards programs hard to measure?
Rewards programs are hard to measure because the activity they create looks the same as organic growth while rewards are live. Four problems distort the numbers.
1. Mercenary capital leaves when rewards stop
Mercenary capital moves to wherever the yield is highest. Messari's review of Uniswap v3 liquidity incentives on Optimism found that daily transacting addresses spiked at the beginning and end of each program, which it linked to users entering and exiting around reward periods (Optimism governance forum). OP Labs reported that Revert Finance had $2.4 million of cumulative net flow at the end of its OP rewards program, and $1.1 million 30 days later (Optimism governance forum).
2. Ecosystem-wide gains often revert
Blockworks Research's analysis of Arbitrum's Short-Term Incentive Program (STIP) found that most spot and perp DEX recipients' top-line metrics fell notably after the program ended, back to around September 2023 levels, and that Arbitrum's TVL market share fell from about 6% to about 4% (Arbitrum governance forum). A few younger protocols with differentiated products kept their gains, which is exactly what a good measurement framework should identify.
3. Sybil wallets inflate participation
One person can run hundreds of wallets to collect more rewards. LayerZero identified 803,093 addresses as potential sybils before its airdrop, after initially flagging over two million (Cointelegraph). Unique wallet counts overstate unique users in any rewards program. See sybil wallet for a definition.
4. Rewards hide whether the product works
If users only stay for the rewards, the program measures the size of the rewards, not the quality of the product. The DeFi incentives playbook covers why token rewards fail in more depth. Measurement has to separate the two.
Which metrics measure a DeFi rewards program?
The best rewards metrics compare outcomes after the program with the cost of the program, and compare participants with similar wallets that did not participate. Use these eight.
Metric | How to calculate it | What it tells you |
|---|---|---|
Retained wallets | Participants still active 30, 60, and 90 days after rewards end | Whether the program created users or rented them |
Retained capital | Net deposits or TVL from participants 30 days after rewards end | Whether liquidity stays without rewards |
Retained capital per reward dollar | Retained capital divided by the USD value of rewards paid | Capital efficiency of the program |
Cost per retained wallet | Rewards paid divided by retained wallets | Comparable to customer acquisition cost |
Participant vs non-participant retention | Retention of participants minus retention of similar non-participants | The incremental effect of the rewards |
Sybil share | Share of participants on known sybil lists or with low humanity scores | How much participation was inflated |
Post-program activity | Transactions, volume, and revenue per participant after rewards end | Whether participants became real users |
Reward concentration | Share of rewards earned by the top 1% and top 10% of wallets | Whether a few large farmers captured the budget |
These metrics follow the approach that the Optimism and Arbitrum ecosystems converged on: OP Labs tracked incremental TVL and transactions per OP, both at program end and 30 days after each program ended, and Blockworks Research measured long-term TVL and volume per ARB and used a synthetic control method to estimate what would have happened without incentives.
How to measure a points or rewards program step by step
A reliable measurement framework is set up before launch, tracks participants at the wallet level, and reports results after the rewards stop. Follow these seven steps.
Define the goal and the success metric before launch. Decide whether the program should grow retained TVL, active traders, or a new product's adoption, and write down the target, such as cost per retained wallet below a set amount.
Record a baseline. Capture at least 30 days of pre-program data for the same metrics, so you can measure the change rather than the level.
Tag participants at the wallet level. Record which wallets earned rewards, how much, and from which campaign. For your own points program, attach the points awarded to each event.
Build cohorts by entry week and participation. Compare participants with a control group of similar wallets that did not participate, matched on wallet age, balance, or prior activity where possible.
Flag or exclude sybil wallets. Use published sybil lists and humanity scores to measure the sybil share and to report results with and without those wallets.
Measure 30, 60, and 90 days after rewards end. Report retained wallets, retained capital, and post-program activity, not just peak numbers during the campaign.
Calculate cost efficiency. Divide the USD value of rewards by retained wallets and by retained capital, and compare the result with your other acquisition channels.
How to separate farmers from real users
Farmers optimize for rewards, so their behavior clusters around the reward rules. No single signal proves a wallet is a farmer, but several together are a strong indicator.
Timing: deposits that start when rewards start and withdrawals that follow when rewards end.
Narrow activity: only the rewarded action, with no other interaction with your app.
Claim and exit: claiming rewards and selling or bridging them out in the next transaction.
Known sybil lists: addresses that appear in published sybil lists from earlier airdrops.
Low humanity scores: low scores from proof-of-personhood services such as Human Passport.
Many rewards programs at once: wallets that earn from many incentive campaigns across protocols with no lasting position in any of them.
Real users show the opposite pattern: activity outside the rewarded action, positions that persist after rewards end, and repeat use of the product. Measure both groups separately rather than deleting farmers from your data, because the size of the farmer group is itself a result.
How to measure Merkl campaigns with Formo
Formo adds Merkl campaign data to wallet profiles, so you can see which of your users earned Merkl rewards and analyze them like any other segment. The Merkl labels need no extra setup.
For each EVM wallet in your project, Formo reads the rewards that the wallet earned from Merkl campaigns across 27 chains and stores them as a Merkl Campaigns label. Each entry shows the opportunity, the protocol, and the total reward value in USD, which includes claimed, claimable, and pending rewards valued at the current token price. Past campaigns stay on the wallet after Merkl stops listing them. Labels are refreshed periodically, so treat reward totals as a recent snapshot rather than a live balance.
You can use this data in three places:
Merkl Campaigns filter: filter any report to wallets that earned from a specific Merkl opportunity or campaign ID, or leave the ID blank to include every wallet with Merkl rewards.
Top Merkl campaigns and Protocols: an Audience Insights card on the Users page (on paid plans) ranks the Merkl campaigns and protocols your users earn from, by wallet count or by reward value. Click a row to filter your users to that group.
Wallet profiles: each user's Merkl rewards appear on their profile, next to their onchain activity and attribution.
A practical workflow for a campaign you ran on Merkl:
Filter your users to your campaign's opportunity ID to define the participant group.
Open cohort retention, set the entry and retention events to the action you rewarded, and run it with and without the campaign filter to compare participants with all users.
Check the Protocols tab to see which other protocols' incentives your participants also earn from. Wallets that earn from many protocols at once are more likely to leave when your rewards end.
Watch the At Risk lifecycle stage after the campaign ends, and set a user alert on that stage so your team can reach participants before they churn.
Formo attributes Merkl rewards at the wallet level. It shows which wallets earned from which campaigns and how much, not which individual transaction earned each reward.
How to measure your own points program with Formo
If you run your own points program, record the points awarded on the event that earned them. Formo reserves a points property, alongside volume and revenue, so points can be summed, charted, and used in filters without extra configuration.
With points recorded on events, you can:
See lifetime points across your users in Audience Insights (on paid plans).
Segment cohort retention by points earned, and compare high and low earners after the program ends.
Use the cohort label filter in retention to compare wallets with sybil labels or behavioral labels such as Liquidity Provider or DeFi Lender.
Set user alerts on total points, lifecycle stage, or labels, delivered to Slack or a webhook.
Attribute participants to their acquisition source, including UTM parameters and referral codes, to see which channels bring wallets that stay.
To exclude sybils, apply the Sybil (LayerZero), Sybil (Hop), or Sybil (Optimism) label filters, or filter by Human Passport score. These labels come from published lists and scores. Excluding them is optional, so report results with and without them. Note that the Yield Farmer behavioral label means a wallet holds a vault position of $100 or more. It does not mean the wallet is a farmer in the sybil sense.
Common mistakes when measuring DeFi rewards programs
Reporting peak numbers. TVL and users at the end of a campaign measure the reward budget. Report 30, 60, and 90 days after rewards end.
Counting wallets as users. Sybil and multi-wallet users inflate counts. Report the sybil share and results with and without flagged wallets.
No baseline or control group. Without pre-program data and a comparison group, market moves look like program results.
Measuring TVL without cost. A program that adds $50 million of TVL at a cost of $10 million and keeps $5 million is a weak result. Always divide by rewards paid.
Ignoring where participants go next. Wallets that earn from many incentive programs are likely to move to the next one. Track overlap with other protocols' campaigns.
Stopping measurement when the campaign ends. The most important data arrives after the rewards stop.
Frequently asked questions
How do you measure the success of a DeFi points program?
Measure retained wallets, retained capital, and post-program activity 30 to 90 days after rewards end, and divide by the value of rewards paid. Compare participants with similar non-participants, and report results with and without sybil wallets. Peak TVL or users during the program is not a success metric.
What is a good retention rate for a DeFi incentive program?
There is no universal benchmark. In OP Labs' 2023 review, the median Optimism incentive program had added $13.83 of incremental TVL per OP per year at its end date, while the median for the programs measured 30 days later was $0.55 per OP. Compare each program with your own baseline and with similar programs in your category.
What is mercenary capital in DeFi?
Mercenary capital is liquidity that moves between protocols to chase the highest rewards and leaves when rewards stop. It makes incentive programs look successful while they run and is the main reason TVL drops after a campaign ends.
How do you detect airdrop farmers and sybil wallets?
Look for wallets that only perform the rewarded action, deposit and withdraw with the reward schedule, claim and sell in the next transaction, appear on published sybil lists, or have low humanity scores. Combine signals, because no single signal proves a wallet is a farmer.
How does Merkl calculate rewards?
Merkl's offchain engine reconstructs each user's position from onchain events, computes rewards about every two hours according to the campaign rules, and periodically publishes a merkle root onchain. Users then claim their rewards with a merkle proof after a short dispute period.
Can Formo track Merkl campaigns?
Yes. Formo reads the Merkl rewards earned by each EVM wallet in your project across 27 chains and adds them to the wallet profile as a label. You can filter users by Merkl opportunity or campaign ID, rank campaigns and protocols by wallets or reward value, and compare their retention.
Should you remove sybil wallets from your analytics?
Report them separately rather than deleting them. The share of sybil wallets is a key result of a rewards program, and published sybil lists are snapshots that can include false positives. Show your core metrics with and without flagged wallets.


