{"uid":"cap_LPPIbajoQxugjTQ-ZKCe5","slug":"mcp-yield-xyz-exit-unstake-transaction-builder-cca267c5","name":"mcp.yield.xyz Exit/Unstake Transaction Builder","description":"Build unsigned transactions to exit a DeFi yield position — unstake, withdraw from lending or vaults, or redeem RWAs — across 80+ networks. Supports instant and queued/cooldown redemption per protocol. Does NOT execute: the caller signs and broadcasts each tx. Check positions with yields_get_balances first.","url":"https://mcp.yield.xyz/x402/actions_exit","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"amount":{"type":"string","description":"Human-readable token amount to withdraw, e.g. \"0.5\" (never raw wei). Optional when useMaxAmount is true."},"address":{"type":"string","description":"Wallet address that owns the position"},"yieldId":{"type":"string","description":"Yield ID of the position to exit, e.g. \"ethereum-eth-lido-staking\""},"outputToken":{"type":"string","description":"Withdrawal token address, for yields that can pay out in more than one token. Required when the yield's exit schema lists outputToken as required. Use \"0x\" for the native token."},"useMaxAmount":{"type":"boolean","description":"Withdraw the full position balance; amount may be omitted."},"validatorAddress":{"type":"string","description":"Validator to undelegate from, for delegation-based staking yields"},"outputTokenNetwork":{"type":"string","description":"Network of the output token, for cross-chain withdrawals where the destination is not on the vault's own network."}}},"responseSchema":{"type":"json","example":{"id":"3f9d1e8b-2c4a-4b7e-8d5f-1a2b3c4d5e6f","type":"UNSTAKE","amount":"0.1","intent":"exit","status":"CREATED","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","yieldId":"ethereum-eth-lido-staking","transactions":[{"id":"8c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f","type":"UNSTAKE","title":"UNSTAKE Transaction","status":"CREATED","network":"ethereum","stepIndex":0,"unsignedTransaction":"{\"from\":\"0xd8dA…\",\"to\":\"0x889e…\",\"data\":\"0xd668…\"}"}],"executionPattern":"synchronous"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_FGpB5qqh-UiOmzqK6Z2Z5","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Constructs unsigned transactions to unstake or withdraw from a yield position, supporting instant or queued redemption depending on protocol.","exampleAgentPrompt":"Build me an unsigned unstake transaction on yield.xyz to withdraw 50 ETH from yield position yield-lido-eth using my wallet 0xABC...123 and validator 0xVAL...456.","exampleUseCases":[{"title":"Exit staking position before price dip","prompt":"I need to unstake my 100 USDC from the Aave lending protocol on Base right now. Create me an unsigned withdrawal transaction I can sign immediately with my wallet 0x742d35Cc6634C0532925a3b844Bc9e7595f...abc"},{"title":"Manage validator unstaking queue","prompt":"Can you build an unsigned transaction to queue my 32 ETH withdrawal from my Lido validator? I want to see what the queued redemption looks like before I sign off with my account 0x8a2E8e47dB5a7f...def"},{"title":"Rebalance yield across protocols","prompt":"Help me construct an unsigned exit transaction to withdraw 500 USDC from my position in Compound on mainnet so I can move it to a better yield opportunity. Use my wallet 0x3F5CE5FBFe3E9aFF42dDd...xyz"}],"resultDescription":"Returns an unsigned transaction object that the caller must sign and broadcast. Includes redemption type (instant or queued) based on the underlying protocol's withdrawal mechanism. Does not execute the transaction.","failureModes":["Invalid yieldId — yield position not found or unsupported protocol","Insufficient staked balance for the requested withdrawal amount","Invalid or malformed wallet address","Validator address not associated with the specified yield position","Protocol only supports queued redemption when instant is requested"],"whenToPreferThis":"Use this endpoint when you need to exit, unstake, or withdraw from an existing yield position and need a properly constructed unsigned transaction. Prefer over manual transaction construction when the underlying protocol has complex exit mechanics (e.g., queued vs. instant redemption). Pair with the sibling balance endpoint to check current positions before exiting.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-16T00:32:09.743Z","isFirstParty":false}