> ## Content Index
> Fetch the complete content index at: https://stablecoininsider.org/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Accept x402 USDC Payments from AI Agents (2026)
- URL: https://stablecoininsider.org/how-to-accept-x402-usdc-payments-from-ai-agents/
- Published: 2026-09-02T06:24:29.000Z
- Updated: 2026-09-02T07:04:29.000Z
- Description: Accept x402 USDC from AI agents by returning HTTP 402 with priced accepts, settling native Circle USDC via a facilitator on a named chain, then verifying the contract and reconciling the hash before you treat it as revenue.
- Author: Alexandra
- Tags: AI, Stablecoins

x402.org counted about 75.41M transactions and $24.24M volume in the last 30 days as of late August 2026, with roughly 94K buyers and 22K sellers. Coinbase Developer Platform (CDP) says its facilitator has processed more than 100 million x402 payments across Base and Solana. Most of that rail still lands on sellers who never wired HTTP 402 into production.

Accept x402 USDC from AI agents by returning HTTP 402 with priced `accepts`, settling native Circle USDC through a facilitator on a named chain, then verifying the contract and reconciling the hash before you treat it as revenue.

This is the merchant path. It is not a card checkout, and it is not the buyer how-to for funding an agent wallet.

### Key Takeaways

- x402 gates an API or resource with HTTP 402 Payment Required and on-chain USDC settlement.
- Sellers advertise `accepts` (scheme, price, CAIP-2 network, `payTo`) and settle via a facilitator.
- Prefer Base mainnet (`eip155:8453`) and Circle native USDC at `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`.
- Use a production facilitator such as CDP (`https://api.cdp.coinbase.com/platform/v2/x402`); never reuse the x402.org testnet facilitator on mainnet.
- Confirm the settlement hash, token contract, amount, and destination before booking revenue.
- Run know-your-agent (KYA) checks before you treat an agent payer as trusted counterparty.
- Wrong network, bridged wrappers, or mispriced `accepts` still burn unpaid compute.
- Reconcile every hash to a cost center the same way you log production spend.

## What accepting x402 means

**x402** is an open standard that turns HTTP 402 Payment Required into a payment loop: unpaid requests get payment instructions; the buyer pays USDC (often via EIP-3009 gasless authorization); a **facilitator** verifies and settles on-chain; then the resource returns.

You are not collecting a card. You are advertising priced access on a named network and receiving native Circle USDC at a wallet you control.

