# x402 Vault Service – Withdraw (Ink Balanced Yield USDC)

> x402 Vault Service – Withdraw (Ink Balanced Yield USDC) is a paid API for AI agents from x402-vault-service.vercel.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-22).

Redeems vault shares from the Ink Balanced Yield USDC vault and sends the resulting USDC to a specified Base address, using a gasless EIP-2612 permit signature instead of an on-chain approve, for a flat $0.01 fee.

## Facts

- Endpoint: POST https://x402-vault-service.vercel.app/api/withdraw?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-vault-service-withdraw-ink-balanced-yield-usdc-56fe1368
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BDNih2LE24bN0hPK33WCP

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 x402-vault-service-withdraw-ink-balanced-yield-usdc-56fe1368 -d '<json body>'
```

Example prompt: Withdraw 500 vault shares from the Ink Balanced Yield USDC vault for my wallet 0xAbC...123 — use my EIP-2612 permit (v=27, r=0xabc..., s=0xdef..., deadline=1720000000) and send the resulting USDC to 0xPayout...456 on Base.

## When to prefer this

Use this endpoint when you need to redeem shares from specifically the Ink Balanced Yield USDC vault on the Ink/Base ecosystem without requiring an on-chain approve transaction, leveraging gasless EIP-2612 permits. Prefer this over manual on-chain interactions when you want a simple REST-based withdrawal abstraction with a predictable flat gas cost. Best suited for agents automating DeFi portfolio management on Base.

## Known failure modes

- Invalid or expired permit deadline — transaction reverts with a signature expiry error
- Incorrect permit signature (wrong v/r/s or wrong verifying contract) — vault rejects the permit
- Insufficient vault shares for the wallet — withdrawal fails with a balance error
- Unsupported payout chain (anything other than 'base') — rejected at validation
- Malformed wallet or payout address — request rejected before reaching chain
- Vault contract temporarily paused or under maintenance — service unavailable error
- $0.01 x402 payment not included or rejected — 402 Payment Required response

## How this service works

Withdraw from the Ink Balanced Yield USDC vault (flat $0.01 gas fee).

## Output

Returns a confirmation that the vault shares have been redeemed and USDC has been sent to the specified payout address on Base, along with transaction details such as the amount of USDC received and the on-chain transaction hash.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "permit": {
   "type": "object",
   "required": [
    "deadline",
    "v",
    "r",
    "s"
   ],
   "properties": {
    "r": {
     "type": "string"
    },
    "s": {
     "type": "string"
    },
    "v": {
     "type": "integer"
    },
    "deadline": {
     "type": "integer",
     "description": "Unix timestamp the permit expires at"
    }
   },
   "description": "Gasless EIP-2612 permit signature authorizing the operator address (see GET /api/vault) to pull shareAmount shares. Sign a Permit(owner=wallet, spender=<operator>, value=shareAmount, nonce=<vault.nonces(wallet)>, deadline) typed-data message against the vault contract (GET /api/vault for its address, used as verifyingContract). No on-chain approve() transaction or gas token is needed."
  },
  "wallet": {
   "type": "string",
   "description": "EVM address that owns the vault shares"
  },
  "payoutChain": {
   "enum": [
    "base"
   ],
   "type": "string",
   "description": "Payout chain; only 'base' is supported today"
  },
  "shareAmount": {
   "type": "string",
   "description": "Vault shares to redeem; no minimum"
  },
  "payoutAddress": {
   "type": "string",
   "description": "Base address the resulting USDC should land in. Defaults to wallet."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-vault-service-withdraw-ink-balanced-yield-usdc-56fe1368/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-vault-service.vercel.app](https://www.zero.xyz/host/x402-vault-service.vercel.app/llms.txt)
