DefiLlama

App · Cryptocurrency · 26 actions

Read DeFi's open dataset from DefiLlama: the TVL of every protocol and chain it tracks, with the history behind it; token prices by contract address, including tokens too small to be listed elsewhere, with historical, first-recorded and interval-sampled series and the block nearest any moment; stablecoin supply, prices and peg drift, per asset and per chain; 16,000+ yield pools searchable by chain, project, token and APY, with each pool's history; and the volume, open interest, fees and revenue of DEXs, options venues and perpetual exchanges. No account or API key is required.

Actions

ActionWhat it does
Find yield poolsSearch 16,000+ yield pools by chain, project, token, APY and size.
Get block at a momentThe block closest to a moment in time on a given chain: the block number to run an archive query or a historical balance lookup against.
Get DEX volume overviewTrading volume across every decentralised exchange, ranked by the last 24 hours, with the 7-day, 30-day and all-time totals and the changes behind the ranking.
Get DEX volume summaryOne exchange's trading volume, broken down by the chains it runs on, with its day-by-day history on request.
Get fees and revenue overviewWhat every protocol earns, ranked by the last 24 hours.
Get fees and revenue summaryOne protocol's fees or revenue, broken down by the chains it runs on, with its day-by-day history on request.
Get first recorded pricesThe earliest price DefiLlama holds for each token, and when it was recorded.
Get historical token pricesWhat tokens were worth at a moment in the past.
Get open interest overviewOpen interest across the perpetual exchanges DefiLlama tracks, largest first.
Get options volume overviewVolume across every on-chain options venue, ranked by the last 24 hours.
Get options volume summaryOne options venue's volume, in notional or premium terms, broken down by chain, with its day-by-day history on request.
Get pool historyOne yield pool's APY and TVL over time: whether a rate that looks good today has held, and whether money has been arriving or leaving.
Get prices at several momentsPrice a basket of tokens at the same set of past moments, in one call: the shape a comparison table or a period-over-period report wants.
Get protocolEverything DefiLlama holds on one protocol: what it is, its current TVL and how that splits across chains, the funding rounds behind it and any exploits on record.
Get protocol TVLOne protocol's current total value locked, as a single number.
Get stablecoinEverything DefiLlama holds on one stablecoin: what backs it, how it is minted and redeemed, its audits, and how much of it sits on each chain right now.
Get stablecoin market cap historyDaily stablecoin market cap over time.
Get stablecoin price historyDaily prices for stablecoins: how well each one has actually held its peg, which is the only way to see a depeg after it has recovered.
Get token price changeHow much each token's price moved over a period, as a percentage.
Get token price chartA token's price sampled at regular intervals: the series behind a chart, a moving average, or a volatility check.
Get token pricesThe latest price of any token DefiLlama prices, by chain and contract address (including tokens too small or too new to be listed anywhere).
Get TVL historyDaily total value locked over time: across all of DeFi, or on one chain if you name one.
List chainsEvery chain DefiLlama tracks, with the TVL on it, largest first, which chains hold the most DeFi value right now, and the exact chain names the other actions filter by.
List protocolsSearch the 8,000+ DeFi protocols DefiLlama tracks by name, chain, category or minimum TVL, and rank them by TVL, by how much that TVL moved, or by market cap.
List stablecoin totals by chainHow much stablecoin value sits on each chain right now, largest first, where the dollars actually are, which is a different ranking from where the DeFi TVL is.
List stablecoinsEvery stablecoin DefiLlama tracks, with its circulating supply, its current price and how far that has drifted from the peg.

Find yield pools

Search 16,000+ yield pools by chain, project, token, APY and size. Each result separates the base APY from the reward APY (rewards are paid in incentive tokens and can stop) and carries the 30-day mean, so a spot rate can be checked against a steadier one. Setting a minimum TVL is worth doing on any search: the highest raw APYs belong to pools holding a few hundred dollars.

Inputs

Chainchaintext
Only include pools on this chain.
Projectprojecttext
Only include pools run by this protocol.
Tokensymboltext
Only include pools whose token symbol contains this text.
Stablecoin pools onlystablecoin_onlytrue/false
Only include pools that hold nothing but stablecoins.Default: false.
Exposureexposuretext
Whether the pool holds one asset or several. Leave empty for both.One of: single (Single asset), multi (Multiple assets).
Impermanent loss riskil_risktext
Whether the pool is exposed to impermanent loss. Leave empty for both.One of: no (No impermanent loss risk), yes (Exposed to impermanent loss).
Minimum TVL (USD)min_tvl_usdnumber
Only include pools holding at least this much. Worth setting: without it the top of an APY ranking is dust.At least 0.
Minimum APY (%)min_apynumber
Only include pools yielding at least this much, as a percentage.From 0 to 10000000.
Maximum APY (%)max_apynumber
Only include pools yielding at most this much. Useful for excluding the implausible rates that come from a mis-priced reward token.From 0 to 10000000.
Sort bysort_bytext
How to order the results. Leave empty to sort by total APY.One of: apy (Total APY, highest first), apy_base (Base APY, highest first), apy_reward (Reward APY, highest first), apy_mean_30d (30-day mean APY, highest first), tvl_usd (TVL, largest first).
Maximum resultslimitnumber
How many pools to return, at most 500. Leave empty for 25.From 1 to 500.

Outputs

countnumber
How many rows this result holds.
matchednumber
How many rows matched the filters before the limit was applied.
poolslist
The matching pools, ordered by the chosen sort.
sorted_bytext
The field the results were ordered by.
total_trackednumber
How many pools DefiLlama tracks in total.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "count": 1,
  "matched": 181,
  "pools": [
    {
      "apy": 2.185,
      "apy_base": 2.185,
      "apy_change_1d": 0.005,
      "apy_change_30d": -0.022,
      "apy_change_7d": 0.011,
      "apy_mean_30d": 2.1884,
      "apy_reward": null,
      "binned_confidence": 2.0,
      "chain": "Ethereum",
      "exposure": "single",
      "il_risk": "no",
      "outlier": false,
      "pool": "747c1d2a-c668-4682-b9f9-296708a3dd90",
      "pool_meta": null,
      "predicted_class": "Stable/Up",
      "predicted_probability": 71.0,
      "project": "lido",
      "reward_tokens": [],
      "stablecoin": false,
      "symbol": "STETH",
      "tvl_usd": 21541836747.0,
      "underlying_tokens": [
        "0x0000000000000000000000000000000000000000"
      ],
      "volume_usd_1d": null,
      "volume_usd_7d": null
    }
  ],
  "sorted_by": "apy",
  "total_tracked": 16092,
  "truncated": true
}

