# Verify an x402 payment challenge

> Free, read-only check of any x402 endpoint's live HTTP 402 challenge: amount, network, asset,
> receiver (`payTo`), Bazaar metadata and the checks that pass or fail. No wallet, no credentials,
> no payment.

- HTML version: https://x402.chikocorp.com/verify
- API (this is all the page does): `POST https://x402.chikocorp.com/api/preflight/inspect`
- Related: https://x402.chikocorp.com/docs/ · https://x402.chikocorp.com/blog/

## How to run it from an agent or a terminal

```sh
curl -s -X POST https://x402.chikocorp.com/api/preflight/inspect \
  -H 'content-type: application/json' \
  -d '{"resource_url":"https://your-api.example.com/paid/route","method":"GET","max_price_usd":1}'
```

Body fields:

| field | required | notes |
|---|---|---|
| `resource_url` | yes | public `https://` URL of the resource |
| `method` | no | `GET` (default), `HEAD` or `POST` |
| `max_price_usd` | no | price ceiling for the policy decision; default 1 |

## Response fields

| field | meaning |
|---|---|
| `decision` | `ALLOW`, `BLOCK` or `UNKNOWN` |
| `score` | 0–100, quality of the payment surface (not a certification) |
| `resource.statusCode` / `latencyMs` | what the endpoint actually returned |
| `payment.detected` | whether a usable challenge was found |
| `payment.priceUsd`, `network`, `asset`, `payTo`, `scheme`, `amountAtomic` | the decoded requirement |
| `payment.bazaar` | presence and validity of the Bazaar discovery extension |
| `checks[]` | each check with `id`, `status` (`PASS`/`WARN`/`FAIL`/`UNKNOWN`), `severity`, `evidence` |
| `issues[]` | defects with severity and the fix |
| `claimBoundary.proves` / `doesNotProve` | exactly what the result does and does not establish |

## Decisions

- `ALLOW` — readable challenge, price inside your ceiling, network/asset/receiver consistent.
- `BLOCK` — no usable challenge (200, 401, 403, 404, 405, unreadable 402) or price above the ceiling.
- `UNKNOWN` — not verifiable as published, usually a route template (`:param`, `{id}`, `<id>`) with no real value.

## Boundaries

This check proves that the endpoint serves a readable challenge and that the price, network, asset
and receiver are consistent with the policy you passed. It does **not** prove that a payment settles,
that the facilitator accepts it, or that the resource is delivered. Those require a funded wallet and
a real transaction, which is a separate paid check:
https://x402.chikocorp.com/verification.html

## Pricing of the deeper checks (paid, USDC on Base)

| product | price | what it adds |
|---|---|---|
| Inspection (this) | free | live challenge, decode, policy decision |
| Technical audit | 0.05 USDC | schemas, discovery metadata, CORS, redirects, cache, prioritized issues |
| Diagnostic report | 5 USDC | full report with evidence and remediation plan |
| Monthly monitor | 29 USDC/month | alert when the observed state changes |
