# Sandbox: test x402 payments on Base Sepolia

Dry-run the full x402 flow with testnet USDC at /api/sandbox/v1/{slug}: same slugs and amounts, Base Sepolia, deterministic fixture data, no live calls.

Sandbox URL: https://marketplaceforaiagents.com/api/sandbox/v1/{slug} — the same slugs as /api/public/v1. Every unpaid call returns a 402 (there is no free tier in the sandbox). Paid calls return deterministic fixture data with top-level sandbox: true and never reach a live data provider.

If the operator has not configured a sandbox receiving wallet yet, every sandbox call returns 503 {"error":"sandbox_not_configured"}.

## Network details

| Field | Value |
| --- | --- |
| network (v2 / v1) | eip155:84532 / base-sepolia |
| asset (USDC) | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
| EIP-712 name / version | USDC / 2 (mainnet USDC uses "USD Coin") |
| amount | same atomic amount as mainnet for the same slug |
| facilitator | https://x402.org/facilitator |

## Get testnet USDC

Use the Circle faucet at https://faucet.circle.com — select Base Sepolia and USDC, and paste your test wallet address.

## See the challenge

```bash
curl -si "https://marketplaceforaiagents.com/api/sandbox/v1/google-search?q=test"
# decode the challenge header
curl -s -D - -o /dev/null "https://marketplaceforaiagents.com/api/sandbox/v1/google-search?q=test" | grep -i '^payment-required:' | cut -d' ' -f2 | base64 -d
```

Then run the quickstart client with network "eip155:84532" against the sandbox URL.

Canonical HTML: https://marketplaceforaiagents.com/docs/sandbox