Non-custodial execution
actions_enter, actions_exit, and actions_manage build unsigned transactions; they never sign or broadcast. No tool on the MCP server accepts a private key, seed phrase, or wallet credential; signing happens entirely in your own wallet or signer, outside the API.
Validate before you build
Don’t hardcode a yield’s arguments from memory or from another yield; schemas differ per protocol and per chain.- Call
yields_getbeforeactions_enteroractions_exit. Readmechanics.arguments.enter/.exit: each field lists itsname,type, whether it’srequired, staticoptionsor a dynamicoptionsRef(fetch it; e.g. callyields_get_validatorsfor a validator field), and anyminimum/maximum. Also readmechanics.entryLimitsandrequiresValidatorSelectionbefore entering. - Call
yields_get_balancesbeforeactions_manage. Theactiontype andpassthroughvalue must come from that response’spendingActions[]; never construct or guess apassthrough. - Call
yields_get_kyc_statusbeforeactions_enteron a yield whosemechanics.requirements.kycRequiredistrue. If the status isn’t approved, route the wallet to the returnedauthorizeUrlinstead of attempting the deposit.
Amounts, types, and arguments
Tool calls fail validation if these don’t match exactly:Transaction order and confirmation
Every action returns transactions instepIndex order. Sign and broadcast them in that order; never in parallel, never reordered.
Call submit_hash exactly once per transaction, with the transactionId and the on-chain hash from your own broadcast; this is what lets get_transaction and actions_get track it through to CONFIRMED, FAILED, or SKIPPED. When an HTTP status doesn’t match what you expected, check it against the live spec with yield_troubleshoot_error or yield_get_api_spec before assuming it’s a bug.
Keys and spend
Authenticate with your own API key via thex-api-key header (or ?api_key= on the MCP POST endpoint) rather than relying on the shared default; a key you supply is billed to your account and bypasses free-tier metering, so track it like any other credential and never hardcode it in generated code.
The four wallet tools (yields_get_balances, actions_enter, actions_exit, actions_manage) are metered per wallet address and can require an x402 micropayment once the free tier is used. An agent that retries automatically should back off on failure rather than resubmitting the same call in a loop; each accepted call is billed once. See MCP server for limits and pricing.
Next steps
Actions
How enter, exit, and manage actions work.
MCP tool reference
Every tool’s exact inputs and the transaction format.
Rate limits
API-level rate limits by plan tier.
Yield API reference
The REST API behind every tool.

