{"slug":"protocol-pf-ratio","title":"Price to fees across DeFi: what the market pays per dollar of protocol fees","subtitle":"Circulating market cap divided by annualized fees, for every protocol that earns real fees and has a listed token. The number to read is not the ratio but the column beside it: the same multiple can be ordinary in one category and low in another, so each row is compared to the median of its own category rather than to the market.","category":"Trading","metric":"P/F ratio","unit":"x","status":"live","higherIsBetter":false,"filters":null,"value":0.202201,"leader":{"name":"Pons","slug":"pons","value":0.202201},"leaders":[{"name":"Pons","slug":"pons","value":0.202201}],"rankings":[{"name":"Pons","slug":"pons","ms":{"p50":0.202201,"p90":0.202201,"p99":0.202201,"mean":0.202201},"successRate":100,"sampleSize":1440},{"name":"Sanctum","slug":"sanctum","ms":{"p50":0.329072,"p90":0.329072,"p99":0.329072,"mean":0.329072},"successRate":100,"sampleSize":1440},{"name":"HyperLend","slug":"hyperlend","ms":{"p50":0.339727,"p90":0.339727,"p99":0.339727,"mean":0.339727},"successRate":100,"sampleSize":1440},{"name":"Securitize","slug":"securitize","ms":{"p50":0.450398,"p90":0.450398,"p99":0.450398,"mean":0.450398},"successRate":100,"sampleSize":1440},{"name":"Meteora","slug":"meteora","ms":{"p50":0.467575,"p90":0.467575,"p99":0.467575,"mean":0.467575},"successRate":100,"sampleSize":1440},{"name":"Quickswap","slug":"quickswap","ms":{"p50":0.546613,"p90":0.546613,"p99":0.546613,"mean":0.546613},"successRate":100,"sampleSize":1440},{"name":"Graphite Protocol","slug":"graphite-protocol","ms":{"p50":0.566563,"p90":0.566563,"p99":0.566563,"mean":0.566563},"successRate":100,"sampleSize":1440},{"name":"Lido","slug":"lido","ms":{"p50":0.578763,"p90":0.578763,"p99":0.578763,"mean":0.578763},"successRate":100,"sampleSize":1440},{"name":"StonkFun","slug":"stonkfun","ms":{"p50":0.615716,"p90":0.615716,"p99":0.615716,"mean":0.615716},"successRate":100,"sampleSize":1440},{"name":"Orca","slug":"orca","ms":{"p50":0.77995,"p90":0.77995,"p99":0.77995,"mean":0.77995},"successRate":100,"sampleSize":1440},{"name":"Raydium","slug":"raydium","ms":{"p50":0.949105,"p90":0.949105,"p99":0.949105,"mean":0.949105},"successRate":100,"sampleSize":1440},{"name":"Centrifuge","slug":"centrifuge","ms":{"p50":1.00673,"p90":1.00673,"p99":1.00673,"mean":1.00673},"successRate":100,"sampleSize":1440},{"name":"Dolomite","slug":"dolomite","ms":{"p50":1.01034,"p90":1.01034,"p99":1.01034,"mean":1.01034},"successRate":100,"sampleSize":1440},{"name":"Gains Network","slug":"gains-network","ms":{"p50":1.03172,"p90":1.03172,"p99":1.03172,"mean":1.03172},"successRate":100,"sampleSize":1440},{"name":"Pump","slug":"pump","ms":{"p50":1.10353,"p90":1.10353,"p99":1.10353,"mean":1.10353},"successRate":100,"sampleSize":1440},{"name":"o1.exchange","slug":"o1-exchange","ms":{"p50":1.32913,"p90":1.32913,"p99":1.32913,"mean":1.32913},"successRate":100,"sampleSize":1440},{"name":"Rocket Pool","slug":"rocket-pool","ms":{"p50":1.3344,"p90":1.3344,"p99":1.3344,"mean":1.3344},"successRate":100,"sampleSize":1440},{"name":"GMX","slug":"gmx","ms":{"p50":1.4604,"p90":1.4604,"p99":1.4604,"mean":1.4604},"successRate":100,"sampleSize":1440},{"name":"Chainflip","slug":"chainflip","ms":{"p50":1.56213,"p90":1.56213,"p99":1.56213,"mean":1.56213},"successRate":100,"sampleSize":1440},{"name":"Moonwell","slug":"moonwell","ms":{"p50":1.66081,"p90":1.66081,"p99":1.66081,"mean":1.66081},"successRate":100,"sampleSize":1440},{"name":"Stader","slug":"stader","ms":{"p50":1.72162,"p90":1.72162,"p99":1.72162,"mean":1.72162},"successRate":100,"sampleSize":1440},{"name":"NAVI Protocol","slug":"navi-protocol","ms":{"p50":1.74925,"p90":1.74925,"p99":1.74925,"mean":1.74925},"successRate":100,"sampleSize":1440},{"name":"Euler","slug":"euler","ms":{"p50":1.76914,"p90":1.76914,"p99":1.76914,"mean":1.76914},"successRate":100,"sampleSize":1440},{"name":"Uniswap","slug":"uniswap","ms":{"p50":2.07113,"p90":2.07113,"p99":2.07113,"mean":2.07113},"successRate":100,"sampleSize":1440},{"name":"Lista DAO","slug":"lista-dao","ms":{"p50":2.0743,"p90":2.0743,"p99":2.0743,"mean":2.0743},"successRate":100,"sampleSize":1440},{"name":"Benqi","slug":"benqi","ms":{"p50":2.07854,"p90":2.07854,"p99":2.07854,"mean":2.07854},"successRate":100,"sampleSize":1440},{"name":"Maple Finance","slug":"maple-finance","ms":{"p50":2.31768,"p90":2.31768,"p99":2.31768,"mean":2.31768},"successRate":100,"sampleSize":1440},{"name":"stake.link","slug":"stake-link","ms":{"p50":2.45049,"p90":2.45049,"p99":2.45049,"mean":2.45049},"successRate":100,"sampleSize":1440},{"name":"Fluid","slug":"fluid","ms":{"p50":2.6244,"p90":2.6244,"p99":2.6244,"mean":2.6244},"successRate":100,"sampleSize":1440},{"name":"Ekubo Protocol","slug":"ekubo-protocol","ms":{"p50":2.65098,"p90":2.65098,"p99":2.65098,"mean":2.65098},"successRate":100,"sampleSize":1440},{"name":"Cetus","slug":"cetus","ms":{"p50":2.72818,"p90":2.72818,"p99":2.72818,"mean":2.72818},"successRate":100,"sampleSize":1440},{"name":"PancakeSwap","slug":"pancakeswap","ms":{"p50":2.86312,"p90":2.86312,"p99":2.86312,"mean":2.86312},"successRate":100,"sampleSize":1440},{"name":"BONK.fun","slug":"bonk-fun","ms":{"p50":3.08762,"p90":3.08762,"p99":3.08762,"mean":3.08762},"successRate":100,"sampleSize":1440},{"name":"HumidiFi","slug":"humidifi","ms":{"p50":3.09516,"p90":3.09516,"p99":3.09516,"mean":3.09516},"successRate":100,"sampleSize":1440},{"name":"Definitive","slug":"definitive","ms":{"p50":3.26716,"p90":3.26716,"p99":3.26716,"mean":3.26716},"successRate":100,"sampleSize":1440},{"name":"Kinetiq","slug":"kinetiq","ms":{"p50":3.32311,"p90":3.32311,"p99":3.32311,"mean":3.32311},"successRate":100,"sampleSize":1440},{"name":"edgeX","slug":"edgex","ms":{"p50":3.402,"p90":3.402,"p99":3.402,"mean":3.402},"successRate":100,"sampleSize":1440},{"name":"Aerodrome","slug":"aerodrome","ms":{"p50":3.59942,"p90":3.59942,"p99":3.59942,"mean":3.59942},"successRate":100,"sampleSize":1440},{"name":"Venus","slug":"venus","ms":{"p50":3.60311,"p90":3.60311,"p99":3.60311,"mean":3.60311},"successRate":100,"sampleSize":1440},{"name":"Frax Finance","slug":"frax-finance","ms":{"p50":3.6791,"p90":3.6791,"p99":3.6791,"mean":3.6791},"successRate":100,"sampleSize":1440},{"name":"Re","slug":"re","ms":{"p50":3.72858,"p90":3.72858,"p99":3.72858,"mean":3.72858},"successRate":100,"sampleSize":1440},{"name":"Rhea Finance","slug":"rhea-finance","ms":{"p50":3.96828,"p90":3.96828,"p99":3.96828,"mean":3.96828},"successRate":100,"sampleSize":1440},{"name":"CoWSwap","slug":"cowswap","ms":{"p50":3.98003,"p90":3.98003,"p99":3.98003,"mean":3.98003},"successRate":100,"sampleSize":1440},{"name":"ether.fi","slug":"ether-fi","ms":{"p50":3.99059,"p90":3.99059,"p99":3.99059,"mean":3.99059},"successRate":100,"sampleSize":1440},{"name":"USD AI","slug":"usd-ai","ms":{"p50":4.10755,"p90":4.10755,"p99":4.10755,"mean":4.10755},"successRate":100,"sampleSize":1440},{"name":"Kamino","slug":"kamino","ms":{"p50":4.21399,"p90":4.21399,"p99":4.21399,"mean":4.21399},"successRate":100,"sampleSize":1440},{"name":"KyberSwap","slug":"kyberswap","ms":{"p50":4.45417,"p90":4.45417,"p99":4.45417,"mean":4.45417},"successRate":100,"sampleSize":1440},{"name":"Jupiter","slug":"jupiter","ms":{"p50":4.60786,"p90":4.60786,"p99":4.60786,"mean":4.60786},"successRate":100,"sampleSize":1440},{"name":"Aave","slug":"aave","ms":{"p50":5.0347,"p90":5.0347,"p99":5.0347,"mean":5.0347},"successRate":100,"sampleSize":1440},{"name":"THORChain DEX","slug":"thorchain-dex","ms":{"p50":6.43572,"p90":6.43572,"p99":6.43572,"mean":6.43572},"successRate":100,"sampleSize":1440},{"name":"Convex Finance","slug":"convex-finance","ms":{"p50":7.05463,"p90":7.05463,"p99":7.05463,"mean":7.05463},"successRate":100,"sampleSize":1440},{"name":"Morpho","slug":"morpho","ms":{"p50":7.1883,"p90":7.1883,"p99":7.1883,"mean":7.1883},"successRate":100,"sampleSize":1440},{"name":"Compound Finance","slug":"compound-finance","ms":{"p50":7.6766,"p90":7.6766,"p99":7.6766,"mean":7.6766},"successRate":100,"sampleSize":1440},{"name":"ApeX Protocol","slug":"apex-protocol","ms":{"p50":8.19801,"p90":8.19801,"p99":8.19801,"mean":8.19801},"successRate":100,"sampleSize":1440},{"name":"Sushi","slug":"sushi","ms":{"p50":9.18291,"p90":9.18291,"p99":9.18291,"mean":9.18291},"successRate":100,"sampleSize":1440},{"name":"Velodrome","slug":"velodrome","ms":{"p50":9.35467,"p90":9.35467,"p99":9.35467,"mean":9.35467},"successRate":100,"sampleSize":1440},{"name":"World Liberty Financial","slug":"world-liberty-financial","ms":{"p50":12.5834,"p90":12.5834,"p99":12.5834,"mean":12.5834},"successRate":100,"sampleSize":1440},{"name":"Curve Finance","slug":"curve-finance","ms":{"p50":14.1044,"p90":14.1044,"p99":14.1044,"mean":14.1044},"successRate":100,"sampleSize":1440},{"name":"cap","slug":"cap","ms":{"p50":14.748,"p90":14.748,"p99":14.748,"mean":14.748},"successRate":100,"sampleSize":1440},{"name":"Lighter","slug":"lighter","ms":{"p50":16.935,"p90":16.935,"p99":16.935,"mean":16.935},"successRate":100,"sampleSize":1440},{"name":"Hyperliquid","slug":"hyperliquid","ms":{"p50":21.6105,"p90":21.6105,"p99":21.6105,"mean":21.6105},"successRate":100,"sampleSize":1440},{"name":"Aster","slug":"aster","ms":{"p50":25.9416,"p90":25.9416,"p99":25.9416,"mean":25.9416},"successRate":100,"sampleSize":1440},{"name":"Ansem.io","slug":"ansem-io","ms":{"p50":28.59,"p90":28.59,"p99":28.59,"mean":28.59},"successRate":100,"sampleSize":1440},{"name":"Ondo Finance","slug":"ondo-finance","ms":{"p50":29.1224,"p90":29.1224,"p99":29.1224,"mean":29.1224},"successRate":100,"sampleSize":1440},{"name":"SUN","slug":"sun","ms":{"p50":31.478,"p90":31.478,"p99":31.478,"mean":31.478},"successRate":100,"sampleSize":1440},{"name":"JustLend","slug":"justlend","ms":{"p50":53.6637,"p90":53.6637,"p99":53.6637,"mean":53.6637},"successRate":100,"sampleSize":1440},{"name":"Pendle","slug":"pendle","ms":{"p50":58.8684,"p90":58.8684,"p99":58.8684,"mean":58.8684},"successRate":100,"sampleSize":1440}],"sparkline":[0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201,0.202201],"sampleSize":96480,"asOf":"2026-09-29T03:18:38.280Z","freshness":{"asOf":"2026-09-29T03:18:38.280Z","ageHours":35.8,"stale":true},"measured":67,"ranked":67,"headline":"Pons posts the lowest P/F ratio at 0.202x (latest value) across 67 ranked protocols.","quote":"Pons posts the lowest P/F ratio at 0.202x (latest value) across 67 ranked protocols. Source: OpenChainBench (https://openchainbench.com/benchmarks/protocol-pf-ratio).","cite":{"plain":"OpenChainBench. \"Price to fees across DeFi: what the market pays per dollar of protocol fees\". Retrieved 2026-09-30. https://openchainbench.com/benchmarks/protocol-pf-ratio","bibtex":"@misc{ocb_protocol_pf_ratio,\n  author = {OpenChainBench},\n  title  = {Price to fees across DeFi: what the market pays per dollar of protocol fees},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/protocol-pf-ratio},\n  note   = {Retrieved 2026-09-30}\n}","apa":"OpenChainBench. (2026). Price to fees across DeFi: what the market pays per dollar of protocol fees. Retrieved September 30, 2026, from https://openchainbench.com/benchmarks/protocol-pf-ratio","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Price to fees across DeFi: what the market pays per dollar of protocol fees\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/protocol-pf-ratio\r\nY2  - 2026-09-30\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/protocol-pf-ratio","ogImage":"https://openchainbench.com/api/og/protocol-pf-ratio","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/protocol-valuation","methodology":["Board membership. A token whose fee adapter is knowably incomplete (protocol_fees_incomplete = 1: the adapter reports $0 over 30 days after a year of fees, so the ratio would be built on a fraction of the protocol) is metered but not listed; on 2026-09-25 that is Drift, Bluefin and DoubleZero. The peer median of each category is a live gauge (protocol_category_pf_median), read on the vs-category tab, never a number typed here.","P/F = circulating market cap / annualized fees, where annualized fees are the trailing 30 day sum x 365/30. Same cut as benches 234 and 265, so the three valuation boards stay comparable.","Fees are the total DeFiLlama reports for the protocols behind the token, summed across every adapter: Uniswap V2, V3 and V4 are one row, GMX's five products are one row. Ranking them apart would divide one market cap by a fraction of its own revenue. Total, not revenue: most of a DEX's fees go to liquidity providers and most of a staking protocol's to stakers, so this is what users paid, not what the token earns.","The token is resolved through DeFiLlama's own links, not by name matching: the adapter's defillamaId joins to /protocols, and when that row carries no CoinGecko id the parent protocol from /config does.","Category: the one carrying most of the token's fees, not the one its first-listed adapter sits in. Drift files a small spot product under Dexs and earns most of its fees on perps, so taking the first would compare it to liquid staking protocols and drag their median with it.","Peer comparison: each row carries the median P/F of its category, and protocol_pf_vs_category_ratio is the row divided by that median. A category needs at least 5 tokens before a median is published; a row in a smaller category shows its ratio with no comparison rather than a comparison against one or two protocols.","Market cap floor: 5 million USD of circulating market cap. Below it the ratio is not a valuation: a token worth a few hundred thousand dollars against millions of annual fees prints a multiple near zero and would lead an ascending board as the cheapest token in DeFi, when it is an abandoned or unlisted one. Fifteen of the top twenty rows sat under 10 million before this floor (2026-09-25).","Float floor: a token with less than 10 percent of supply circulating is not ranked. Its market cap is a fraction of what the token will be, so the ratio reads near zero and would lead an ascending board.","Fee floor: 100,000 USD of trailing 30 day fees, applied to the token after its adapters are summed rather than to each adapter. A token whose products only clear the floor together belongs on the board, and a multi-product token must not lose its smaller products out of its own denominator.","The board shows the largest fee earners; a row whose category has fewer than 5 tokens carries its ratio with no peer comparison. The harness publishes every row that clears the floors, so the cut is editorial and the full set is queryable.","A protocol whose fee history is shorter than the windows is not ranked: when every fee its adapters ever reported falls inside the trailing 30 days (protocol_fees_window_short = 1), x 365/30 would overstate the run rate, so the row is metered with protocol_fees_incomplete = 1 and leaves the board and the median until a full window exists.","Fees and revenue are two views of one business, so they move together. When one grows half again as much as the other over the same month, what changed is what is being counted: protocol_fee_basis_shift marks the row and its fee trend is withheld for a month afterwards, because the seam sits in the prior window that long. DefiLlama rewrote the Convex adapter on 2026-08-18 without backfilling, printing 92 percent on a business that grew 15.","The month-over-month trend needs a full prior month: it publishes only when the year total reaches past both windows, so a 40-day-old adapter is ranked with no trend rather than with growth measured against ten days.","A token with a fee adapter reporting nothing over 30 days after real fees over the year has a published total short of its revenue, and is excluded from the board, from its category median and from the screen. DeFiLlama's Drift Trade adapter is in that state: it reports $0 after $11.1M over the year, so only Drift's $1.2M staking product reaches the token. protocol_fees_incomplete and protocol_silent_adapter_fees_1y_usd publish the flag and the size of the gap.","protocol_diverging is 1 when three things hold at once: fees grew month over month, the token fell over 30 days, and the P/F sits below the category median. The third clause is what stops it naming every protocol having a bad month.","The /capital hub screens the same rows harder, four clauses instead of three: fee growth above 20% (the cohort median was +21% on 2026-09-29, so at or under it a row grew no faster than the median protocol), a token move beyond 10% (20 of the 67 ranked tokens moved less inside 30 days), the P/F on the right side of the category median, and at least 5 ranked protocols in the category, since a median over 2 compares the token with one other. Every clause is checkable from that page's columns.","Revenue 30d (protocol_revenue_30d_usd): the share of fees the protocol keeps, per each adapter's own definition on DeFiLlama (/overview/fees with dataType=dailyRevenue), summed over the adapters the fees come from. Absent when no adapter behind the token publishes a revenue series: that is unknown, not zero. Published as 0 when the adapters have one and report none.","protocol_revenue_incomplete is 1 when the revenue total is knowably short: the fee total itself is short, a revenue adapter reports nothing over 30 days after real revenue over the year, or a product earning fees this month has no revenue series while its siblings do (protocol_revenue_missing_adapters counts them). Revenue is published with the flag; the P/S built on it is not, because a multiple on a fraction of the revenue reads higher than it is.","P/S (protocol_ps_ratio) = circulating market cap / annualized revenue, revenue being the trailing 30 day sum x 365/30. The same multiple as P/F on what the token's protocol keeps rather than on what its users paid. Absent when revenue is missing, zero or knowably short, so no row reads as infinitely priced, as free, or as pricier than it is.","TVL (protocol_tvl_usd): DeFiLlama /protocols tvl summed over every row that resolves to the token by the same rule as the fee adapters, its own CoinGecko id first, else its parent's, so Aave V2, V3 and Horizon count once each under AAVE. Absent when no row carries a TVL: a launchpad or a perp DEX settling on its own chain has nothing locked, and that is not a zero.","Supply 30d and 90d (protocol_supply_change_30d_pct, protocol_supply_change_90d_pct): circulating supply now against 30 and 90 days ago, in percent. Source: CoinGecko /market_chart, 91 days of daily market cap and price per token; their ratio is the circulating supply CoinGecko held that day. Absent while the series is shorter than the window. One CoinGecko call per token per UTC day, cached in memory.","Supply change is realized dilution, not an unlock schedule. A positive figure is supply that reached the float over the window (unlocks, emissions), a negative one a burn. A cliff next month is invisible here until it lands, and a token that unlocked last week shows it in the 30 day column before the 90 day one catches up.","Cadence: hourly. DeFiLlama's fee series is daily and CoinGecko's free tier is rate limited, so a faster poll would spend requests re-reading numbers that have not moved. p50, p90, p99 and the mean read the same gauge and are equal by construction.","The cohort is rebuilt from upstream every poll and the per-protocol series are reset with it, so a token that is delisted or drops below a floor loses its row rather than carrying a stale valuation forward."],"license":"CC-BY-4.0"}