Policy check on a described yield position. Complement to yieldhunter. Research only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Evaluate a described stablecoin yield position against a research policy (pull). Always pass your policy rules (or a preset). Without a policy, no meaningful check is possible — the verdict will be review/unknown, never ok. Pass a yieldhunter opportunity id (poolId / opportunityId / id) or protocolSlug. Required for a real check: policyPreset (treasury-conservative | balanced-research | rwa-selective) and/or minScore / maxRewardShare / excludeCategories / maxExitRisk / requireCurated. Presets: treasury-conservative | balanced-research | rwa-selective. rwa-selective does not exclude RWA but is not a free pass (YS policy allowlist + higher bar). requireCurated uses the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Scoring ≠ policy approval. Fetches live yieldhunter research (score, APY, TVL, category, rewardShare, exitRisk) and curated flags, then returns a PolicyVerdict plus A2H (summary, suggestedNextSteps, legend). Incomplete or missing data is review/unknown — never a silent ok. A verdict is not an exit signal or execution order. Research only — never holds keys. Example: { "poolId": "43641cf5-a92e-416b-bce9-27113d3c0db6", "policyPreset": "treasury-conservative", "notionalUsd": 10000 }
Same as yieldhunter opportunities[].id.
Stablecoin symbol, e.g. "USDC".
ethereum | base | arbitrum
yieldhunter opportunities[].id (DefiLlama pool UUID). Example: "43641cf5-a92e-416b-bce9-27113d3c0db6"
Minimum compositeRiskAdjusted (0–100).
Minimum net APY estimate.
Minimum pool TVL in USD.
Holding horizon in days for net-yield context (default 30).
Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review.
Research notional in USD (size hint only). Example: 10000
Policy preset: "treasury-conservative" | "balanced-research" | "rwa-selective". treasury-conservative excludes RWA; rwa-selective allows RWA but is not a free pass (YS policy allowlist + higher bar).
Protocol slug, e.g. "aave-v3".
conservative | balanced | aggressive (research posture only).
Alias for poolId / id.
Maximum incentive share of gross APY (0–1).
If true, the protocol/pool must be on the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Missing allowlist entry → review. Scoring ≠ policy approval.
Minimum yieldhunter protocol risk score (0–100, higher = safer).
Exclude categories, e.g. ["rwa"].
Evaluate a described stablecoin yield position against a research policy (pull). Always pass your policy rules (or a preset). Without a policy, no meaningful check is possible — the verdict will be review/unknown, never ok. Pass a yieldhunter opportunity id (poolId / opportunityId / id) or protocolSlug. Required for a real check: policyPreset (treasury-conservative | balanced-research | rwa-selective) and/or minScore / maxRewardShare / excludeCategories / maxExitRisk / requireCurated. Presets: treasury-conservative | balanced-research | rwa-selective. rwa-selective does not exclude RWA but is not a free pass (YS policy allowlist + higher bar). requireCurated uses the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Scoring ≠ policy approval. Fetches live yieldhunter research (score, APY, TVL, category, rewardShare, exitRisk) and curated flags, then returns a PolicyVerdict plus A2H (summary, suggestedNextSteps, legend). Incomplete or missing data is review/unknown — never a silent ok. A verdict is not an exit signal or execution order. Research only — never holds keys. Example: { "poolId": "43641cf5-a92e-416b-bce9-27113d3c0db6", "policyPreset": "treasury-conservative", "notionalUsd": 10000 }
| Argument | Type | Description |
|---|---|---|
| id | any | Same as yieldhunter opportunities[].id. |
| asset | any | Stablecoin symbol, e.g. "USDC". |
| chain | any | ethereum | base | arbitrum |
| poolId | any | yieldhunter opportunities[].id (DefiLlama pool UUID). Example: "43641cf5-a92e-416b-bce9-27113d3c0db6" |
| minScore | any | Minimum compositeRiskAdjusted (0–100). |
| minNetApy | any | Minimum net APY estimate. |
| minTvlUsd | any | Minimum pool TVL in USD. |
| horizonDays | any | Holding horizon in days for net-yield context (default 30). |
| maxExitRisk | any | Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review. |
| notionalUsd | any | Research notional in USD (size hint only). Example: 10000 |
| policyPreset | any | Policy preset: "treasury-conservative" | "balanced-research" | "rwa-selective". treasury-conservative excludes RWA; rwa-selective allows RWA but is not a free pass (YS policy allowlist + higher bar). |
| protocolSlug | any | Protocol slug, e.g. "aave-v3". |
| riskAppetite | any | conservative | balanced | aggressive (research posture only). |
| opportunityId | any | Alias for poolId / id. |
| maxRewardShare | any | Maximum incentive share of gross APY (0–1). |
| requireCurated | any | If true, the protocol/pool must be on the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Missing allowlist entry → review. Scoring ≠ policy approval. |
| minProtocolScore | any | Minimum yieldhunter protocol risk score (0–100, higher = safer). |
| excludeCategories | any | Exclude categories, e.g. ["rwa"]. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "Same as yieldhunter opportunities[].id."
},
"asset": {
"description": "Stablecoin symbol, e.g. \"USDC\"."
},
"chain": {
"description": "ethereum | base | arbitrum"
},
"poolId": {
"description": "yieldhunter opportunities[].id (DefiLlama pool UUID). Example: \"43641cf5-a92e-416b-bce9-27113d3c0db6\""
},
"minScore": {
"description": "Minimum compositeRiskAdjusted (0–100)."
},
"minNetApy": {
"description": "Minimum net APY estimate."
},
"minTvlUsd": {
"description": "Minimum pool TVL in USD."
},
"horizonDays": {
"description": "Holding horizon in days for net-yield context (default 30)."
},
"maxExitRisk": {
"description": "Cap on yieldhunter exitRisk heuristic: low | medium | high. Unknown or above the cap → review."
},
"notionalUsd": {
"description": "Research notional in USD (size hint only). Example: 10000"
},
"policyPreset": {
"description": "Policy preset: \"treasury-conservative\" | \"balanced-research\" | \"rwa-selective\". treasury-conservative excludes RWA; rwa-selective allows RWA but is not a free pass (YS policy allowlist + higher bar)."
},
"protocolSlug": {
"description": "Protocol slug, e.g. \"aave-v3\"."
},
"riskAppetite": {
"description": "conservative | balanced | aggressive (research posture only)."
},
"opportunityId": {
"description": "Alias for poolId / id."
},
"maxRewardShare": {
"description": "Maximum incentive share of gross APY (0–1)."
},
"requireCurated": {
"description": "If true, the protocol/pool must be on the Yieldsentinel policy allowlist (curated.json), not yieldhunter scoring priors. Missing allowlist entry → review. Scoring ≠ policy approval."
},
"minProtocolScore": {
"description": "Minimum yieldhunter protocol risk score (0–100, higher = safer)."
},
"excludeCategories": {
"description": "Exclude categories, e.g. [\"rwa\"]."
}
},
"additionalProperties": true
}Liveness and capability check for yieldsentinel (yieldsentinel.eth). Returns service status, schemaVersion, policyVersion, feature flags, and the list of available tools. May refresh research vintage via a yieldhunter health ping; a verdict still requires check_position. YH healthy ≠ YS ok. Use this first to verify connectivity, then call check_position with policyPreset treasury-conservative | balanced-research | rwa-selective (or explicit thresholds). Research estimates only — non-custodial; never holds keys or executes transactions. Example input: {}
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": true
}