mcpField
Y
yield-strategies

yield-strategies

github.com/defillamaData & databases36425 installsUpdated 31w ago
Repository

About yield-strategies

yield-strategies is a reference skill for querying DeFi yield pools with defillama:get_yield_pools. It helps users compare yields, borrowing costs, pool capacity, and historical volatility while interpreting APY values correctly.

Key features

  1. 01Filter by token, chain, protocol, or category
  2. 02Sort pools by APY and TVL
  3. 03Query historical APY and TVL
  4. 04Review volatility and borrowing costs
  5. 05Assess pool capacity using TVL

Use cases

  1. 01Find stablecoin lending yields
  2. 02Compare ETH-family pools above a TVL threshold
  3. 03Check borrowing costs on a chain
  4. 04Review yield history and volatility

MCP support

The skill documents the defillama:get_yield_pools tool and its parameters for MCP-based queries.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/defillama/defillama-skills --skill yield-strategies

After installing, type/yield-strategiesin Claude Code to confirm it loaded.

Details

From the project README

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")

Comments

Markdown supported