Get block at a moment

The block closest to a moment in time on a given chain: the block number to run an archive query or a historical balance lookup against. The block's own timestamp comes back too, since it is near but rarely equal to the one you asked for.

Inputs

ChainchaintextRequired
The chain to find the block on. These are DefiLlama's lower-case coin slugs ('avax', 'bsc'), which are not the same list as the chain names the TVL actions use.
At this momenttimestampdate and timeRequired
The date and time to find the nearest block to.

Outputs

chaintext
The chain the block is on.
heightnumber
The block number.
requested_timestampnumber
The moment that was asked for, as Unix seconds.
requested_timestamp_isotext
The moment that was asked for, as an ISO-8601 UTC string.
timestampnumber
The block's own timestamp, as Unix seconds.
timestamp_isotext
The block's own timestamp as an ISO-8601 UTC string.
Example output
{
  "chain": "ethereum",
  "height": 19008565,
  "requested_timestamp": 1705276800,
  "requested_timestamp_iso": "2024-01-15T00:00:00Z",
  "timestamp": 1705276811,
  "timestamp_iso": "2024-01-15T00:00:11Z"
}

Get DEX volume overview

Trading volume across every decentralised exchange, ranked by the last 24 hours, with the 7-day, 30-day and all-time totals and the changes behind the ranking. Name a chain to see only the venues trading on it.

Inputs

Chainchaintext
Only count volume traded on this chain. Leave empty for every chain.
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum resultslimitnumber
How many protocols to return, at most 500. Leave empty for 25.From 1 to 500.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

all_chainslist
Every chain this dataset can be filtered by.
chaintext
The chain the figures are for, or empty for every chain.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
countnumber
How many rows this result holds.
data_typetext
Which measure the figures are, when the action offers a choice.
matchednumber
How many rows matched the filters before the limit was applied.
protocolslist
The protocols, ranked by their last 24 hours.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "all_chains": [
    "Ethereum",
    "Solana",
    "Base",
    "BSC"
  ],
  "chain": null,
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "count": 1,
  "data_type": null,
  "matched": 1318,
  "protocols": [
    {
      "category": "Dexs",
      "chains": [
        "Ethereum",
        "Arbitrum",
        "Base"
      ],
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "defillama_id": "2196",
      "display_name": "Uniswap V3",
      "logo": "https://icons.llamao.fi/icons/protocols/uniswap-v3",
      "name": "Uniswap V3",
      "parent_protocol": "parent#uniswap",
      "slug": "uniswap-v3",
      "total_1y": 766735302276.56,
      "total_24h": 3031015047.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  ],
  "total_1y": 766735302276.56,
  "total_24h": 3031015047.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "truncated": true
}

Get DEX volume summary

One exchange's trading volume, broken down by the chains it runs on, with its day-by-day history on request.

Inputs

ExchangeprotocoltextRequired
The exchange to summarise.
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

by_chainobject
The same set of totals for each chain separately.
categorytext
What kind of protocol it is.
chainslist
The chains it operates on.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
child_protocolslist
The deployments rolled up into this figure.
data_typetext
Which measure the figures are, when the action offers a choice.
descriptiontext
DefiLlama's description of it.
display_nametext
The name DefiLlama shows for it.
idtext
DefiLlama's internal id for it.
linked_protocolslist
Protocols DefiLlama links to this one.
logotext
URL of its logo.
methodologyobject
How DefiLlama calculates these figures.
nametext
The protocol's name.
slugtext
The protocol's slug in this dataset.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
urltext
Its own website.
Example output
{
  "by_chain": {
    "Ethereum": {
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "total_1y": 766735302276.56,
      "total_24h": 3031015047.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  },
  "category": "Dexs",
  "chains": [
    "Ethereum",
    "Arbitrum",
    "Base"
  ],
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "chart": [
    {
      "date": 1787097600,
      "date_iso": "2026-08-19T00:00:00Z",
      "value": 3031015047.0
    },
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "value": 3104715691.0
    }
  ],
  "chart_matched": 2849,
  "child_protocols": [
    "Uniswap V2",
    "Uniswap V3",
    "Uniswap V4"
  ],
  "data_type": null,
  "description": "Swap, earn, and build on the leading decentralized crypto trading protocol.",
  "display_name": "Uniswap",
  "id": "parent#uniswap",
  "linked_protocols": [
    "Uniswap V2",
    "Uniswap V3"
  ],
  "logo": "https://icons.llamao.fi/icons/protocols/uniswap",
  "methodology": {
    "Fees": "Swap fees paid by users."
  },
  "name": "Uniswap",
  "slug": "uniswap",
  "total_1y": 766735302276.56,
  "total_24h": 3031015047.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "url": "https://app.uniswap.org/"
}

Get fees and revenue overview

What every protocol earns, ranked by the last 24 hours. Choose which figure you mean: fees are everything users paid, revenue is the share the protocol keeps, and holders' revenue is the share that reaches token holders. Name a chain to see only what is earned on it.

Inputs

