compare_yields
Compare supply yields for any asset across lending and staking protocols, ranked by APR with filters for chain, TVL, and risk score.
Instructions
READ-ONLY — return a ranked table of supply-side yield opportunities for a given asset across every integrated lending / staking protocol. v1 covers Aave V3 (5 EVM chains), Compound V3 (5 EVM chains, multi-market per chain), and Lido stETH (Ethereum only). Other protocols (Morpho Blue, MarginFi, Kamino, Marinade, Jito, EigenLayer, Solana native-stake) appear in the response's unavailable[] list with a coverage-gap reason — they need their wallet-less market readers split out from existing wallet-aware readers; tracked as follow-up work. Output per row: protocol, chain, market (free-form: 'cUSDCv3' for Compound, the asset symbol for Aave, 'stETH' for Lido), supplyApr (current, fractional 0.0481 = 4.81%), supplyApy (continuously-compounded), tvl (USD, may be null when the upstream doesn't expose it cheaply), riskScore (0-100 from get_protocol_risk_score, may be null), notes (pause flags, frozen reserves, etc.). Rows are sorted by supplyApr descending; null APR sinks. Filters: chains (default = all EVM mainnets + Solana); minTvlUsd (rows with tvl: null are NOT filtered — no data ≠ tiny market); riskCeiling (only show protocols at LEAST this safe; rows with riskScore: null are NOT filtered). Empty result returns emptyResultReason explaining whether nothing matched at all vs. everything filtered out. AGENT BEHAVIOR: this tool surfaces data; it does NOT pick. Surface the comparison verbatim. Do NOT pick a 'best' option for the user — they decide. The plan's positioning is explicit: 'Here are current supply rates' is right; 'I recommend depositing in X' is OUT.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Asset to compare supply yields for. 'stables' is a meta-asset that expands to USDC + USDT (the two stables every adapter knows). 'ETH' resolves to WETH on EVM lending markets (the wrapped form). 'BTC' resolves to WBTC on EVM. 'SOL' is native on Solana protocols. | |
| chains | No | Restrict to specific chains. Default: all integrated EVM chains + Solana. BTC / LTC have no integrated lending so they return empty — pass them only if you specifically want to confirm the empty result. | |
| minTvlUsd | No | Minimum supply-side TVL in USD; rows below the bar are filtered. Rows where TVL is unknown (the upstream didn't expose it) are NOT filtered — surfaced honestly with `tvl: null` so the agent can flag the gap. | |
| riskCeiling | No | Minimum protocol risk score (0-100; higher = safer per `get_protocol_risk_score`). Despite the name 'ceiling', the comparison is `score >= ceiling` — only show protocols at LEAST this safe. Rows where the score is unknown are NOT filtered (no data ≠ failed the bar). |