Yield.xyz AgentKit
by Yield.xyzlivevariesMCP server for onchain yield discovery — find, enter, rebalance, and monitor 3,300+ yield opportunities across 80+ blockchain networks (DeFi lending, staking, liquid staking, vaults, tokenized RWAs including US Treasuries and money-market funds), paid per call in USDC via x402.
TOOLS · 22
#TOOLDESCRIPTIONPRICE/CALL
01yields_get_allprobedDiscover yield opportunities across all supported networks and protocols. Use this to find yield IDs before calling yields_get, actions_enter, or any balance/validator tools. Filter by network, token symbol, or type to narrow results. For RWA yields (types ["real_world_asset"]) each item also includfree
02yields_getprobedGet full metadata for a single yield opportunity: fees, lock-up and cooldown periods, reward mechanics, and whether entry/exit is currently open. Show this to the user before they commit to entering a position.varies
03yields_get_validatorsprobedList validators for delegation-based yields such as Cosmos native staking or ETH native staking. Use the validator address when calling actions_enter or actions_exit. Filter by preferred=true to show only curated validators.varies
04yields_get_balancesprobedGet current balances and pending actions for a wallet address across one or more yields. Always call this before actions_exit or actions_manage — the passthrough value required by those tools comes from balances[].pendingActions[].passthrough.varies
05actions_enterprobedConstruct unsigned transactions to stake or deposit into a yield. Does NOT execute — the user must sign each transaction exactly as returned (never modify unsignedTransaction). Amounts are human-readable strings ("1.5" = 1.5 tokens, not wei). Submit transactions in stepIndex order; for the synchronovaries
06actions_exitprobedConstruct unsigned transactions to unstake or withdraw from a yield. Does NOT execute — the user must sign each transaction exactly as returned (never modify unsignedTransaction). Amounts are human-readable strings ("1.5" = 1.5 tokens, not wei). Submit transactions in stepIndex order. Call yields_gevaries
07actions_manageprobedConstruct unsigned transactions for a pending action such as claiming rewards, restaking, or unlocking funds. Does NOT execute — the user must sign. The action type and passthrough must come from yields_get_balances balances[].pendingActions[] — do not guess these values.varies
08submit_hashprobedSubmit the on-chain transaction hash after the user has signed and broadcasted a transaction. This updates the transaction status internally and enables tracking. Call this once per transaction, using the transactionId and hash from the broadcast result.varies
09get_transactionprobedPoll the status of a single transaction by its ID. Use after submit_hash to confirm on-chain success. status is one of: NOT_FOUND, CREATED, BLOCKED, WAITING_FOR_SIGNATURE, SIGNED, BROADCASTED, PENDING, CONFIRMED, FAILED, SKIPPED. Terminal states: CONFIRMED, FAILED, SKIPPED.varies
10actions_getprobedGet the current status and transactions of a specific action by its ID. Use this to check whether an action is CREATED, PROCESSING, SUCCESS, or FAILED. Essential for async execution patterns and semi-autonomous Privy flows where approval may take time.varies
11actions_get_allprobedList past and pending actions for a wallet address. Filter by status, intent, type, or yieldId. Use this to answer "show me my pending actions", "what did I do recently?", or to find actions waiting for approval.free
12networks_get_allprobedDiscover all supported networks with their IDs, names, and categories. Use this to get valid network slugs before calling yields_get_all, yields_get_balances, or any other tool that requires a network parameter.free
13yields_get_reward_rate_historyprobedGet historical APY/reward rate snapshots for a yield over time. Use this to answer "has this yield's APY been stable?" or to chart APY trends. Defaults to last 30 days, daily interval.varies
14yields_get_tvl_historyprobedGet historical Total Value Locked snapshots for a yield. Use this to assess protocol health — a declining TVL is a warning sign. Defaults to last 30 days, daily interval.varies
15yields_get_riskprobedGet detailed risk parameters for a yield. More granular than the risk field in yields_get — returns individual risk items by category (e.g. smart contract, liquidity, counterparty). Use this when the user asks about protocol safety or risk.varies
16providers_get_allprobedDiscover all supported protocols and validator providers (e.g. Lido, Aave, Morpho). Returns name, id, description, website, TVL, and type. Use this to answer "what protocols does Yield.xyz support?" or to get valid provider IDs for yields_get_all filters.free
17yields_get_kyc_statusprobedGet the normalized KYC status of a wallet address for a yield. Use this before actions_enter on yields that gate deposits behind KYC (e.g. RWAs like Securitize/Superstate). Yields without a KYC requirement return "not_required". When the status is "not_started" or "pending", the response may includevaries
18yield_get_api_specprobed🔧 BUILDER TOOL — fetches the live Yield.xyz OpenAPI spec (https://api.yield.xyz/docs.json). Use when you need: exact request body schemas, field constraints (min/max/enum), error response shapes, or operationIds for any endpoint. Accepts an optional `endpoint` filter (e.g. "/v1/actions/enter", "/v1free
19yield_lookup_docsprobed🔧 BUILDER TOOL — use when developing an integration, NOT for end-user actions or live data. Searches the live Yield.xyz documentation index (llms.txt) in real time and returns the most relevant page links with title, section, and description. Pick the one or two most relevant results and read them free
20yield_fetch_docprobed🔧 BUILDER TOOL — fetches the full markdown content of any Yield.xyz documentation page. Use after yield_lookup_docs returns a URL. Returns authoritative spec with exact field names, types, and examples. Only accepts docs.yield.xyz URLs. Do NOT use this for live API calls or user transactions.varies
21yield_troubleshoot_errorprobedDiagnoses API errors, HTTP status codes, or unexpected responses from the Yield.xyz API. Use when developer says: "I'm getting a 422", "400 error", "rate limited", "transaction failed", "FAILED status", "why did this fail", or any error code or message from the API. For unrecognized errors, automatifree
22yield_list_reposprobed🔧 BUILDER TOOL — public Yield.xyz GitHub repos to use as a code reference for integrations. Use this when you are stuck on an integration and the other docs tools (yield_lookup_docs, yield_fetch_doc, yield_get_api_spec, chain/transaction guides) do not give you enough to finish — then read the actufree
Prices set by the provider and charged per successful call.
CONNECT
# Inspect the unpaid MCP/x402 requirement with a valid initialize request.
curl -i --request POST 'https://mcp.yield.xyz/mcp' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"toll402-check","version":"1.0.0"}}}'Keep EVM_PRIVATE_KEY server-side and use a narrowly funded wallet.official MCP + x402 guide ↗