# mcp.yield.xyz Exit/Unstake Transaction Builder

> mcp.yield.xyz Exit/Unstake Transaction Builder is a paid API for AI agents from mcp.yield.xyz, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-16).

Constructs unsigned transactions to unstake or withdraw from a yield position, supporting instant or queued redemption depending on protocol.

## Facts

- Endpoint: POST https://mcp.yield.xyz/x402/actions_exit
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mcp-yield-xyz-exit-unstake-transaction-builder-cca267c5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LPPIbajoQxugjTQ-ZKCe5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability mcp-yield-xyz-exit-unstake-transaction-builder-cca267c5 -d '<json body>'
```

Example prompt: 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.

## When to prefer this

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.

## Known failure modes

- 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

## How this service works

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.

## Output

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.

## Request schema (JSON Schema)

```json
{
 "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."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "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"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mcp-yield-xyz-exit-unstake-transaction-builder-cca267c5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mcp.yield.xyz](https://www.zero.xyz/host/mcp.yield.xyz/llms.txt)
