Skip to main content
The withdraw endpoint moves USDC out of a Circle-managed merchant wallet to any external address the merchant controls. It is only available to merchants with a Circle-managed payout wallet — external-wallet merchants already hold the keys to their settlement wallet, so there is nothing to withdraw. On success the response returns the on-chain transaction hash and an explorer URL.

Endpoint

Request

Headers

This is a browser/dashboard route authenticated by the merchant_token cookie set at login. It is additionally rate-limited on a stricter tier than other routes because it touches payout routing.

Body Parameters

string
required
A valid EVM 0x... address to receive the USDC. Validated with isAddress.
string | number
required
Withdrawal amount in USDC (human-readable units). Must be a positive number and must not exceed the wallet’s available balance.

Response

boolean
true on a successful transfer.
string
The on-chain transaction hash of the USDC transfer to the destination address.
string
Link to view the transaction on the Arc Mainnet block explorer: https://explorer.arc.io/tx/{txHash}
number
The withdrawal amount, echoed from the request.
string
Always "USDC".
string
The merchant’s Circle-managed payout wallet address the funds left from.
string
The destination address the funds were sent to.

Examples

Success Response

Error Responses

Notes

The wallet balance is checked against Circle’s ledger before the transfer is broadcast. If the requested amount exceeds the available balance, the request fails with HTTP 400 and includes the exact available balance in the error message.
Withdrawals are irreversible on-chain once broadcast. Verify the destinationAddress carefully before signing — a mistyped address means permanently lost funds.