402 with signed-terms-to-be (token, amount,
recipient), your agent’s wallet signs a gasless USDC authorization, and a
facilitator settles it on-chain — irreversibly. Chance sits in the gap
between receiving the terms and signing them: submit the terms as an
intent check, get an ALLOW / BLOCK / ESCALATE verdict with a proof, and only
sign on ALLOW.
This is a verdict-only integration: Chance never holds keys, never signs,
never settles. It answers one question — is this specific payment what your
mandate authorizes? — and backs it with independently gathered evidence.
What gets recognized
v1 shapes (
maxAmountRequired) are tolerated and noted. Payloads are
auto-detected — venue: "x402" is optional but recommended.
What the harness checks for you
Beyond the judge reading the terms against your mandate, the classifier gathers independent evidence before the verdict:- Amount integrity — the seller dictates the
assetcontract. The dollar reading ofamountis only trusted when that address is canonical USDC on that network; anything else is summarized as raw units of an unrecognized token (the vendor’s “$5” framing might be 5 WETH). - Live terms re-fetch — the harness fetches the resource URL itself and
diffs the live 402 against what your agent was quoted. Stale, tampered, or
bait-and-switch terms surface as a
PRICE MISMATCH. - Vendor reputation (Coinbase Bazaar) — is the payTo a catalogued service that has settled real payments through the CDP facilitator, how many unique payers used it in the last 30 days, and when it was last active.
- On-chain payee profile — contract vs plain address, current USDC balance (a fresh drain address holds ~0; an established vendor accumulates).
- Payer preflight (signed payloads) — sufficient balance, and whether the payer wallet can settle at all.
X402 PAYMENT REQUEST: 5.00 USDC) vendor reputation (Coinbase Bazaar): listed as “Agent Email” — 881 paid calls from 873 unique payers in the last 30 days (last paid 2026-07-08)
Use it from your bot
Probe the paid endpoint, verify the decoded terms with Chance, sign only on ALLOW:Use it from Claude or ChatGPT
With the Chance connector installed, ask the model to check the payment before paying: it callsverify_intent with venue: "x402" and the
decoded terms as the action. The chance-mcp
stdio server exposes the same tool locally.