Chainchaintext
Only count fees earned on this chain. Leave empty for every chain.
Measuredata_typetext
Which figure the totals should be. Leave empty for fees: everything users paid.One of: dailyFees (Fees: everything users paid), dailyRevenue (Revenue: the share the protocol keeps), dailyHoldersRevenue (Holders' revenue: the share that reaches token holders).
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum resultslimitnumber
How many protocols to return, at most 500. Leave empty for 25.From 1 to 500.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

all_chainslist
Every chain this dataset can be filtered by.
chaintext
The chain the figures are for, or empty for every chain.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
countnumber
How many rows this result holds.
data_typetext
Which measure the figures are, when the action offers a choice.
matchednumber
How many rows matched the filters before the limit was applied.
protocolslist
The protocols, ranked by their last 24 hours.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "all_chains": [
    "Ethereum",
    "Solana",
    "Base",
    "BSC"
  ],
  "chain": null,
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "count": 1,
  "data_type": "dailyRevenue",
  "matched": 2589,
  "protocols": [
    {
      "category": "Stablecoin Issuer",
      "chains": [
        "Ethereum",
        "Arbitrum",
        "Base"
      ],
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "defillama_id": "2196",
      "display_name": "Tether",
      "logo": "https://icons.llamao.fi/icons/protocols/uniswap-v3",
      "name": "Tether",
      "parent_protocol": "parent#uniswap",
      "slug": "tether",
      "total_1y": 766735302276.56,
      "total_24h": 15945621.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  ],
  "total_1y": 766735302276.56,
  "total_24h": 35674245.78,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "truncated": true
}

Get fees and revenue summary

One protocol's fees or revenue, broken down by the chains it runs on, with its day-by-day history on request.

Inputs

ProtocolprotocoltextRequired
The protocol to summarise.
Measuredata_typetext
Which figure the totals should be. Leave empty for fees: everything users paid.One of: dailyFees (Fees: everything users paid), dailyRevenue (Revenue: the share the protocol keeps), dailyHoldersRevenue (Holders' revenue: the share that reaches token holders).
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

by_chainobject
The same set of totals for each chain separately.
categorytext
What kind of protocol it is.
chainslist
The chains it operates on.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
child_protocolslist
The deployments rolled up into this figure.
data_typetext
Which measure the figures are, when the action offers a choice.
descriptiontext
DefiLlama's description of it.
display_nametext
The name DefiLlama shows for it.
idtext
DefiLlama's internal id for it.
linked_protocolslist
Protocols DefiLlama links to this one.
logotext
URL of its logo.
methodologyobject
How DefiLlama calculates these figures.
nametext
The protocol's name.
slugtext
The protocol's slug in this dataset.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
urltext
Its own website.
Example output
{
  "by_chain": {
    "Ethereum": {
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "total_1y": 766735302276.56,
      "total_24h": 3031015047.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  },
  "category": "Dexs",
  "chains": [
    "Ethereum",
    "Arbitrum",
    "Base"
  ],
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "chart": [
    {
      "date": 1787097600,
      "date_iso": "2026-08-19T00:00:00Z",
      "value": 3031015047.0
    },
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "value": 3104715691.0
    }
  ],
  "chart_matched": 2849,
  "child_protocols": [
    "Uniswap V2",
    "Uniswap V3",
    "Uniswap V4"
  ],
  "data_type": "dailyFees",
  "description": "Swap, earn, and build on the leading decentralized crypto trading protocol.",
  "display_name": "Uniswap",
  "id": "parent#uniswap",
  "linked_protocols": [
    "Uniswap V2",
    "Uniswap V3"
  ],
  "logo": "https://icons.llamao.fi/icons/protocols/uniswap",
  "methodology": {
    "Fees": "Swap fees paid by users."
  },
  "name": "Uniswap",
  "slug": "uniswap",
  "total_1y": 766735302276.56,
  "total_24h": 2400741.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "url": "https://app.uniswap.org/"
}

Get first recorded prices

The earliest price DefiLlama holds for each token, and when it was recorded. Use it to find how far back a token's data goes before charting it, or as the starting point for a return since inception.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.

Outputs

countnumber
How many tokens came back with a price.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
priceslist
The earliest price on record for each token, with when it was recorded.
requestedlist
The coin ids that were asked for.
Example output
{
  "count": 1,
  "not_found": [],
  "prices": [
    {
      "coin": "coingecko:ethereum",
      "confidence": null,
      "decimals": null,
      "price_usd": 2.83162,
      "symbol": "ETH",
      "timestamp": 1438905600,
      "timestamp_iso": "2015-08-07T00:00:00Z"
    }
  ],
  "requested": [
    "coingecko:ethereum"
  ]
}

Get historical token prices

What tokens were worth at a moment in the past. DefiLlama answers with the closest price it recorded to the moment you pick, and each result says which moment that actually was.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.
At this momenttimestampdate and timeRequired
The date and time to price the tokens at.

Outputs

countnumber
How many tokens came back with a price.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
priceslist
Each token's price at the moment asked for, with the moment it actually came from.
requestedlist
The coin ids that were asked for.
timestampnumber
The moment that was asked for, as a Unix timestamp.
timestamp_isotext
The same moment as an ISO-8601 UTC string.
Example output
{
  "count": 1,
  "not_found": [],
  "prices": [
    {
      "coin": "coingecko:ethereum",
      "confidence": 0.99,
      "decimals": null,
      "price_usd": 2475.12,
      "symbol": "ETH",
      "timestamp": 1705276816,
      "timestamp_iso": "2024-01-15T00:00:16Z"
    }
  ],
  "requested": [
    "coingecko:ethereum"
  ],
  "timestamp": 1705276800,
  "timestamp_iso": "2024-01-15T00:00:00Z"
}

Get open interest overview

Open interest across the perpetual exchanges DefiLlama tracks, largest first. Open interest is a position rather than a flow (the value of contracts still open right now), so it measures how much leverage is in the market, not how much was traded.

Inputs

Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum resultslimitnumber
How many protocols to return, at most 500. Leave empty for 25.From 1 to 500.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

all_chainslist
Every chain this dataset can be filtered by.
chaintext
The chain the figures are for, or empty for every chain.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
countnumber
How many rows this result holds.
data_typetext
Which measure the figures are, when the action offers a choice.
matchednumber
How many rows matched the filters before the limit was applied.
protocolslist
The protocols, ranked by their last 24 hours.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "all_chains": [
    "Ethereum",
    "Solana",
    "Base",
    "BSC"
  ],
  "chain": null,
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "count": 1,
  "data_type": null,
  "matched": 39,
  "protocols": [
    {
      "category": "Derivatives",
      "chains": [
        "Ethereum",
        "Arbitrum",
        "Base"
      ],
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "defillama_id": "2196",
      "display_name": "Hyperliquid Perps",
      "logo": "https://icons.llamao.fi/icons/protocols/uniswap-v3",
      "name": "Hyperliquid Perps",
      "parent_protocol": "parent#uniswap",
      "slug": "hyperliquid-perps",
      "total_1y": 766735302276.56,
      "total_24h": 11716122664.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  ],
  "total_1y": 766735302276.56,
  "total_24h": 20181522039.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "truncated": true
}

Get options volume overview

Volume across every on-chain options venue, ranked by the last 24 hours. Choose whether the figures are notional volume (the face value of the contracts) or premium volume, what buyers actually paid; the two differ by orders of magnitude.

Inputs

Chainchaintext
Only count volume traded on this chain. Leave empty for every chain.
Volume basisdata_typetext
How the volume is counted. Leave empty for notional volume. The two differ by orders of magnitude, so this decides what the numbers mean.One of: dailyNotionalVolume (Notional volume: the face value of the contracts), dailyPremiumVolume (Premium volume: what buyers actually paid).
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum resultslimitnumber
How many protocols to return, at most 500. Leave empty for 25.From 1 to 500.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

all_chainslist
Every chain this dataset can be filtered by.
chaintext
The chain the figures are for, or empty for every chain.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
countnumber
How many rows this result holds.
data_typetext
Which measure the figures are, when the action offers a choice.
matchednumber
How many rows matched the filters before the limit was applied.
protocolslist
The protocols, ranked by their last 24 hours.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "all_chains": [
    "Arbitrum",
    "Ethereum",
    "Optimism"
  ],
  "chain": null,
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "count": 1,
  "data_type": "dailyPremiumVolume",
  "matched": 28,
  "protocols": [
    {
      "category": "Dexs",
      "chains": [
        "Ethereum",
        "Arbitrum",
        "Base"
      ],
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "defillama_id": "2196",
      "display_name": "Uniswap V3",
      "logo": "https://icons.llamao.fi/icons/protocols/uniswap-v3",
      "name": "Uniswap V3",
      "parent_protocol": "parent#uniswap",
      "slug": "uniswap-v3",
      "total_1y": 766735302276.56,
      "total_24h": 3031015047.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  ],
  "total_1y": 766735302276.56,
  "total_24h": 3031015047.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "truncated": true
}

Get options volume summary

One options venue's volume, in notional or premium terms, broken down by chain, with its day-by-day history on request.

Inputs

Options venueprotocoltextRequired
The options venue to summarise.
Volume basisdata_typetext
How the volume is counted. Leave empty for notional volume. The two differ by orders of magnitude, so this decides what the numbers mean.One of: dailyNotionalVolume (Notional volume: the face value of the contracts), dailyPremiumVolume (Premium volume: what buyers actually paid).
Include the history chartinclude_charttrue/false
Also return the day-by-day history behind these totals. Off by default, because it is by far the largest part of the response.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum chart pointschart_limitnumber
How many days of chart history to return, at most 5000. The most recent are kept. Leave empty for 90. Only used when the chart is included.From 1 to 5000.

Outputs

by_chainobject
The same set of totals for each chain separately.
categorytext
What kind of protocol it is.
chainslist
The chains it operates on.
change_1dnumber
Percent change against the previous day.
change_1mnumber
Percent change against the previous month.
change_7dnumber
Percent change against the previous week.
chartlist
Day-by-day history, most recent last. Only present when the chart was requested.
chart_matchednumber
How many chart points fell inside the date range before the limit was applied.
child_protocolslist
The deployments rolled up into this figure.
data_typetext
Which measure the figures are, when the action offers a choice.
descriptiontext
DefiLlama's description of it.
display_nametext
The name DefiLlama shows for it.
idtext
DefiLlama's internal id for it.
linked_protocolslist
Protocols DefiLlama links to this one.
logotext
URL of its logo.
methodologyobject
How DefiLlama calculates these figures.
nametext
The protocol's name.
slugtext
The protocol's slug in this dataset.
total_1ynumber
The figure over the last year.
total_24hnumber
The figure over the last 24 hours, in US dollars.
total_30dnumber
The figure over the last 30 days.
total_48h_to_24hnumber
The same figure for the 24 hours before that, for comparison.
total_7dnumber
The figure over the last 7 days.
total_all_timenumber
The figure since DefiLlama began tracking it.
urltext
Its own website.
Example output
{
  "by_chain": {
    "Ethereum": {
      "change_1d": 180.16,
      "change_1m": -6.02,
      "change_7d": 12.4,
      "total_1y": 766735302276.56,
      "total_24h": 3031015047.0,
      "total_30d": 43909422692.97,
      "total_48h_to_24h": 1082080637.01,
      "total_7d": 9581784849.01,
      "total_all_time": 3801933433276.56
    }
  },
  "category": "Options",
  "chains": [
    "Ethereum",
    "Arbitrum",
    "Base"
  ],
  "change_1d": 180.16,
  "change_1m": -6.02,
  "change_7d": 12.4,
  "chart": [
    {
      "date": 1787097600,
      "date_iso": "2026-08-19T00:00:00Z",
      "value": 3031015047.0
    },
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "value": 3104715691.0
    }
  ],
  "chart_matched": 2849,
  "child_protocols": [
    "Uniswap V2",
    "Uniswap V3",
    "Uniswap V4"
  ],
  "data_type": "dailyNotionalVolume",
  "description": "Swap, earn, and build on the leading decentralized crypto trading protocol.",
  "display_name": "Derive Options",
  "id": "parent#uniswap",
  "linked_protocols": [
    "Uniswap V2",
    "Uniswap V3"
  ],
  "logo": "https://icons.llamao.fi/icons/protocols/uniswap",
  "methodology": {
    "Fees": "Swap fees paid by users."
  },
  "name": "Derive",
  "slug": "derive-options",
  "total_1y": 766735302276.56,
  "total_24h": 3031015047.0,
  "total_30d": 43909422692.97,
  "total_48h_to_24h": 1082080637.01,
  "total_7d": 9581784849.01,
  "total_all_time": 3801933433276.56,
  "url": "https://app.uniswap.org/"
}

Get pool history

One yield pool's APY and TVL over time: whether a rate that looks good today has held, and whether money has been arriving or leaving. Takes the pool id that 'Find yield pools' returns.

Inputs

Pool IDpooltextRequired
The pool's id, as returned in the 'pool' field of 'Find yield pools'.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum history pointslimitnumber
How many history points to return per series, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

countnumber
How many points this result holds.
latest_apynumber
APY at the most recent point.
latest_date_isotext
When that most recent point was recorded.
latest_tvl_usdnumber
TVL at the most recent point.
matchednumber
How many points fell inside the date range.
pointslist
The pool's history, oldest first.
pooltext
The pool id this history is for.
total_availablenumber
How many points the endpoint holds in total.
truncatedtrue/false
True when the limit held points back.
Example output
{
  "count": 1,
  "latest_apy": 2.185,
  "latest_date_iso": "2026-08-20T02:02:26Z",
  "latest_tvl_usd": 21541836747.0,
  "matched": 1541,
  "points": [
    {
      "apy": 2.185,
      "apy_base": 2.185,
      "apy_base_7d": null,
      "apy_reward": null,
      "date": 1787191346,
      "date_iso": "2026-08-20T02:02:26Z",
      "il_7d": null,
      "tvl_usd": 21541836747.0
    }
  ],
  "pool": "747c1d2a-c668-4682-b9f9-296708a3dd90",
  "total_available": 1541,
  "truncated": true
}

Get prices at several moments

Price a basket of tokens at the same set of past moments, in one call: the shape a comparison table or a period-over-period report wants. Every token is priced at every moment you list.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.
MomentstimestampslistRequired
The moments to price the tokens at, separated by commas. A date on its own is read as midnight UTC.

Outputs

countnumber
How many tokens came back with prices.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
requestedlist
The coin ids that were asked for.
resultslist
One entry per token, each holding its price at every moment asked for.
timestampslist
The moments asked for, as Unix timestamps.
timestamps_isolist
The same moments as ISO-8601 UTC strings.
Example output
{
  "count": 1,
  "not_found": [],
  "requested": [
    "coingecko:ethereum"
  ],
  "results": [
    {
      "coin": "coingecko:ethereum",
      "count": 2,
      "prices": [
        {
          "confidence": 0.99,
          "price_usd": 2475.12,
          "timestamp": 1705276816,
          "timestamp_iso": "2024-01-15T00:00:16Z"
        },
        {
          "confidence": 0.99,
          "price_usd": 3474.61,
          "timestamp": 1718409611,
          "timestamp_iso": "2024-06-15T00:00:11Z"
        }
      ],
      "symbol": "ETH"
    }
  ],
  "timestamps": [
    1705276800,
    1718409600
  ],
  "timestamps_iso": [
    "2024-01-15T00:00:00Z",
    "2024-06-15T00:00:00Z"
  ]
}

Get protocol

Everything DefiLlama holds on one protocol: what it is, its current TVL and how that splits across chains, the funding rounds behind it and any exploits on record. Its day-by-day TVL history, and the same history per chain, are available on request; they are left out by default because they are the bulk of a response that reaches 28 MB.

Inputs

ProtocolprotocoltextRequired
The protocol to look up.
Include TVL historyinclude_tvl_historytrue/false
Also return the protocol's day-by-day TVL.Default: false.
Include per-chain TVL historyinclude_chain_breakdowntrue/false
Also return the day-by-day TVL for each chain separately. A large protocol has 40 or more.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum history pointslimitnumber
How many history points to return per series, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

addresstext
Its token's contract address.
audit_linkslist
Links to its audits.
categorytext
What kind of protocol it is.
chain_tvl_historyobject
Day-by-day TVL per chain. Only present when requested.
chainslist
The chains it is deployed on.
current_chain_tvlsobject
TVL per chain now. Suffixed keys ('Ethereum-borrowed', '-staking', '-pool2') are separate balances, not part of the headline TVL.
current_tvl_attext
When that TVL was recorded, as an ISO-8601 UTC string.
current_tvl_usdnumber
Current TVL in US dollars: the last point of the series, which is the figure DefiLlama shows.
descriptiontext
DefiLlama's description of it.
gecko_idtext
Its CoinGecko id.
githublist
Its GitHub organisations.
hackslist
Exploits on record.
history_points_availablenumber
How many TVL history points exist in total.
idtext
Its internal numeric id.
is_parent_protocoltrue/false
True when this is a family (e.g. 'aave') rather than one deployment.
logotext
URL of its logo.
mcap_usdnumber
Token market cap in US dollars.
methodologytext
How DefiLlama calculates its TVL.
nametext
The protocol's display name.
raiseslist
Funding rounds on record.
related_protocolslist
The other protocols in the same family.
slugtext
DefiLlama's id for the protocol.
symboltext
Its token's ticker.
tvl_historylist
Day-by-day TVL, oldest first. Only present when requested.
tvl_history_matchednumber
How many history points fell inside the date range.
twittertext
Its X/Twitter handle.
urltext
Its own website.
Example output
{
  "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
  "audit_links": [
    "https://github.com/aave/aave-v3-core/tree/master/audits"
  ],
  "category": "Lending",
  "chains": [
    "Ethereum",
    "Arbitrum",
    "Base"
  ],
  "current_chain_tvls": {
    "Ethereum": 13990877636.0,
    "Ethereum-borrowed": 4210441885.0
  },
  "current_tvl_at": "2026-08-20T00:57:35Z",
  "current_tvl_usd": 16006955395.42,
  "description": "Aave is an Open Source Protocol to create Non-Custodial Liquidity Markets.",
  "gecko_id": "aave",
  "github": [
    "aave"
  ],
  "hacks": [],
  "history_points_available": 1483,
  "id": "1599",
  "is_parent_protocol": false,
  "logo": "https://icons.llamao.fi/icons/protocols/aave-v3",
  "mcap_usd": 2410000000.0,
  "methodology": "Counts the tokens deposited in the protocol's markets.",
  "name": "AAVE V3",
  "raises": [],
  "related_protocols": [
    "Aave",
    "Aave V3",
    "Aave V2"
  ],
  "slug": "aave-v3",
  "symbol": "AAVE",
  "tvl_history": [
    {
      "date": 1787097600,
      "date_iso": "2026-08-19T00:00:00Z",
      "tvl_usd": 15804112900.0
    },
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "tvl_usd": 16006955395.0
    }
  ],
  "tvl_history_matched": 1483,
  "twitter": "aave",
  "url": "https://aave.com"
}

