{"service":"vlt-usdc-zap-withdraw","name":"vltUSDC Vault USDC-Only Exit Builder","price":"free","description":"FREE — Returns 3 unsigned Ethereum transactions that convert vltUSDC shares entirely to USDC. Step 1: vault.redeem(shares, recipient) — burns shares, sends VLT + USDC to recipient. Step 2: VLT.approve(uniswapV2Router, vltAmount) — grants V2 Router permission to spend VLT. Step 3: v2Router.swapExactTokensForTokens([VLT, WETH, USDC], recipient) — two-hop V2 swap. VLT and USDC amounts in Step 1 are from vault.previewRedeem (exact on-chain, no approximation). Swap slippage floor (minAmountOut) is computed from live V2 getReserves with 2% slippage and encoded on-chain. Fails closed if any on-chain data is unavailable.","exitModes":{"standard":{"service":"POST /x402/vlt-usdc-withdraw","returns":"VLT + USDC (pro-rata in-kind, no swap)","steps":1,"slippage":"none — on-chain no slippage params","bestFor":"agents that want VLT, or minimal transaction count"},"usdcOnly":{"service":"POST /x402/vlt-usdc-zap-withdraw","returns":"USDC only — VLT is swapped to USDC via Uniswap V2","steps":3,"slippage":"2% on V2 swap output (minAmountOut encoded on-chain)","bestFor":"agents that only want USDC back; counterpart to vlt-usdc-deposit usdcOnly:true"}},"method":"POST","body":{"shares":"string — raw 18-decimal vltUSDC share amount (e.g. \"1790439768343002\" for 0.00179 shares)","recipient":"string — Ethereum address to receive all USDC (lowercase accepted, auto-normalized)"},"route":"Step 1: vltUSDC → vault.redeem → VLT + USDC | Step 3: VLT –[V2 VLT/WETH]→ WETH –[V2 WETH/USDC]→ USDC","contracts":{"vault":"0xee8d4c5c768AadCd3517Aa8C908De300305D0A7f","vlt":"0x6b785a0322126826d8226d77e173d75DAfb84d11","usdc":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","v2Router":"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D","vltWethPair":"0x966053Ca4fca049173eb1F27E4cb168CCb794534","wethUsdcPair":"0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc","chainId":1},"security":"vault.previewRedeem is MANDATORY (exact on-chain amounts, no approximation). V2 getReserves quotes are MANDATORY (fail-closed, no stale fallback). minAmountOut in Step 3 is enforced on-chain.","liveStats":{"vltPriceUsd":0.975249,"tvlUsd":35655.51,"aprDisplay":"1.281% lifetime L growth","lPerShare":1.012813,"updatedAt":"2026-08-07T21:04:05.651Z","source":"live"},"also":"POST /x402/vlt-usdc-withdraw (standard 1-tx exit, keeps VLT) | POST /x402/vlt-usdc-deposit (enter vault) | GET /x402/vlt-stats"}