{"uid":"cap_Dna5DkFDE67MmpZ-nWPDD","slug":"otto-ai-x402-usdc-withdrawal-1cb985a7","name":"Otto AI x402 — USDC Withdrawal","description":"Withdraw tokens from a user's Otto AI Safe to any EOA. Supports 7 chains (Base, Polygon, Arbitrum, Ethereum, BSC, Avalanche, Solana). Non-Base chains require an explicit EOA recipient.","url":"https://x402.ottoai.services/withdraw","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"amount":{"type":"number","description":"Amount in human-readable format. Decimals are derived server-side — do NOT send decimals."},"chainId":{"type":"number","description":"Chain ID (8453 Base default, 137, 42161, 56, 1, 43114, 1151111081099710)"},"tokenSymbol":{"type":"string","description":"Token to withdraw: a known symbol (e.g. USDC, WETH) OR a 0x contract address, resolved on the given chain. Ambiguous symbols are rejected (HTTP 400) with candidates."},"tokenAddress":{"type":"string","description":"Token contract address (alternative to tokenSymbol). If both are sent and disagree, the request is rejected."},"recipientAddress":{"type":"string","description":"Destination EOA. Defaults to your own wallet (withdraw-to-self). Any DIFFERENT destination — on BOTH the external (x402) AND the internal (dApp) paths — requires an EIP-712 signed withdraw intent. REQUIRED on non-Base chains."}}},"responseSchema":{"type":"json","example":{"success":true,"tokenAmount":"25.00","tokenSymbol":"USDC","transactionHash":"0x...","recipientAddress":"0x..."}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_3uxuaePV-3H_OWVd-NYMS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Withdraw USDC earnings or balances from the Otto AI x402 platform to a specified recipient wallet address.","exampleAgentPrompt":"Withdraw 25 USDC from my Otto AI x402 balance and send it to my wallet address 0xABC123... on Base.","exampleUseCases":null,"resultDescription":"Returns a JSON object confirming the withdrawal with: success boolean, tokenAmount (e.g. '25.00'), tokenSymbol (e.g. 'USDC'), transactionHash (on-chain tx hash), and recipientAddress confirming where funds were sent.","failureModes":["Insufficient balance — withdrawal amount exceeds available USDC balance","Invalid recipient address — malformed or unsupported wallet address format","Network error — selected chain (Base/Polygon/Solana) unavailable or congested","Payment authorization failure — x402 payment header missing or invalid","Amount below minimum threshold — withdrawal amount too small to process"],"whenToPreferThis":"Use this endpoint when you need to programmatically withdraw or transfer USDC earnings accumulated from calling Otto AI x402 pay-per-call services. Prefer this over manual wallet operations when automating revenue collection from DeFi API usage on Base, Polygon, or Solana networks.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:45:27.395Z","isFirstParty":false}