Get protocol TVL

One protocol's current total value locked, as a single number. The quickest possible check: for a threshold alert, a dashboard tile, or a figure to drop into a message.

Inputs

ProtocolprotocoltextRequired
The protocol to look up.

Outputs

protocoltext
The slug that was looked up.
tvl_usdnumber
Current total value locked, in US dollars.
Example output
{
  "protocol": "aave-v3",
  "tvl_usd": 16006955395.42
}

Get stablecoin

Everything DefiLlama holds on one stablecoin: what backs it, how it is minted and redeemed, its audits, and how much of it sits on each chain right now. Its day-by-day supply history is available on request, for one chain or for all of them.

Inputs

StablecoinstablecointextRequired
The stablecoin to look up.
Chainchaintext
Narrow the supply history to one chain. Leave empty for every chain it circulates on.
Include supply historyinclude_historytrue/false
Also return the day-by-day supply. Off by default; it is the bulk of a response that reaches 20 MB.Default: false.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum history pointslimitnumber
How many history points to return per series, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

addresstext
Its main contract address.
audit_linkslist
Links to reserve attestations or audits.
chain_balance_historyobject
Day-by-day supply per chain. Only present when requested.
chainslist
The chains it circulates on.
current_chain_balancesobject
Supply per chain now, in the asset's own peg units.
descriptiontext
DefiLlama's description of it.
gecko_idtext
Its CoinGecko id.
idtext
DefiLlama's id for the stablecoin.
mint_redeem_descriptiontext
How it is minted and redeemed.
nametext
Its name.
peg_mechanismtext
How it holds the peg.
peg_typetext
The currency it tracks.
pricenumber
Current price in US dollars.
symboltext
Its ticker.
total_circulatingnumber
Total supply across every chain, in the asset's own peg units.
twittertext
The issuer's X/Twitter handle.
urltext
The issuer's website.
wikitext
A wiki page about it, where one exists.
Example output
{
  "address": null,
  "audit_links": [
    "https://tether.to/en/transparency/#reports"
  ],
  "chain_balance_history": {
    "Ethereum": [
      {
        "bridged_to": 234542.07,
        "circulating": 74267166322.63,
        "date": 1787184000,
        "date_iso": "2026-08-20T00:00:00Z",
        "minted": 90306400739.09,
        "unreleased": 3114781730.61
      }
    ]
  },
  "chains": [
    "Ethereum",
    "Tron"
  ],
  "current_chain_balances": {
    "Ethereum": 74267166322.63,
    "Tron": 91875596093.75
  },
  "description": "Tether converts cash into digital currency.",
  "gecko_id": "tether",
  "id": "1",
  "mint_redeem_description": "Users can mint and redeem with Tether directly, subject to a minimum.",
  "name": "Tether",
  "peg_mechanism": "fiat-backed",
  "peg_type": "peggedUSD",
  "price": 0.9995,
  "symbol": "USDT",
  "total_circulating": 183069204367.17,
  "twitter": "Tether_to",
  "url": "https://tether.to/",
  "wiki": null
}

