All capabilities

Protocol fees & revenue

What DeFi protocols actually earn — fees and revenue over 24h, 7d and 30d windows, per protocol, in USD.

2,200+fee records

The distinction the shape makes for you: total_* is fees paid by users, revenue_* is what the protocol keeps. For Tether they are identical; for most AMMs they are not.

What's in a record

Every field the corpus returns for one record. Real shape — walked corpus-wide, not sampled.

  • id
  • project
  • currency
  • total_24h
  • total_7d
  • total_30d
  • revenue_24h
  • revenue_7d
  • revenue_30d
  • date
{ "id": 881, "project": { "name": "Tether", "slug": "tether", "project_type": "protocol", "icon": "https://icons.llama.fi/tether.png", "url": "https://defillama.com/protocol/tether" }, "currency": "USD", "total_24h": 17046499.0, "total_7d": 117034021.0, "total_30d": 485359152.0, "revenue_24h": 17046499.0, "revenue_7d": 117034021.0, "revenue_30d": 485359152.0, "date": "2026-06-11T07:18:49.381620Z" }

Get it

A curl that runs against the live API right now, plus the MCP tool names for the same data.

curl https://api.alphaday.com/tvl/fees/?tags=ethereum

MCP tools

get_tvl_feesget_tvl_fees_detailget_tvl_fees_top

What it's for

Three concrete questions this capability answers that a general crypto API does not.

  • The question TVL cannot answer: TVL says how much capital sits somewhere, fees say whether it earns anything. Both are on this API and they rank differently.
  • Fees versus revenue as a business-model signal: where revenue_* tracks total_* the protocol keeps the fee; where it is a fraction, the rest goes to liquidity providers.
  • Scoping by ecosystem: ?tags=ethereum returns 168 of the 2,207 records, and ?project=<slug> narrows to one protocol.

Known limits

Required, not optional. Coverage gaps, staleness and parameter traps that were observed by running the curl above against the live server on 2026-09-18.

date is per record and spans months.

Walked 1,400 rows on 20 Sep 2026: 57 distinct date values from 2026-06-11 to 2026-09-17. The sample above is a June reading. These are snapshots at differing times, not a synchronized daily cut — never sum across rows without checking their dates agree.

revenue_* is thinner than total_*.

Over the same walk: total_24h on 92% of rows, revenue_24h on 72%. A take-rate calculation is unavailable for roughly a quarter of the corpus.

currency is always USD.

1,400 of 1,400 read USD. The field is a constant today rather than a dimension — do not build a currency selector on it.

Figures and payloads verified against the live API on 2026-09-18. The API needs no key and no signup — see the full endpoint reference and the MCP server.