{"slug":"mcp-yield-xyz-x402-actions-exit-37ce35","title":"Build unsigned transactions to exit a DeFi yield position — unstake, withdraw fr","host":"mcp.yield.xyz","method":"POST","resource":"https://mcp.yield.xyz/x402/actions_exit","category":"code","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_balance","price_listed":0.001,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:196","eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","amount":"0.1","yieldId":"ethereum-eth-lido-staking"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"properties":{"address":{"description":"Wallet address that owns the position","type":"string"},"amount":{"description":"Human-readable token amount to withdraw, e.g. \"0.5\" (never raw wei). Optional when useMaxAmount is true.","type":"string"},"outputToken":{"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.","type":"string"},"outputTokenNetwork":{"description":"Network of the output token, for cross-chain withdrawals where the destination is not on the vault's own network.","type":"string"},"useMaxAmount":{"description":"Withdraw the full position balance; amount may be omitted.","type":"boolean"},"validatorAddress":{"description":"Validator to undelegate from, for delegation-based staking yields","type":"string"},"yieldId":{"description":"Yield ID of the position to exit, e.g. \"ethereum-eth-lido-staking\"","type":"string"}},"required":["yieldId","address"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"description":"Core fields shown; responses may carry additional yield-specific fields depending on the protocol (this schema is intentionally non-exhaustive).","properties":{"address":{"type":"string"},"amount":{"type":["string","null"]},"createdAt":{"type":"string"},"executionPattern":{"enum":["synchronous","asynchronous","batch"],"type":"string"},"id":{"description":"Action ID — poll status later with actions_get","type":"string"},"intent":{"description":"\"enter\", \"exit\", or \"manage\"","type":"string"},"status":{"description":"\"CREATED\" on success; poll until SUCCESS/FAILED","type":"string"},"transactions":{"description":"Sign and broadcast each transaction in stepIndex order, then report each hash via submit_hash. NEVER modify unsignedTransaction.","items":{"properties":{"gasEstimate":{"type":"string"},"id":{"type":"string"},"isMessage":{"description":"When true, sign as a message instead of a transaction","type":"boolean"},"network":{"type":"string"},"status":{"type":"string"},"stepIndex":{"type":"integer"},"title":{"type":"string"},"type":{"description":"e.g. \"APPROVAL\", \"SUPPLY\", \"STAKE\"","type":"string"},"unsignedTransaction":{"description":"Raw transaction to sign — a JSON string on EVM chains, an object on non-EVM chains. Never modify it."}},"type":"object"},"type":"array"},"type":{"description":"Action type, e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\"","type":"string"},"yieldId":{"type":"string"}},"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"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.","last_updated":"2026-09-08T17:18:24.1Z","schemes":["exact"]}