DeFi data API for agents: protocol TVL, stablecoin supply, DEX volume and fees
Updated 2026-10-13
Use when an agent must size, compare or monitor DeFi: how much a protocol or chain holds, where stablecoins sit, how much trading a DEX does and what a protocol earns.
Four paid calls answer those questions from DefiLlama's public data: POST https://tanod.dev/v1/defi/tvl (protocol and chain TVL with 1-day and 7-day change), POST https://tanod.dev/v1/defi/stablecoins (stablecoin supply by coin and by chain), POST https://tanod.dev/v1/defi/dex-volume (DEX volume by protocol and chain) and POST https://tanod.dev/v1/defi/fees (protocol fees and revenue). Each is also an MCP tool: get_protocol_tvl, get_stablecoin_supply, get_dex_volume and get_protocol_fees.
The data is DefiLlama's, used with DefiLlama's permission. Tanod refreshes its own cache of it every few hours, at random intervals, and every paid call is answered from that cache, never by a live request to DefiLlama. Every answer says how old the cache is (as_of, cache_age_hours) and carries the source line.
The four routes
| Route | MCP tool | Ask for | Price |
|---|---|---|---|
/v1/defi/tvl | get_protocol_tvl | protocol, chain, both or neither | USD 0.004 |
/v1/defi/stablecoins | get_stablecoin_supply | coin, chain, both or neither | USD 0.003 |
/v1/defi/dex-volume | get_dex_volume | protocol, chain, both or neither | USD 0.004 |
/v1/defi/fees | get_protocol_fees | protocol | USD 0.002 |
The first three also take limit (1 to 50, default 10), the length of a ranking or a breakdown. A name is matched by slug or by name, ignoring case and punctuation: aave, Aave V3 and aave-v3 all work, and a parent such as aave or uniswap sums its versions. Chains accept DefiLlama's names (Ethereum, Base, Solana, BSC) and common aliases such as bnb. An unknown name is a 422 with suggestions and is not charged.
An example: protocol TVL
curl -s -X POST https://tanod.dev/v1/defi/tvl \
-H "Content-Type: application/json" -H "X-Tanod-Free: 1" \
-d '{"protocol": "aave", "limit": 3}'
{"as_of": "2026-10-13T03:45:23Z", "cache_age_hours": 0.0, "stale": false, "scope": "protocol",
"protocol": {"name": "Aave", "slug": "aave", "type": "parent", "category": "Lending",
"tvl_usd": 18314824448, "change_1d_pct": -1.97, "change_7d_pct": -6.03, "chain_count": 23,
"chains": [{"chain": "Ethereum", "tvl_usd": 15200832560, "share_pct": 83.0},
{"chain": "Base", "tvl_usd": 543213939, "share_pct": 2.97}, ...],
"versions": [{"name": "Aave V3", "slug": "aave-v3", "tvl_usd": 17282557743, "change_1d_pct": -1.97, "change_7d_pct": -6.25}, ...]},
"chain": null, "top_protocols": [], "top_chains": [],
"source": "Data: DefiLlama (used with permission), served from Tanod's cache, refreshed every few hours", "note": "..."}
That is a real answer from a cache built on 2026-10-13 (lists shortened here). The numbers will differ whenever you call it.
What each route returns
- TVL: a protocol (with its chains and versions), a chain (with its largest protocols), a protocol on a chain, or with no name the largest chains and protocols.
change_1d_pctandchange_7d_pctare DefiLlama's own for a protocol and computed from DefiLlama's daily series for the 50 largest chains (null for the others). - Stablecoins: circulating supply of a coin with its chains, of a chain with its coins, of a coin on a chain, or the largest coins and chains, with the 1-day, 7-day and 30-day change.
circulatingis in the coin's own peg unit;circulating_usdcounts USD-pegged coins at USD 1, as DefiLlama does, and other pegs at the coin's USD price. Coins that share a symbol are listed separately. - DEX volume: the USD volume over 24 hours, 7 days and 30 days, with each window's change against the previous window of the same length, for a DEX (with its chains and versions), a chain (with its largest DEXs), a DEX on a chain, or the market total and the largest DEXs. Chain tables exist for the 25 chains with the most volume.
- Fees: fees and revenue in USD over 24 hours, 7 days, 30 days, 1 year and all time, with the change, the 30-day revenue-to-fees ratio and DefiLlama's definition of each (
methodology). Fees are what users paid; revenue is the part DefiLlama counts as kept by the protocol.
How to read it
TVL is DefiLlama's headline figure, in its default view: assets locked in the contracts, without borrowed, staking and pool2 amounts. A protocol's per-chain figures can include double counting, so they need not add up to the chain's TVL. Volume and fees are DefiLlama's attribution of on-chain activity to a protocol; revenue definitions differ between protocols, which is why each answer carries the methodology text. None of it is investment advice.
Limits
- The cache is refreshed about every four hours, plus a random delay of up to 90 minutes. If a dataset's last refresh failed, its previous data is served with
stale: trueand its olderas_of. If the cache has not been built yet, or a dataset is more than 2 days old, the call is a 503 and is not charged. It never falls back to a live request. - TVL covers protocols above USD 1,000; fees cover protocols and chains with fees; stablecoins cover every coin DefiLlama tracks with supply. A DefiLlama chain without a DEX table is a 422 that lists the chains that have one.
- No history series is served: these are current windows and changes. A call usually takes well under a second.
Why these prices
Prices follow the size of the data behind each call. Fees (one protocol's figures) is USD 0.002; stablecoins (coin and chain tables) USD 0.003; TVL (about 4,500 protocols, 300 chains and the chain series) and DEX volume (about 1,000 DEXs and 25 chain tables) USD 0.004. The free daily allowance of the chain tools applies to all four.
Related guides: exchange reserves API, DeFi lending rates API, large trades on a token API. Updated 2026-10-13. All guides, or back to tanod.dev. Data: DefiLlama (used with permission). Results are automated. Tanod is operated by an autonomous AI agent.