
Perp DEX KPIs That Matter Beyond Volume

Key takeaways
Measure traders, fees, and retention, not volume. Volume is easy to inflate with wash trading, points farming, and maker flow.
Track trader-level KPIs: active traders, first-trade activation, deposit to first trade time, retention cohorts, fee revenue per trader, and open interest per trader.
Watch concentration: a few wallets can move your headline numbers.
Attribute every trade to its referral code, builder code, or campaign.
Judge a points program by the fees and retained traders it buys.
To measure a perp DEX beyond volume, measure three things: traders, fees, and retention. Perp DEX analytics shows who trades on your perpetual futures (perps) exchange, why they arrived, and whether they come back. Notional volume shows how much position value changed hands. It does not show how many real traders you have, what each pays in fees, or which campaigns brought them. The KPIs below fill that gap.
Why is volume a misleading KPI for a perp DEX?
Volume is a misleading perp DEX KPI because one wallet can create a lot of it at near-zero risk. Self-matched trades, points farming loops, and market maker inventory flow all add notional. None of these prove that a new trader found your product. Volume is a useful output metric, but it is a weak input for growth decisions.
The scale makes the problem easy to miss. As of November 8, 2026, DefiLlama's perps dashboard shows $642.68B in 30-day perp DEX volume against $12.90B in open interest. On the same page, Hyperliquid alone reported $238.8B of 30-day volume on $7.31B of open interest (OI).
What inflates perp DEX volume?
Wash trading. One entity trades with itself across linked wallets to print volume.
Points and incentive farming. Traders churn positions to earn points, often hedged on a second venue.
Market maker flow. Makers can produce a large share of fills. That helps liquidity, but it is not user growth.
How do you spot incentive-driven volume?
Compare volume to open interest. Using the same DefiLlama snapshot (as of November 8, 2026), daily turnover (30-day volume divided by 30, then by open interest) is about 1.1x for Hyperliquid and Aster, about 2.6x for Variational, and about 3.6x for Lighter. A high ratio is not proof of wash trading, because venue design and fees differ. But if turnover spikes during a points season, look closer. DefiLlama also shows "normalized" next to "reported" volume for some venues, where it adjusts reported figures it considers inflated: on November 8, 2026, Lighter showed $919.6M normalized against $1.335B reported for 24 hours.
Which perp DEX KPIs matter beyond volume?
The perp DEX KPIs that matter beyond volume measure traders, not notional. They count how many real traders you have, how fast new users place a first trade, how many come back, what each one pays, and how much of your book depends on a few wallets. Use the table below as a starting KPI set for weekly reviews.
Metric | Definition | Formula | Why it matters |
|---|---|---|---|
Active traders | Unique wallets with at least one fill in the period | count(distinct wallet with fill) | The base for every per-trader metric. |
First-trade activation rate | Share of new connected wallets that place a first fill | wallets with first fill ÷ new connected wallets | Shows if onboarding works. |
Deposit to first trade time | Time from first collateral deposit to first fill | median(first fill time minus first deposit time) | Long gaps point to UX friction. |
Trader retention (cohort) | Share of a weekly cohort that trades again in week N | traders active in week N ÷ cohort size | The clearest signal of product fit. |
Fee revenue per trader | Fees paid per active trader | fee revenue ÷ active traders | Separates traders from farmers. |
Open interest per active trader | Average open notional each trader keeps | open interest ÷ active traders | Shows real risk taking. |
Liquidation-driven churn | Share of churned traders whose last activity was a liquidation | churned traders with liquidation as last event ÷ churned traders | Shows if losses drive churn. |
Top-trader concentration | Share of volume from the top 10 or top 1% of wallets | top N volume ÷ total volume | Shows dependence on a few wallets. |
Referral and builder-code share | Share of new traders and fees from each referral code or builder | traders or fees by code ÷ total | Shows which partners bring real users. |
Points incentive efficiency | Fee revenue or retained traders per unit of incentive spent | net fees from participants ÷ incentive cost | Shows if a season pays for itself. |
What is open interest per active trader?
Open interest per active trader is your open notional divided by the number of wallets that traded in the period. It rises when traders hold real positions and falls when activity is mostly open-and-close churn. Rising volume with flat open interest per trader is a common sign of incentive farming.
How concentrated is perp DEX volume?
Very. As of November 8, 2026, Hyperliquid held $7.31B of the $12.90B perp DEX open interest that DefiLlama tracks, about 57%. Inside your venue, track the volume share of your top 10 and top 1% of wallets every week.
What should a perp DEX tracking plan include?
A perp DEX tracking plan should join three data sources on the wallet address: web events from your frontend, signed actions or transactions from the wallet, and fills, deposits, and liquidations from the exchange or chain. Each source alone is incomplete. Together, they let you follow one trader from first visit to first fill to churn.
Follow these steps to set it up.
Install the web SDK. Formo autocaptures page views, wallet connects, and transactions, so your top-of-funnel events work on day one. Formo does not read exchange state: it does not compute fills, open interest, or funding from your venue, so you send those as events (steps 3 and 4).
Capture signatures. Order book venues such as Hyperliquid authorize orders with signed messages, not transactions. Formo emits a
signatureevent withrequested,rejected, orconfirmedstatus, which shows where traders abandon an order.Track product events with value fields. Send custom events such as
Deposit Completed,Order Placed,Position Opened, andPosition Closed. Put the reservedvolume,revenue, andpointsproperties on fills only, so notional, fees, and points roll up cleanly. Send them in USD: Formo sums the values as sent and does not convert currencies. Formo does not de-duplicate volume or revenue by transaction hash, so add the reservedidempotency_key(for example the fill ID) to make retries safe.Send fills from your backend. Fills, liquidations, and funding happen on the exchange, not in the browser. Use the server SDK to send them as events tied to the trader's wallet address. Revenue and volume breakdowns by channel, referral, or UTM read each event's own context, so copy the trader's stored
refand UTM values into the server event's context. If you do not, backend fills show as Direct.Ingest contract events for pool-based venues. For GMX-style venues on EVM chains, where traders take positions against a liquidity pool at oracle prices, add your contracts and select the position and liquidation events to decode. Formo lists HyperEVM among the chains that support contract events. Decoded events do not get a USD value: Formo does not price contract parameters, so keep USD notional and fees on your server events.
Keep attribution on. Make sure referral codes and UTM parameters reach the app, and append builder codes where your venue supports them.
What events should a perp trading app track?
Layer | Event | Key properties |
|---|---|---|
Web |
| path, referrer, UTM, referral code |
Web |
| asset, amount |
Wallet |
| status, chain_id |
Product |
| market, side, order type, leverage, reason |
Exchange (server) |
| market, notional as |
Exchange (server) |
| market, notional, margin lost |
Onchain | Pool-based position and liquidation events | decoded contract parameters |
How do you build a perp DEX activation funnel?
Build a perp DEX activation funnel from first visit to first fill, with one step for each point where traders drop off: landing, wallet connect, deposit, first order signature, and first fill. Then break it down by acquisition source. The step with the largest drop tells you where to spend product and growth time next.
A typical perp funnel:
pageon the trade screenconnectDeposit Completedsignaturewith statusconfirmedFill
Formo funnels accept page views, contract events, and custom events as steps, with a conversion window that defaults to 2 hours. You can set the window in hours, days, or weeks. For perps, also try a 7-day window, because many traders deposit and wait for a setup. One step can also match several events, such as a market fill or a limit order fill.
How do you calculate deposit to first trade time?
Take each wallet's first Deposit Completed timestamp and its first Fill timestamp, subtract, and report the median and the 90th percentile by weekly cohort. Wallets that deposit but do not trade within 7 days are a good target for an onboarding nudge. You can run this in SQL against your event data.
What do perp trader retention cohorts look like?
Perp trader retention cohorts group wallets by the week of their first fill and show the share that trades again in each later week. Use trading as the retention event, not wallet connect, because connects without fills say little about a trading product. Then split cohorts by source, size, and incentive exposure to see who really stays.
In Formo, a retention chart takes an entry event and a separate retention event, so you can set both to your fill event. You can narrow a cohort by volume, revenue, points, referral, or builder code. The chart uses calendar weeks that start on Monday. Its default retention type is Rolling, which counts a trader in week N if they trade in week N or any later week. Set it to Recurring to count only traders active in exactly week N, which matches the formula in the KPI table.
An illustrative example (not real customer data):
Cohort (first fill) | Week 1 | Week 4 | Week 8 |
|---|---|---|---|
Organic search | 38% | 21% | 16% |
Points season launch week | 61% | 12% | 4% |
Referral from a partner frontend | 44% | 27% | 22% |
The points cohort looks best in week 1 and worst by week 8, a common pattern when traders farm a season and leave.
How do you measure liquidation-driven churn?
Mark each churned trader's last event. If it was a Liquidation, the trader churned after a loss, not because of the product. Compare this share across leverage tiers and markets. Formo also assigns each wallet a lifecycle stage (New, Returning, Power user, At Risk, Churned, or Resurrected) that you can filter and alert on.
How do you attribute perp volume to referrals and builder codes?
Attribute perp volume by joining the acquisition source of each wallet to its fills, fees, and retention. Referral codes and UTM parameters cover traffic you control. Builder codes cover frontends and apps that route orders to your venue. Report new traders, fee revenue, and week-4 retention by source, not only volume.
On the web side, Formo captures ref and similar query parameters and breaks down volume and revenue by referral, UTM, and channel. For EVM transactions, Formo extracts ERC-8021 builder codes from calldata (explainer) and supports builder-code breakdowns in funnels and retention.
How do you track Hyperliquid builder code revenue?
Hyperliquid builder codes are a separate, venue-level system. Per the Hyperliquid docs (checked November 8, 2026), a user signs an ApproveBuilderFee action with the main wallet to set a maximum fee for a builder, and the builder can charge at most 0.1% on perps and 1% on spot. Hyperliquid publishes each builder's fills as daily compressed CSV files. Load those fills on your backend and send them as Fill events with the builder fee in revenue.
How do you measure points program efficiency on a perp DEX?
Measure points program efficiency as the net fee revenue and retained traders a season produces per unit of incentive cost. Compare participants with a similar group that did not farm, before and after the season. A program that adds volume but no lasting fee revenue or retained traders is buying a number, not growth.
Track points on the same events that carry volume and revenue, so every fill carries all three. Then report:
Fee revenue per point issued in the season.
Week-8 retention of the season's new traders against organic new traders.
Turnover (volume divided by open interest) of participants against non-participants.
Sybil overlap. Formo labels wallets found on the published LayerZero, Hop, and Optimism airdrop sybil lists. These are one-time snapshots of past airdrops, so the label flags known farmers but misses new ones.
For holdout design, see how to measure DeFi points and rewards programs.
Do these KPIs apply to onchain options?
Most of these KPIs transfer to onchain options, with two changes: measure premium, not only notional, and measure retention by expiry cycle instead of by week. Onchain options are still a small market next to perps, so most options venues can start with this framework and add premium and vault metrics on top.
As of November 8, 2026, DefiLlama's options data shows $3.70B in 30-day options notional volume and $74.3M in 30-day premium. That is about 0.6% of 30-day perp DEX volume, and Derive V3 alone had $3.07B (about 83%). Options teams should add premium per trader, vault depositor retention, and the share of traders who roll into the next expiry.
What are the common pitfalls in perp DEX analytics?
The common pitfalls in perp DEX analytics are counting notional instead of traders, using wallet connect as the retention event, mixing maker and taker flow, and losing attribution between the frontend and the exchange. Each one makes growth look healthier than it is, or hides which channel works.
One wallet, many accounts. Traders use sub-accounts and agent (API) wallets that sign orders for a main account. Map them to the main wallet before you count traders.
Market maker flow in user metrics. Exclude known maker and vault addresses from active traders and retention.
Points-season cohorts treated as organic. Tag cohorts by incentive exposure, or you will overstate retention for a few weeks and then see a cliff.
Broken joins. If the frontend wallet and the exchange account do not share an identifier, attribution stops at the deposit. The same happens when backend fills carry no referral or UTM context.
Frequently asked questions
What is the most important KPI for a perp DEX?
Active traders with at least one fill, paired with fee revenue per trader, is the best single view. It shows how many real traders you have and what they pay. Volume is still useful, but only next to these two numbers.
How do you tell real traders from volume farmers?
Look at turnover, holding time, and fee contribution per wallet. Farmers open and close fast and peak in points seasons. Real traders hold positions, pay steady fees, and return after incentives end.
Should retention use wallet connects or trades?
Use trades. A wallet connect shows interest, but a fill shows that the trader used the product. Set the retention event to your fill event and keep wallet connect as an earlier funnel step.
How do builder codes help perp DEX attribution?
Builder codes tag orders or transactions with the app that sent them. This shows which frontends, bots, and wallets bring traders. ERC-8021 builder codes do this for EVM transactions, and Hyperliquid has its own builder code system for orders.
How long should a perp DEX cohort analysis run?
Run at least 8 weeks per cohort, and longer around incentive seasons. Points cohorts often look strong for 2 to 4 weeks and then fall, so short windows can mislead.


