Liveness and capability check for yieldhunter (yieldhunter.eth).
Returns service status, schemaVersion, scoringVersion, feature flags, and the list of available tools.
Use this first to verify connectivity. If yields+pegs vintage is missing or at/over YH_STALE_DEGRADE_SECONDS (default 2h), health may refresh DefiLlama market caches once (same adapters as list_yields; not a list_yields tool call). Kill switch on: health still answers, refresh skipped. Research estimates only — non-custodial; never holds keys or executes transactions.
Copy-paste path starts here, then list_yields.
Example input: {}
無需輸入參數。
list_yields
List risk-adjusted yields
Rank stablecoin yield opportunities on Ethereum, Base, and Arbitrum using multi-factor **risk-adjusted** scoring (not raw APY). chains/chainIds: those three only (aliases eth/ETH/Ethereum, arb/ARB, BASE) — any unsupported or blank value (solana, optimism, "") is VALIDATION_ERROR, not a silent default-universe fallback. sourceChainKey: same keys/aliases; blank or unknown keys are VALIDATION_ERROR (bridge cost is not estimated).
Default ranking is risk-adjusted score, not highest APY. For headline yield order, use sortBy=net_apy.
Default is risk-adjusted ranking with balanced weights. Optional params are policy controls for visiting agents.
Default when omitted: sortBy=risk_adjusted, sortOrder=desc, riskAppetite=balanced (v1.1 weights), no minScore, no category filter, diversity=soft (max 2 markets per protocol in presented top-k). Primary composite key: compositeRiskAdjusted (protocol risk, depeg/counterparty, liquidity, yield quality base vs incentive, net yield after gas/bridge). Opportunities may include stability signals: apyChange24h is pool-level DefiLlama apyPct1D when present as a number (including 0 = observed flat change); null/missing means unknown/not provided for that pool (e.g. some Pendle markets) — not the same as 0, never invent 0; tvlChange24hPct is protocol-level DefiLlama change_1d (shared across markets of the same protocol — not this pool's TVL flow; missing stays null); large APY jumps warn only. Also exitRisk/exitRiskReason (size-vs-pool liquidity heuristic only: pool TVL vs notionalUsd + liquidity confidence — not on-chain withdraw, not queue/cap/pause/lockup, not transfer whitelist/eligibility/redemption, not an execution gate; unknown ≠ safe; medium often means liquidity confidence medium, not “small pool”; low is strict; when knownIssues mention transfer/eligibility do not treat low as free exit; soft warnings on high/unknown, plus low/medium if those issues are present; does not change default risk-adjusted ranking).
Optional policy k
輸入參數limitassetschainssortBychainIdsminScorediversityminTvlUsdprotocolssortOrdercategorieshorizonDays另有 6 個
score_opportunity
Score opportunity
Compute the full multi-factor risk-adjusted score for a single opportunity from list_yields.
Chain: pass list_yields opportunities[].id as poolId, opportunityId, or id (same DefiLlama pool UUID; id is the canonical list field).
Returns APY breakdown (base/reward/total), factor scores with rationales, net yield after gas/bridge, exitRisk heuristic (TVL vs notional + liq conf only; medium ≠ small pool; not queues/caps/transfer whitelist/eligibility/on-chain withdraw; do not treat low as free exit when knownIssues mention transfer/eligibility), warnings, and sources. sourceChainKey is ethereum|base|arbitrum only — unknown keys (foo, solana) are VALIDATION_ERROR; no invented bridge fee.
Research estimates only — non-custodial.
Example (any one id field):
{ "id": "43641cf5-a92e-416b-bce9-27113d3c0db6", "horizonDays": 30, "notionalUsd": 10000 }
Also accepts poolId or opportunityId with the same value.
輸入參數idpoolIdhorizonDaysnotionalUsdopportunityIdsourceChainKey
compare_opportunities
Compare opportunities
Side-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 (including protocolSlug for get_protocol_risk), 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
}
輸入參數poolIdshorizonDaysnotionalUsdopportunityIdssourceChainKey
explain_score
Explain score
Agent-readable explanation of why an opportunity received its risk-adjusted score.
Chain: pass list_yields opportunities[].id as poolId, opportunityId, or id (aliases for the same key).
Returns a summary paragraph, factor bullets with weighted contributions, net-yield notes, an exitRisk heuristic line (liquidity-only — not on-chain withdraw or transfer/eligibility; medium often confidence-driven, not pool size; extra bullet when knownIssues note transfer restrictions), plus id and protocolSlug (same as list_yields; pass protocolSlug to get_protocol_risk). sourceChainKey is ethereum|base|arbitrum only (unknown → VALIDATION_ERROR; no invented bridge fee). Prefer this when you need to justify a ranking to a human or another agent.
Research only — non-custodial.
Example:
{ "opportunityId": "43641cf5-a92e-416b-bce9-27113d3c0db6", "horizonDays": 30 }
Also accepts poolId or id with the same value.
輸入參數idpoolIdhorizonDaysnotionalUsdopportunityIdsourceChainKey
get_protocol_risk
Get protocol risk
Protocol-level risk card (age, audit signals, curated known issues, category, score 0–100).
Chain: pass list_yields opportunities[].protocolSlug as protocol or protocolSlug. Display names also resolve case- and space-insensitively via DefiLlama protocol metadata (e.g. "Compound V3" → compound-v3, "Curve" → curve-dex, "Euler V2" → euler-v2).
Unknown names return NOT_FOUND naming the field, with example {"protocolSlug":"aave-v3"} and up to 3 closest slugs.
Higher score = lower protocol risk. Uses curated priors plus DefiLlama metadata when available.
Research only — non-custodial.
Example:
{
"protocol": "aave-v3"
}
Also accepts protocolSlug or a display name such as "Compound V3".
輸入參數protocolprotocolSlug