Protocol Fees Up, Revenue Flat: Where Does the Money Go?

 / 
3

Let's cut straight to the point: you're watching total protocol fees grow, yet the value reaching token holders feels stuck. That's because most of it gets taken by different players along the way — LPs, validators, market makers, MEV searchers, or it just sits idle in a treasury. Let's follow the money on a real chain and see exactly who gets paid.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

Step 1: Pick a protocol and trace the fees in a single transaction

What to do: Find a typical transaction and see how much the protocol charged, and which contract the money went to first.

How to do it:

Case A: DeFi protocols on Ethereum or EVM‑compatible chains

  1. Go to Etherscan (or another blockchain explorer) and enter the protocol's main router contract address (you can find it in the official docs or on DefiLlama).
  2. Under the "Transactions" tab, pick a recent user interaction — for example, a Uniswap V3 swap or an Aave liquidation.
  3. Open the transaction hash, switch to the "Logs" or "Internal Txns" view, and look for Transfer events or calls that send funds to a fee‑receiving address.
  4. Add up the ETH/tokens sent to non‑user addresses. That's your on‑chain visible fee for that transaction.

Case B: Non‑EVM chains like Solana

  • Use an explorer like Solscan. Open the transaction, check the SOL balance change first, then expand Token Balances and CPI (cross‑program invocations) to find the net outflow leaving the user.

Completion standard: You can write down where the fees went and how much, for example:

The transaction sent 0.01 ETH to the Uniswap V3 Factory contract, and paid 0.002 ETH in gas fees to the validator.

Step 2: Break down the fee structure — who is entitled to take a cut

What to do: Figure out what share of the total fees goes to the "protocol" itself, what stays with LPs or market makers, and what flows to outside service providers.

How to do it:

  1. Open the protocol's governance docs or developer repository (GitHub/GitBook). Search for "fee", "revenue", "split". Look for two key numbers:
  • LP / market maker share (usually hard‑coded in pool creation parameters)
  • Protocol fee percentage (if enabled — for example, Uniswap V3 charges 10%–25% of LP fees on some pools)
  1. If the docs are outdated, read the contract directly on a block explorer:
  • For Uniswap V3, check the feeProtocol parameter set by the setFeeProtocol function.
  • For lending protocols, find the reserveFactor (e.g., Aave V2 sends 10%–20% of interest to the treasury).
  1. Cross-check against the protocol's revenue dashboard (Token Terminal, DefiLlama's "Revenue" panel).

⚠️ Risk warning: Don't copy a contract address someone posted in a chat group and paste it straight into a block explorer. Always get addresses from official docs or audited GitHub repos. Otherwise you might end up on a fake contract — people have lost LP funds that way.

Common failure reason: Users read the docs and assume the parameters never changed, but a governance upgrade may have quietly adjusted the split. Always scan governance proposal history too, especially for titles like "fee switch" or "treasury share increase".

Completion standard: You can list a clear distribution table, for example:

Of a 1% trading fee in that pool, 90% goes to LPs. Of the remaining 10%, 25% goes to the protocol treasury, and 75% stays in the pool as future LP earnings.

Step 3: Spot the "invisible" value leaks — MEV, slippage, and indirect costs

What to do: Quantify the parts that aren't shown as explicit on‑chain fees but still eat into user value.

How to do it:

  1. Check MEV extraction: Use EigenPhi (eigenphi.io) or Flashbots' public dashboard. Enter the protocol's pool address and look at the last 30 days of sandwich attacks, arbitrage volume, and front‑running value. This money is taken from user slippage and goes to validators and searchers — it never shows up in protocol revenue.
  2. Calculate what market makers keep: For RFQ‑style DEXs or aggregators, the "price impact" you see is effectively the market maker's profit. Compare the aggregator's quote with the best on‑chain pool quote — the difference is what the market‑maker network pockets.
  3. Validator tips: Since EIP‑1559, the base fee is burned (counts as network fee), but priority tips go straight to validators. If you're analyzing an L2, also factor in how the sequencer captures tips.

Completion standard: You can estimate, as a percentage, how much of the total cost to users actually reaches the protocol treasury or token holders. Most of the time you'll find the protocol itself takes less than 15% of what users really lose — the rest is swallowed by MEV and market makers. For DEX‑type protocols, that number often falls between 5% and 20%.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

Step 4: Follow the actual flow from treasury to token holders

What to do: Trace the last mile — from the protocol's treasury to token holders — to see whether money is burned, used for buybacks, airdropped, or just sitting there.

How to do it:

  1. Find the treasury address (Governance or Treasury contract). Use the block explorer's "Analytics" function to check the balance history.
  2. Case A: If the protocol does regular token buybacks, look at the buyback contract or outflows from the treasury to DEXs, and calculate the relationship between average monthly buyback amount and token price.
  3. Case B: If the protocol uses a "fee sharing" model (some LSD protocols, for example), dividends are sent as ETH to holder addresses. Randomly sample 5–10 holder addresses and check whether they've received regular transfers from the protocol contract over the last three months. Then calculate the APR and how it compares to total fees.
  4. Cross‑check with third‑party platforms: On Token Terminal, choose the protocol and compare the "Revenue" and "Earnings" columns. Revenue is total fees collected by the protocol; Earnings is the portion that actually reaches token holders or is burned.

Common failure reason: Many people only look at "Revenue" and conclude income hasn't grown, when "Earnings" may actually be rising — but a recent governance proposal redirected most of it to a new market incentive pool, so holders temporarily receive nothing. If you ignore the incentive spending, you're treating growth reinvestment as zero.

Completion standard: You can finally calculate how much total protocol fees grew over the last three months, and how much the real value received by token holders (including token appreciation, dividends, or supply reduction from burns) actually grew. That answers the question "Where did the money go?" once and for all.

Next step — what to do with your results

After completing these four steps, there's only one thing left: take your distribution table and fill in every number along the chain of "protocol fees → LPs/market makers → MEV → validators → treasury → token holders". Once every blank is filled, drop the full table into a public discussion thread on the protocol's governance forum, or verify it directly against Token Terminal's revenue breakdown chart. The whole check should take 10–15 minutes. If you find an unexpected receiving address, go back to the block explorer and trace its internal transactions — that will usually reveal the entity that ended up with the money.