Payment troubleshooting

Most payment issues come down to network, funding, or timing. Work through these before retrying.

Repeated 402 responses

If requests keep returning 402 after you "paid," the payment proof isn't reaching the server. Confirm your x402 client attaches the X-PAYMENT header on the retry, and that it's using the payment_reference from the original 402 body. See the x402 flow.

Wrong network

x402 payments must settle in USDC on Base mainnet. Paying with the wrong asset or on the wrong chain won't be recognized. Check your wallet/client network configuration.

Insufficient funds / gas

Your wallet needs enough USDC for the amount and a small amount of ETH on Base for gas. Top up both and retry.

Balance not updating (top-ups)

Card (Stripe) and crypto (OxaPay) top-ups can take a moment to confirm. Crypto deposits wait for on-chain confirmations. If your dashboard balance hasn't updated after a few minutes, refresh; for crypto, verify the transaction confirmed on-chain.

Rate limited mid-flow

A 429 during a payment retry isn't a payment failure — wait for Retry-After and try again. See Rate limits.

Still stuck?

Prefer not to debug payments inline? Fund an account balance and let checks draw from it.

Next

x402 protocol The full payment handshake. Authentication Balance billing as an alternative.