DeFi Market Analysis
Valuation Ratios
Pre-computed in defillama:getprotocolmetrics and defillama:getcategorymetrics:
ps_ratio = mcap / annualised revenue. Lower = potentially undervalued relative to revenue.
pf_ratio = mcap / annualised fees. Lower = more fee-efficient valuation.
Growth Screening
Use *pctchange columns for momentum analysis. Values are decimals (0.35 = +35%, -0.13 = -13%).
Available windows: 7dpctchange, 30dpctchange, *90dpct_change
Metrics with pctchange: tvlbase, fees1d, revenue1d, price, volumedexs1d
Sort by any pct_change column to find fastest movers.
Protocol Comparison
Use array params for side-by-side comparison in a single call:
defillama:get_protocol_metrics(
protocol: ["aave", "compound-v3", "morpho"],
metrics: ["tvl_base", "fees_1d", "revenue_1d", "ps_ratio"]
)
This returns one row per protocol, which is more efficient than calling once per protocol.
Category Comparison
Use defillama:getcategorymetrics to compare DeFi sectors:
defillama:get_category_metrics(
category: "Lending",
metrics: ["tvl_base", "fees_1d", "protocol_count"]
)
Call once per category in parallel for side-by-side comparison.
Token Sector Screening
Use defillama:gettokenprices for token-level analysis:
defillama:get_token_prices(token: "coingecko:ethereum", period: "30d")
Historical Trends
Use period for trend analysis:
- Short-term:
7d or 30d
- Medium-term:
90d or 180d
- Long-term:
365d
- Custom range:
startdate / enddate (YYYY-MM-DD) overrides period
Historical queries return daily data points with a date column.
Cross-Entity Analysis
Compare across entity types using parallel tool calls:
- "ETH price vs Ethereum TVL" ->
defillama:gettokenprices + defillama:getchainmetrics
- "Aave TVL vs AAVE token price" ->
defillama:getprotocolmetrics + defillama:gettokenprices
- "Lending vs DEX category" -> two
defillama:getcategorymetrics calls in parallel
Examples
Example 1: User: "Most undervalued DeFi protocols by P/S ratio" Tool call: defillama:getprotocolmetrics(sortby: "psratio asc", limit: 20, metrics: ["tvlbase", "revenue1d", "ps_ratio", "mcap"])
Example 2: User: "Which protocols grew TVL most in last 30 days?" Tool call: defillama:getprotocolmetrics(sortby: "tvlbase30dpctchange desc", limit: 10, metrics: ["tvlbase", "tvlbase30dpctchange"])
Example 3: User: "Compare Aave and Compound fees" Tool call: defillama:getprotocolmetrics(protocol: ["aave", "compound-v3"], metrics: ["tvlbase", "fees1d", "revenue_1d"])
Example 4: User: "Compare Lending vs DEX fees and TVL" Tool call: defillama:getcategorymetrics(category: ["Lending", "DEX"], metrics: ["tvlbase", "fees1d", "revenue_1d"])
Example 5: User: "Aave TVL trend over 90 days" Tool call: defillama:getprotocolmetrics(protocol: "aave", metrics: ["tvl_base"], period: "90d")
Example 6: User: "Aave fees in Q1 2025" Tool call: defillama:getprotocolmetrics(protocol: "aave", metrics: ["fees1d"], startdate: "2025-01-01", end_date: "2025-03-31")