Get stablecoin market cap history

Daily stablecoin market cap over time. Leave both filters empty for every stablecoin everywhere; name a chain, a stablecoin, or both, to narrow it ('USDC on Arbitrum over the last quarter' is one call). Each point also breaks the total down by the currency each stablecoin tracks.

Inputs

Chainchaintext
Narrow to one chain. Leave empty for every chain.
Stablecoinstablecointext
Narrow to one stablecoin. Leave empty for all of them summed.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum dayslimitnumber
How many days of history to return, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

chaintext
The chain the history is for, or empty for every chain.
countnumber
How many points this result holds.
latest_circulating_usdnumber
Market cap at the most recent point.
latest_date_isotext
When that most recent point was recorded.
matchednumber
How many points fell inside the date range.
pointslist
Daily market cap, oldest first.
stablecointext
The stablecoin id the history is for, or empty for all of them.
total_availablenumber
How many points the endpoint holds in total.
truncatedtrue/false
True when the limit held points back.
Example output
{
  "chain": "Ethereum",
  "count": 1,
  "latest_circulating_usd": 74232082891.02,
  "latest_date_iso": "2026-08-20T00:00:00Z",
  "matched": 3187,
  "points": [
    {
      "by_peg_type": {
        "peggedUSD": 74232082891.02
      },
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "total_bridged_to_usd": 234431.28,
      "total_circulating_usd": 74232082891.02,
      "total_minted_usd": 87150430131.16
    }
  ],
  "stablecoin": "1",
  "total_available": 3187,
  "truncated": true
}

Get stablecoin price history

Daily prices for stablecoins: how well each one has actually held its peg, which is the only way to see a depeg after it has recovered. Pick the ones you care about: the endpoint otherwise returns every stablecoin for every day.

Inputs

Stablecoinsstablecoinslist
Which stablecoins to return prices for. Pick as many as you like; leave empty for all of them, which is a very large result.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum dayslimitnumber
How many days of history to return, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

countnumber
How many points this result holds.
matchednumber
How many points fell inside the date range.
not_foundlist
Ids that appear in no day of the history.
pointslist
Daily prices, oldest first.
stablecoinslist
The CoinGecko ids that were asked for.
total_availablenumber
How many points the endpoint holds in total.
truncatedtrue/false
True when the limit held points back.
Example output
{
  "count": 1,
  "matched": 2055,
  "not_found": [],
  "points": [
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "prices": {
        "tether": 0.9995,
        "usd-coin": 0.9997
      }
    }
  ],
  "stablecoins": [
    "tether",
    "usd-coin"
  ],
  "total_available": 2055,
  "truncated": true
}

Get token price change

How much each token's price moved over a period, as a percentage. Measured backwards from now by default; switch it to look forward from a moment you pick to ask what happened in the week after an event.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.
Measure fromtimestampdate and time
The moment the period is measured from. Leave empty for now.
Intervalperiodtext
How far apart the data points are. Leave empty for one day.One of: 1h (1 hour), 4h (4 hours), 12h (12 hours), 1d (1 day), 2d (2 days), 1w (1 week), 2w (2 weeks), 3w (3 weeks), 1m (1 month).
Look forward instead of backlook_forwardtrue/false
Measure the period after the moment above rather than before it. Off by default.Default: false.

