Verify your USDC on-chain balance and transfer the USDC to your Circle Mint blockchain address (obtained from the Circle dashboard or GET /v1/businessAccount/addresses endpoint)
Monitor for the incoming USDC transfer via Circle webhooks; the transfer_confirmed event triggers once Circle detects the on-chain transfer and the required number of confirmations
Initiate the redemption: POST https://api.circle.com/v1/businessAccount/payouts with {"destination": {"type": "wire", "id": "<bank_account_id>"}, "amount": {"amount": "<amount>", "currency": "USD"}, "idempotencyKey": "<uuid>"}
Capture payout_id from the response and poll GET /v1/businessAccount/payouts/{payout_id} until status is paid
Bank wire typically arrives within 1-2 business days after Circle processes the redemption; verify receipt in your operating account and reconcile against the payout_id
Store the idempotencyKey for each redemption request — submitting the same key twice returns the original payout object, preventing duplicate redemptions on retry
Known gotchas
USDC redemptions are processed in USD only; EURC redemptions require a separate EURC-denominated bank account configured in Circle — mixing currencies causes payment failures
Circle has a daily redemption processing cutoff (typically 3:00 PM ET for same-day USD wire); requests after cutoff are queued for the next business day
On-chain USDC transfers to Circle's redemption address require the correct blockchain — sending Ethereum USDC to Circle's Solana address results in permanent loss; always confirm the chain-specific deposit address before transferring
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp