Compare opportunities
compare_opportunitiesSide-by-side comparison of 2–5 opportunities by risk-adjusted score.
Pass list_yields opportunities[].id values as poolIds or opportunityIds.
Returns ranked list, compact comparison table fields, winnerId, and rationale bullets (including when raw APY leader differs from risk-adjusted winner). sourceChainKey is ethereum|base|arbitrum only (unknown → VALIDATION_ERROR; no invented bridge fee).
Research only — non-custodial.
Example: { "poolIds": ["pool-id-a", "pool-id-b", "pool-id-c"], "horizonDays": 30 }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| poolIds | No | 2–5 list_yields opportunities[].id values. Example: ["id-a","id-b"]. Alias: opportunityIds. | |
| horizonDays | No | Holding horizon in days for gas/bridge amortization (default 30). Example: 30 | |
| notionalUsd | No | Notional USD size for net-yield cost amortization and exitRisk TVL multiples (default 10000). Example: 10000 | |
| opportunityIds | No | Alias for poolIds — same list_yields opportunities[].id values. | |
| sourceChainKey | No | Agent's current chain for bridge cost estimate: ethereum | base | arbitrum (aliases: eth, ETH, Ethereum, arb, ARB, BASE). Blank/whitespace is VALIDATION_ERROR (omit the field to default). Unknown keys (solana, foo) return VALIDATION_ERROR — no invented bridge fee. |