Outputs

changeslist
The move each token made over the period.
countnumber
How many tokens came back with a change.
look_forwardtrue/false
True when the period was measured forwards.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
periodtext
The period that was measured.
requestedlist
The coin ids that were asked for.
timestampnumber
The moment the period was measured from, as a Unix timestamp.
timestamp_isotext
The same moment as an ISO-8601 UTC string.
Example output
{
  "changes": [
    {
      "coin": "coingecko:ethereum",
      "percent_change": 19.87
    }
  ],
  "count": 1,
  "look_forward": false,
  "not_found": [],
  "period": "1w",
  "requested": [
    "coingecko:ethereum"
  ],
  "timestamp": null,
  "timestamp_iso": null
}

Get token price chart

A token's price sampled at regular intervals: the series behind a chart, a moving average, or a volatility check. Set the window with the dates, and how fine it is with the interval.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.
Fromstart_datedate and time
Sample forwards from this moment. Set this or 'To', not both; DefiLlama samples in one direction from one edge, and how far it goes is set by the number of points and the interval.
Toend_datedate and time
Sample backwards from this moment. Set this or 'From', not both. Leave both empty to sample backwards from now.
Number of pointsspannumber
How many data points to return. Leave empty for 10.From 1 to 5000.
Intervalperiodtext
How far apart the data points are. Leave empty for one day.One of: 1h (1 hour), 4h (4 hours), 12h (12 hours), 1d (1 day), 2d (2 days), 1w (1 week), 2w (2 weeks), 3w (3 weeks), 1m (1 month).

Outputs

chartslist
One chart per token, each a series of dated prices.
countnumber
How many tokens came back with a chart.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
periodtext
The interval the points are spaced at.
requestedlist
The coin ids that were asked for.
Example output
{
  "charts": [
    {
      "coin": "coingecko:ethereum",
      "confidence": 0.99,
      "count": 2,
      "points": [
        {
          "price_usd": 1908.8,
          "timestamp": 1787107070,
          "timestamp_iso": "2026-08-19T02:37:50Z"
        },
        {
          "price_usd": 2257.37,
          "timestamp": 1787193340,
          "timestamp_iso": "2026-08-20T02:35:40Z"
        }
      ],
      "symbol": "ETH"
    }
  ],
  "count": 1,
  "not_found": [],
  "period": "1d",
  "requested": [
    "coingecko:ethereum"
  ]
}

Get token prices

The latest price of any token DefiLlama prices, by chain and contract address (including tokens too small or too new to be listed anywhere). Each price comes with a confidence score, so a thin-liquidity quote can be told apart from a solid one.

Inputs

TokenscoinslistRequired
The tokens to look up, as DefiLlama coin ids, separated by commas. An on-chain token is {chain}:{contract address}; a listed coin can also be written coingecko:{id}.

Outputs

countnumber
How many tokens came back with a price.
not_foundlist
Coin ids DefiLlama had no data for. An unrecognised id is silently absent from its answer, so this is how you tell.
priceslist
The latest price of each token that DefiLlama could price.
requestedlist
The coin ids that were asked for.
Example output
{
  "count": 1,
  "not_found": [],
  "prices": [
    {
      "coin": "coingecko:ethereum",
      "confidence": 0.99,
      "decimals": null,
      "price_usd": 2251.71,
      "symbol": "ETH",
      "timestamp": 1787194370,
      "timestamp_iso": "2026-08-20T02:52:50Z"
    }
  ],
  "requested": [
    "coingecko:ethereum"
  ]
}

Get TVL history

Daily total value locked over time: across all of DeFi, or on one chain if you name one. Liquid staking and double-counted TVL are excluded, so the all-chains figure is a true total rather than a sum of overlaps.

Inputs

Chainchaintext
Narrow the history to one chain. Leave empty for all of DeFi.
From datestart_datedate
Only include data from this date onwards. Leave empty for no lower bound.
To dateend_datedate
Only include data up to this date. Leave empty for no upper bound.
Maximum dayslimitnumber
How many days of history to return, at most 5000. The most recent are kept. Leave empty for 90.From 1 to 5000.

Outputs

chaintext
The chain the history is for, or empty for all of DeFi.
countnumber
How many points this result holds.
latest_date_isotext
When that most recent point was recorded.
latest_tvl_usdnumber
TVL at the most recent point.
matchednumber
How many points fell inside the date range.
pointslist
Daily TVL, oldest first.
total_availablenumber
How many points the endpoint holds in total.
truncatedtrue/false
True when the limit held points back.
Example output
{
  "chain": "Ethereum",
  "count": 2,
  "latest_date_iso": "2026-08-20T00:00:00Z",
  "latest_tvl_usd": 16006955395.0,
  "matched": 3250,
  "points": [
    {
      "date": 1787097600,
      "date_iso": "2026-08-19T00:00:00Z",
      "tvl_usd": 15804112900.0
    },
    {
      "date": 1787184000,
      "date_iso": "2026-08-20T00:00:00Z",
      "tvl_usd": 16006955395.0
    }
  ],
  "total_available": 3250,
  "truncated": true
}

List chains

Every chain DefiLlama tracks, with the TVL on it, largest first, which chains hold the most DeFi value right now, and the exact chain names the other actions filter by.

Inputs

Searchsearchtext
Only include chains whose name or native token ticker contains this text.
Maximum resultslimitnumber
How many chains to return, at most 500. Leave empty for 25.From 1 to 500.

