Skip to main content
USDC earned from x402 Marketplace requests and other Gateway-protected endpoints accumulates in a seller Gateway balance on Arc Mainnet. These endpoints let you check that balance and withdraw your earnings to a payout wallet.
Chain identifier values shown below (ARC-TESTNET) are the documented testnet values. Production runs on Arc Mainnet (chain ID 5042) — confirm the exact production chain enum value with the operator before parsing it programmatically.

Check Gateway Balance

Returns the seller Gateway balance for a given seller address. This route is public — no API key is required for GET.

Endpoint

Request

Headers

Query Parameters

string
The seller wallet address whose Gateway balance to check. If omitted, the server-side SELLER_WALLET_ADDRESS environment value is used.

Response

boolean
true when the balance was fetched.
string
The seller address the balance was fetched for (resolved from the query parameter or the server default).
string
The seller’s Gateway balance as returned by Circle’s Gateway API — the USDC accrued from paid API calls. String format.
string
Always "USDC".
string
Always "ARC-TESTNET".
string
Human-readable summary — "Seller Gateway balance: {balance} USDC accrued from paid API calls."

Examples

Success Response

Error Responses

Notes

GET requests bypass API key authentication. If your server has SELLER_WALLET_ADDRESS configured you can call this endpoint with no query parameters at all.

Withdraw Gateway Balance

Withdraws seller Gateway revenue to a payout wallet on Arc Mainnet. Requires a valid API key.

Endpoint

Request

Headers

The API key can alternatively be passed as an apiKey query parameter.

Body Parameters

string
The seller wallet address whose Gateway balance to withdraw from. If omitted, the server-side SELLER_WALLET_ADDRESS environment value is used.
string
The destination wallet address that receives the withdrawn USDC. If omitted, the server-side PAYOUT_WALLET_ADDRESS environment value is used.
string
required
Amount of USDC to withdraw, as a decimal string (e.g. "9.15"). Passed through to the Gateway withdraw call.

Response

boolean
true when the withdrawal was accepted.
string
The resolved seller address the withdrawal was initiated from.
string
The resolved destination wallet address.
string
The amount withdrawn, echoing the request value.
string | null
Circle Gateway’s batch settlement reference for the withdrawal (a UUID), or null if the facilitator returned none. This is a settlement reference, not a confirmed on-chain transaction hash — do not assume it is Arc Explorer-resolvable.
string
Human-readable confirmation — "Withdrew {amount} USDC from Gateway balance to Payout Wallet on Arc Mainnet."

Examples

Success Response

Error Responses

Notes

gatewayReference is the Circle Gateway’s batch settlement reference, not a confirmed on-chain transaction hash. The actual on-chain movement is finalized later as part of the facilitator’s batch settlement. If you need to confirm the on-chain result, monitor the payout wallet on Arc Mainnet rather than treating the reference as a transaction hash.
Withdrawal amounts are denominated in human-readable USDC (e.g. "9.15"), not atomic units. The gatewayBalance from GET /api/gateway is the balance available to withdraw.