Coinbase Business customers can already accept agent USDC this way; Stablecoin Insider covered that path in [Coinbase enables USDC payments for AI agents via x402](https://stablecoininsider.org/coinbase-usdc-payments-ai-agents-x402/). This guide is the evergreen seller build, not the product announcement.

## Prerequisites

Do not ship middleware until four items exist.

1. A receive address you control (self-custody, CDP custodial, Coinbase Business, or Prime).
2. A native USDC network you support — start with Base mainnet unless treasury already mandates another CAIP-2 id.
3. A facilitator path: CDP Facilitator for mainnet, or self-verify only if your stack already owns settlement.
4. A USDC price and description per gated route (`exact`, `upto`, or `batch-settlement`).

The buyer side still needs a funded agent wallet and a spend policy. Point agents at [how to set up an AI agent wallet](https://stablecoininsider.org/how-to-set-up-an-ai-agent-wallet/) before you expect paid traffic.

[![How to Set Up an AI Agent Wallet for USDC Payments (2026)](https://storage.ghost.io/c/73/6a/736af0e4-2274-4543-a329-2952b2b52abc/content/images/2026/09/accept-x402-card-setup.png)](https://stablecoininsider.org/how-to-set-up-an-ai-agent-wallet/)

## Step-by-step: accept x402 USDC

### 1\. Choose network and receive wallet

Pick Base mainnet first for low fees and Circle-issued native USDC. Circle publishes the Base contract as `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` on its USDC contract list.

Set `payTo` to an address your treasury controls on that same network. A Solana payee is not an EVM `0x` string; keep CAIP-2 and address family aligned.

Confirm the token is Circle official contract, not a bridged wrapper, with [how to check the official USDC or USDT contract](https://stablecoininsider.org/how-to-check-the-official-usdc-or-usdt-contract/).

[![How to Check the Official USDC or USDT Contract (2026)](https://storage.ghost.io/c/73/6a/736af0e4-2274-4543-a329-2952b2b52abc/content/images/2026/09/accept-x402-card-contract.png)](https://stablecoininsider.org/how-to-check-the-official-usdc-or-usdt-contract/)

### 2\. Add payment middleware and 402 accepts

Install the seller packages from the [x402 seller quickstart](https://docs.x402.org/getting-started/quickstart-for-sellers) — for Express that is `@x402/express`, `@x402/core`, and `@x402/evm` (plus `@x402/svm` / `@x402/avm` if you support those rails).

Wire `paymentMiddleware` on the routes you gate. Unpaid requests return HTTP 402 with a `PAYMENT-REQUIRED` header; paid retries send `PAYMENT-SIGNATURE`.

Each accept lists `scheme` (`exact`, `upto`, or `batch-settlement`), `price` (for example `\"$0.001\"`), `network` in CAIP-2 form, and `payTo`.

```
// Express pattern — testnet first, then swap facilitator + network for mainnet
app.use(paymentMiddleware({
  \"GET /weather\": {
    accepts: [{
      scheme: \"exact\",
      price: \"$0.001\",
      network: \"eip155:8453\", // Base mainnet
      payTo: \"0xYourReceiveAddress\",
    }],
    description: \"Weather data\",
  },
}, resourceServer));
```

That is the shape. Full language samples live in the official seller quickstart and the [CDP x402 overview](https://docs.cdp.coinbase.com/x402/docs/welcome); do not invent CLI wrappers that are not in Circle or Coinbase docs.

### 3\. Set price and description

Price in USDC units the facilitator understands (`$`\-prefixed strings in the SDK examples). Match description and MIME type to what the agent actually receives after settlement.

For usage-based endpoints, `upto` lets the client authorize a max while you settle actual usage; `exact` is the fixed ticket. Keep the advertised max inside your treasury policy.

### 4\. Verify settlement through a facilitator

A **facilitator** is the service that verifies the payment proof and settles USDC on-chain so your API does not run its own mempool watcher.

Test on Base Sepolia (`eip155:84532`) with `https://x402.org/facilitator`. For mainnet, switch to a production facilitator such as CDP at `https://api.cdp.coinbase.com/platform/v2/x402` and set network to `eip155:8453`. The docs are explicit: do not reuse the x402.org facilitator URL on mainnet routes.

CDP overview states sellers can receive at any address they control, and that CDP has processed more than 100 million x402 payments across Base and Solana.

### 5\. Confirm native USDC landed

Before you treat a 200 response as paid work done, open the settlement hash on the explorer for that chain. Match token contract, amount, and destination to Circle official USDC and your `payTo`.

If the inbound is a bridged wrapper or a clone ticker, stop. Treasury books native Circle USDC only.

### 6\. Reconcile to a cost center

Log route, CAIP-2 network, amount, facilitator reference, and explorer hash the same way you log production spend. [How to reconcile AI agent USDC spend](https://stablecoininsider.org/how-to-reconcile-ai-agent-usdc-spend/) is the ledger method on the buyer side; sellers need the mirror: every hash maps to a product SKU or cost center.

[![How to Reconcile AI Agent USDC Spend (2026)](https://storage.ghost.io/c/73/6a/736af0e4-2274-4543-a329-2952b2b52abc/content/images/2026/09/accept-x402-card-reconcile.png)](https://stablecoininsider.org/how-to-reconcile-ai-agent-usdc-spend/)

## Accept checklist

| Check       | Pass                                                       | Fail                                                           |
| ----------- | ---------------------------------------------------------- | -------------------------------------------------------------- |
| Network     | CAIP-2 id matches the chain you monitor (Base eip155:8453) | Testnet id left in production, or Solana payee on an EVM route |
| Token       | Settlement uses Circle native USDC for that chain          | Bridged USDC.e / USDbC / clone ticker booked as dollars        |
| Facilitator | Production CDP (or equivalent) URL on mainnet              | x402.org/facilitator still wired for live traffic              |
| Accepts     | scheme, price, network, payTo match treasury policy        | Unsigned mandate, wrong price, or payTo you do not control     |
| Settlement  | Explorer hash, contract, amount, destination all match     | 200 returned without a verified settlement                     |
| KYA         | Agent counterparty checked before trusted revenue          | First anonymous agent treated as a known customer              |
| Reconcile   | Hash tied to SKU / cost center                             | Orphaned USDC with no product attribution                      |

## KYA before you trust the payment

Settlement proves USDC moved. It does not prove the agent is a counterparty you want on the books.

Run [how to verify an AI agent before accepting USDC](https://stablecoininsider.org/how-to-verify-ai-agent-before-accepting-usdc/) before you upgrade an agent from metered curiosity to trusted revenue. **KYA** (know-your-agent) is identity and mandate checking for machine payers — allowlists, signed spend policy, and human OTP where your stack requires it.

[![How to Verify an AI Agent Before Accepting USDC (2026)](https://storage.ghost.io/c/73/6a/736af0e4-2274-4543-a329-2952b2b52abc/content/images/2026/09/accept-x402-card-verify.png)](https://stablecoininsider.org/how-to-verify-ai-agent-before-accepting-usdc/)

Rehearse the buyer path with [how to test an AI agent USDC payment before going live](https://stablecoininsider.org/how-to-test-ai-agent-usdc-payment-before-going-live/) so your first paid calls are tiny tickets you can afford to reverse operationally.

[![How to Test an AI Agent USDC Payment Before Going Live (2026)](https://storage.ghost.io/c/73/6a/736af0e4-2274-4543-a329-2952b2b52abc/content/images/2026/09/accept-x402-card-test.png)](https://stablecoininsider.org/how-to-test-ai-agent-usdc-payment-before-going-live/)

## When not to accept

Refuse or hold settlement when any of these fire:

- Wrong token or network versus your published `accepts`.
- Amount outside the price or `upto` max you advertised.
- Bridged wrapper or unofficial contract instead of Circle native USDC.
- No signed mandate / allowlist where your policy requires KYA.
- Facilitator still pointing at the testnet URL on a mainnet route.

A 402 that advertises the wrong `payTo` is unpaid work waiting to happen. A 200 that accepts cloned USDC is worse: you delivered the resource for a non-redeemable balance.

## Stablecoin Insider's take

**Stablecoin Insider's take:** sellers who treat x402 like a Stripe webhook without contract and KYA checks will either give away compute or book fake dollars. Prefer Base + CDP Facilitator + Circle published Base USDC, then reconcile every hash.

The named downside is structural: chargebacks do not exist on settled USDC. Wrong `accepts` config means unpaid work or accepting cloned / bridged USDC with no card-network reverse.

## FAQ

### What is x402 in one sentence?

x402 is an open HTTP-native payment standard that uses HTTP 402 Payment Required plus on-chain USDC settlement (usually through a facilitator) so clients and AI agents can pay for an API or resource inside the request flow.

### Do I need Coinbase Business to accept x402?

No. The open seller quickstart works with any receive address you control. Coinbase Business and CDP are one production path; CDP docs say sellers can receive to CDP wallets, Coinbase Business, Prime, or self-custody.

### Which network should sellers start on?

Start on Base mainnet (`eip155:8453`) with Circle native USDC at `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` unless treasury already runs another supported CAIP-2 network. Test first on Base Sepolia, then cut over facilitator and network ids together.

### What is a facilitator?

A facilitator verifies payment proofs and settles USDC on-chain so your API does not operate its own settlement node. CDP Facilitator is the Coinbase production example; the x402.org facilitator is for testnet only.

### When is a payment safe to book as revenue?

Only after the facilitator settlement is confirmed, the token matches Circle official contract on that chain, the amount and `payTo` match your `accepts`, and any KYA policy you require has passed. Then reconcile the hash.

## Next step Monday

Ship one gated route on Base Sepolia this week, then flip facilitator URL and CAIP-2 id to Base mainnet with a sub-dollar `exact` price. Verify the first live hash against Circle Base USDC contract, run KYA on the first repeating agent, and reconcile that hash to a SKU before you raise price or open discovery.

This content is provided for informational and educational purposes only and does not constitute financial, investment, legal, or tax advice; no material herein should be interpreted as a recommendation, endorsement, or solicitation to buy or sell any financial instrument, and readers should conduct their own independent research or consult a qualified professional.