Outputs

chainslist
The matching chains, largest TVL first.
countnumber
How many rows this result holds.
matchednumber
How many rows matched the filters before the limit was applied.
total_trackednumber
How many chains DefiLlama tracks in total.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "chains": [
    {
      "chain_id": 1,
      "cmc_id": "1027",
      "gecko_id": "ethereum",
      "name": "Ethereum",
      "token_symbol": "ETH",
      "tvl_usd": 45834616243.93
    }
  ],
  "count": 1,
  "matched": 461,
  "total_tracked": 461,
  "truncated": true
}

List protocols

Search the 8,000+ DeFi protocols DefiLlama tracks by name, chain, category or minimum TVL, and rank them by TVL, by how much that TVL moved, or by market cap. This is also where you find a protocol's slug, which every other TVL action takes.

Inputs

Searchsearchtext
Only include protocols whose name, slug or ticker contains this text.
Chainchaintext
Only include protocols deployed on this chain.
Categorycategorytext
Only include protocols in this category, such as Lending or Dexs.
Minimum TVL (USD)min_tvl_usdnumber
Only include protocols holding at least this much. Most of the 8,000 hold almost nothing, so a floor is usually what makes the answer readable.At least 0.
Sort bysort_bytext
How to order the results. Leave empty to sort by TVL.One of: tvl_usd (TVL, largest first), change_1d (24-hour TVL change, biggest gain first), change_7d (7-day TVL change, biggest gain first), mcap_usd (Market cap, largest first), name (Name, A to Z).
Maximum resultslimitnumber
How many protocols to return, at most 500. Leave empty for 25.From 1 to 500.

Outputs

countnumber
How many rows this result holds.
matchednumber
How many rows matched the filters before the limit was applied.
protocolslist
The matching protocols, ordered by the chosen sort.
sorted_bytext
The field the results were ordered by.
total_trackednumber
How many protocols DefiLlama tracks in total.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "count": 1,
  "matched": 163,
  "protocols": [
    {
      "category": "Lending",
      "chains": [
        "Ethereum",
        "Arbitrum",
        "Base",
        "Polygon"
      ],
      "change_1d": 1.84,
      "change_1h": 0.11,
      "change_7d": -2.31,
      "description": "Aave is an Open Source Protocol to create Non-Custodial Liquidity Markets.",
      "logo": "https://icons.llamao.fi/icons/protocols/aave-v3",
      "mcap_usd": 2410000000.0,
      "name": "AAVE V3",
      "parent_protocol": "aave",
      "slug": "aave-v3",
      "symbol": "AAVE",
      "tvl_usd": 16006955395.42,
      "url": "https://aave.com"
    }
  ],
  "sorted_by": "tvl_usd",
  "total_tracked": 8088,
  "truncated": true
}

List stablecoin totals by chain

How much stablecoin value sits on each chain right now, largest first, where the dollars actually are, which is a different ranking from where the DeFi TVL is. Each chain's total is also split by the currency the stablecoins track.

Inputs

Searchsearchtext
Only include chains whose name contains this text.
Maximum resultslimitnumber
How many chains to return, at most 500. Leave empty for 25.From 1 to 500.

Outputs

chainslist
Every chain that carries stablecoins, largest total first.
countnumber
How many rows this result holds.
matchednumber
How many rows matched the filters before the limit was applied.
total_trackednumber
How many chains carry stablecoins.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "chains": [
    {
      "by_peg_type": {
        "peggedEUR": 556980887.57,
        "peggedUSD": 146808909061.62
      },
      "name": "Ethereum",
      "total_circulating_usd": 147603677125.45
    }
  ],
  "count": 1,
  "matched": 207,
  "total_tracked": 207,
  "truncated": true
}

List stablecoins

Every stablecoin DefiLlama tracks, with its circulating supply, its current price and how far that has drifted from the peg. Each row carries the 1-day, 7-day and 30-day change in supply, so you can see which are growing and which are being redeemed. Filter by the currency they track, how they are backed, or the chain they circulate on.

Inputs

Searchsearchtext
Only include stablecoins whose name or ticker contains this text.
Pegged topeg_typetext
Only include stablecoins tracking this currency.
Backed bypeg_mechanismtext
Only include stablecoins that hold their peg this way.One of: fiat-backed (Fiat-backed: reserves held off-chain), crypto-backed (Crypto-backed: over-collateralised on-chain), algorithmic (Algorithmic: held by protocol mechanics).
Chainchaintext
Only include stablecoins that circulate on this chain.
Include current pricesinclude_pricestrue/false
Return each stablecoin's price, which is what shows a depeg. On by default.Default: true.
Include supply per chaininclude_chain_breakdowntrue/false
Also return how much of each stablecoin sits on each chain. Off by default; it is several times the size of the rest of the row.Default: false.
Maximum resultslimitnumber
How many stablecoins to return, at most 500. Leave empty for 25.From 1 to 500.

Outputs

countnumber
How many rows this result holds.
matchednumber
How many rows matched the filters before the limit was applied.
stablecoinslist
The matching stablecoins, largest dollar supply first.
total_trackednumber
How many stablecoins DefiLlama tracks in total.
truncatedtrue/false
True when the limit held rows back.
Example output
{
  "count": 1,
  "matched": 141,
  "stablecoins": [
    {
      "chains": [
        "Tron",
        "Ethereum",
        "BSC",
        "Solana"
      ],
      "change_1d_percent": 0.01,
      "change_30d_percent": -0.61,
      "change_7d_percent": -0.04,
      "circulating": 182982723406.22,
      "circulating_prev_day": 182970489869.94,
      "circulating_prev_month": 184101766911.79,
      "circulating_prev_week": 183061314394.84,
      "circulating_usd": 182891232044.51,
      "gecko_id": "tether",
      "id": "1",
      "name": "Tether",
      "peg_mechanism": "fiat-backed",
      "peg_type": "peggedUSD",
      "price": 0.9995,
      "symbol": "USDT"
    }
  ],
  "total_tracked": 418,
  "truncated": true
}

On this page