yield-strategies logo

yield-strategies

yield strategies

defillama/defillama-skills152installs13stars

SKILL.md

Full skill instructions

DeFi Yield Strategies

APY Convention

APY values are already percentages: apy = 2.32 means 2.32%.

Do NOT multiply by 100. This is the most common mistake when working with yield data.

Tool: defillama:get_yield_pools

Filtering Guide

WantParameterExample
Pools with specific tokentoken"coingecko:ethereum"
Pools on specific chainchain"ethereum"
Pools from specific protocolprotocol"aave"
Pools from protocol categorycategory"Lending", "DEXes"
Only stablecoin poolsstablecoin_onlytrue
Minimum APY thresholdmin_apy5 (= 5%)
Minimum TVLmin_tvl1000000 (= $1M)
Include borrow-side datainclude_borrowtrue

Key Distinction

  • "ETH pools" = token filter: token: "coingecko:ethereum"
  • "Pools on Ethereum" = chain filter: chain: "ethereum"

Token Family Matching

The token param expects canonical token keys (e.g., coingecko:ethereum) and uses dim.pool_set() for family resolution. coingecko:ethereum finds pools containing ETH, wETH, stETH, cbETH, and all other variants in the ETH family -- not just native ETH.

Sort Options

sort_by accepts strings like: "apy desc", "tvl desc", "apy_base desc", "apy_reward desc"

Returned Columns

Each result includes: symbol, protocol (sub-protocol slug), parent_protocol, category, chain, apy, apy_base, apy_reward, apy_base_borrow, apy_reward_borrow, tvl, total_supply, total_borrow

Historical Data & Volatility

  • Use period param (7d, 30d, 90d, 180d, 365d) for daily APY/TVL time-series history
  • Use include_volatility: true to add APY volatility stats (apy_avg_30d, apy_median_30d, apy_std_30d, cv_30d) — current queries only
  • Use start_date / end_date for custom date ranges (overrides period)

Borrowing Costs

For lending protocols, borrowing rate data is available:

  • apy_base_borrow: Base borrowing cost (what you pay)
  • apy_reward_borrow: Reward offset on borrowing (incentives you earn)
  • Net borrow cost = apy_base_borrow - apy_reward_borrow

Use include_borrow: true to ensure borrow columns are populated.

Capacity Assessment

When allocating capital, check pool TVL. Allocating more than 10% of a pool's TVL may cause significant rate impact or slippage. Larger pools absorb capital more easily.

Examples

Example 1: User: "Best stablecoin lending yields" Tool call: defillama:get_yield_pools(stablecoin_only: true, category: "Lending", sort_by: "apy desc")

Example 2: User: "Top ETH yield pools with over $1M TVL" Tool call: defillama:get_yield_pools(token: "coingecko:ethereum", min_tvl: 1000000, sort_by: "apy desc")

Example 3: User: "Cheapest borrowing rates for stablecoins on Arbitrum" Tool call: defillama:get_yield_pools(stablecoin_only: true, chain: "arbitrum", category: "Lending", include_borrow: true, sort_by: "apy_base_borrow asc")

Example 4: User: "Where can I earn yield on USDC?" Tool call: defillama:get_yield_pools(token: "coingecko:usd-coin", sort_by: "apy desc", min_tvl: 100000)

Example 5: User: "Aave yields on Ethereum" Tool call: defillama:get_yield_pools(protocol: "aave", chain: "ethereum", sort_by: "apy desc")