Field guide · Edition 2026.08

Your endpoint is live.
The buyer-agent skipped it anyway.

A paid API can be online, price correctly, and settle payments correctly, and still never get called. The failure is almost never the product behind the paywall. It is the short machine conversation that happens before payment: discovery, the 402 challenge, and the checks a buyer runs before it signs.

This guide is 46 pages of that conversation, organized around the faults that stop a machine buyer before payment. Each one gives you the symptom, one command that confirms it, a before-and-after fix, and the validator check that proves it is closed.

$29
One purchase, one purchaser
PDF, 46 pages, edition 2026.08
Content corrections for 90 days
Buy for $29 Read a chapter first
The problem this solves

You lost catalog visibility and nothing told you.

There is no bounce message in machine commerce. When a discovery catalog stops listing your resource, or a buyer-agent parses your challenge and walks away, you get silence. Traffic that never arrives leaves no log line on your side. The endpoint looks normal in your own monitoring because every local check still passes.

So the operator sees one of these instead:

Listed, never called

Your resource is in a catalog. Paid calls stay at zero. Nothing in your logs explains it, because the rejection happened before any request reached you.

Was indexed, now gone

You shipped a change to routing, pricing, middleware or the recipient address, and the listing quietly went stale or vanished.

Works in curl, fails for agents

You can call your own endpoint by hand and it behaves. A machine buyer treats an ambiguity you never noticed as financial risk and picks a different provider.

Green scan, no revenue

A validator says pass, but pass on which fields? The guide is explicit about what a green result does and does not prove.

The guide treats each of these as a diagnosable fault with a known cause, not as a mystery. You work on one protected resource at a time, confirm the symptom with a single command, and verify the fix against the same validator a buyer would effectively be running.

Who this is for

Operators who already have an endpoint.

This is for you if you run at least one x402 protected route on Base, it returns a 402, and you want it to be understood correctly by discovery systems and buyer-agents. You are comfortable with curl, JSON, and reading an HTTP header.

It is not an introduction to x402, a guide to choosing what to sell, a security audit, or a way to get traffic to a product nobody wants. It assumes the endpoint exists and that the thing behind the paywall is worth paying for. It fixes the conversation in front of it.

What is inside

22 sections. Practical failures with fixes.

Each fault-focused chapter follows the same loop: symptom, one diagnostic command, a before-and-after JSON or config change, then verification. The guide contains 40 code blocks, all checked to parse.

Part I · Start here
1How to use this guide
2The two JSON shapes you must keep separate
3Quick validator setup
4Reading a scan report
5Evidence and field-note index
Part II · Optional manifest convention
6Missing or malformed /.well-known/x402
7resource-list-bare
Part III · Payment challenge errors
8Header-only accepts and CAIP-2
9extensions.bazaar and CDP discovery
10amount_key mismatch
11Mixed v1 and v2 signals
Part IV · Identity and drift errors
12payTo drift
13Scan-to-live paywall drift
Part V · Behavior under probe
14Latency and 5xx under probe
Part VI · Getting chosen
15What buyer-agents check before payingfree below
Part VII · Release reference
16One-page validator checklist
17What a green scan means
18When to stop doing it yourself
19Short FAQ
20References
21Licence, contact, and support
22Changelog
Free chapter

Chapter 9: what buyer-agents check before paying.

This is section 15 of the guide, in full and unedited. It is the diagnostic frame for everything else: seven gates a careful buyer runs, in order, before it signs a payment. Run the checklist at the end against your own endpoint. The gate that fails tells you which chapter of the paid guide you need.

Download the free sample PDF

Sample · Section 15 of 22

A buyer-agent is not a human with a wallet extension and patience. It is software with a task, a spending policy, a deadline, and alternative providers.

There is no single universal buyer implementation, but a careful buyer usually follows the same gates.

The machine buying loop

  1. Discover: Find a resource that appears able to complete the task.
  2. Match: Compare method, input, output, network, and displayed price with the task policy.
  3. Probe: Call the resource without payment and expect a 402 challenge.
  4. Parse: Decode the canonical payment requirements.
  5. Validate: Check version, scheme, network, asset, amount, recipient, timeout, and resource binding.
  6. Compare: Confirm the live quote is compatible with discovery and the buyer's budget.
  7. Authorize: Sign the payment payload for the accepted requirements.
  8. Retry: Send the same resource request with the payment signature.
  9. Settle and receive: Verify the payment response and consume the resource.
  10. Record: Save the quote, result, and receipt for retries, disputes, and provider scoring.

Every chapter in this guide protects one of those gates.

Gate 1: Can the discovery system understand the service?

For CDP Bazaar, the buyer and facilitator need a live 402 whose extensions.bazaar.info.input describes how to call the route and whose schema validates that advertised information. The resource object supplies the resource URL and may include service metadata. Other crawlers may also inspect the optional /.well-known/x402 convention.

Failure patterns

  • Missing or malformed extensions.bazaar
  • Required input represented by empty or invalid placeholders
  • Advertised method or body shape rejected before payment middleware
  • Stale or dead resource URL
  • Optional manifest returns HTML, bare strings, or old terms

What improves selection

  • A structurally valid Bazaar extension in the live challenge
  • Concrete input values the route accepts
  • A truthful output example
  • Stable URLs
  • A route description that says what the buyer receives
  • An optional compact public manifest for crawlers that use the convention

Gate 2: Can I safely parse the live quote?

For v2, the buyer expects a Base64 JSON PaymentRequired object in PAYMENT-REQUIRED. It does not need to guess a custom header name or scrape a prose error message.

Failure patterns

  • No 402
  • Undecodable header
  • Empty accepts
  • Body-only response presented as v2
  • Mixed version fields
  • Unsupported scheme

What improves selection

  • Canonical v2 headers
  • One clear protocol version
  • Non-empty payment requirements
  • A resource URL that matches the request
  • Standard SDK output instead of a hand-built near-match

Gate 3: Do the economics fit policy?

The buyer checks the atomic amount, asset, network, and scheme. It may compare the live quote with discovery, a cached quote, and a maximum spend rule.

Failure patterns

  • Display price copied into amount
  • Decimal or currency symbol in a digit-string field
  • v1 amount key in a v2 challenge
  • Wrong asset for the selected network
  • Live quote above the buyer's limit

What improves selection

  • Exact integer conversion
  • Clear asset and CAIP-2 network
  • Stable or explicitly dynamic pricing
  • No disagreement between header and compatibility body

Gate 4: Am I paying the expected recipient?

The buyer compares payTo across discovery, the live challenge, previous successful calls, and any allowlist it maintains.

Failure patterns

  • Manifest and challenge disagree
  • Different instances return different recipients
  • Recipient changes without a terms version or effective date
  • A default wallet appears after a tenant lookup fails

What improves selection

  • One internal source of truth
  • Versioned recipient rotation
  • Consistent checksummed or normalized representation
  • Archived post-deploy validation

Gate 5: Will the offer remain the same long enough to pay?

The buyer may re-probe before authorizing or compare the accepted requirements with the current challenge. It wants to know that it will not sign one offer and have the server apply another.

Failure patterns

  • Terms change between adjacent probes on a fixed-price route
  • Cache returns old discovery after a live change
  • Multiple instances serve different configuration
  • A scanner result cannot be reproduced from raw evidence

What improves selection

  • Versioned terms
  • Quote binding
  • Explicit validity windows
  • Raw response archives
  • Clear cache policy

Gate 6: Can the endpoint complete the handshake in time?

The buyer treats timeouts and server errors as routing signals. It may try another provider instead of debugging yours.

Failure patterns

  • Cold-start timeout
  • 5xx during a burst of probes
  • Input validation returns 400 before payment middleware
  • A protected upstream runs before payment
  • Published method never reaches 402

What improves selection

  • A fast challenge path
  • Correct method and valid input examples
  • No settlement work before a payment payload exists
  • Consistent behavior across repeated probes

Gate 7: What happens after I pay?

This guide focuses on pre-pay conformance, but a buyer also cares about post-pay behavior:

  • Does the retry bind to the same resource and input?
  • Is the payment accepted only once where replay protection requires that?
  • Does the server return the promised output type?
  • Is a settlement response exposed through the standard channel?
  • Are paid errors handled according to the published policy?

A green pre-pay scan does not answer all of these. Add a controlled end-to-end payment test before launch, and make its spend limit explicit.

Why "works for me" fails a machine customer

A human can refresh, inspect DevTools, ask in Discord, or decide that two nearly identical fields probably mean the same thing. A buyer-agent should treat ambiguity as financial risk.

Machines are especially strict about:

  • Location: header versus body
  • Type: integer versus string
  • Unit: displayed currency versus atomic amount
  • Identity: one recipient versus another
  • Time: current response versus stale snapshot
  • Method: the route that was documented versus the route that returned 402

This strictness is useful. It tells you exactly what to make deterministic.

The pre-pay checklist

Before asking an agent to buy, answer yes to each question:

  • Does the live 402 include extensions.bazaar.info.input with the correct method and concrete accepted values?
  • Does the Bazaar schema validate the advertised info object?
  • If you serve the optional /.well-known/x402 convention, can a crawler fetch it without credentials?
  • If you serve that manifest, does every listed resource have a URL, method, description, and terms?
  • Does the documented input reach the payment middleware?
  • Does an unauthenticated request return HTTP 402?
  • Does v2 use a decodable PAYMENT-REQUIRED header?
  • Is x402Version the integer 2?
  • Is every v2 network a CAIP-2 identifier?
  • Is amount a digit string in atomic units?
  • Are asset, payTo, and maxTimeoutSeconds present?
  • Does the challenge bind to the requested resource?
  • Do discovery and challenge agree on network, economics, and recipient?
  • Do repeated probes of fixed terms agree?
  • Does the challenge path stay inside your latency budget without 5xx?
  • Can you reproduce the verdict from an archived raw response?

What a seller should publish

Buyer-agents should not need a private conversation to learn the basics. Publish:

  • A live 402 with extensions.bazaar for CDP Bazaar discovery
  • /.well-known/x402 only if you support the optional community convention
  • OpenAPI or another machine-readable input and output contract
  • Exact resource methods
  • Supported networks and assets
  • A valid request example for each route with required input
  • A short pricing-change policy
  • A support or issue URL
  • A changelog for breaking payment-term changes

Keep marketing prose separate from the machine contract. A description can help selection, but it cannot replace required fields.

Run the buyer's test before the buyer does

The validator is a pre-flight check, not a badge generator. Run it on the deployed URL after every change to route, middleware, manifest, pricing, asset, recipient, proxy, or runtime.

A useful trust signal is not one green screenshot. It is the ability to reproduce the same coherent contract from fresh public probes and explain every intentional change.

That chapter tells you which gate you fail. The fault-focused sections show what the broken response looked like, what to replace it with, and how to prove it is fixed.

What it does not promise

Stated up front, not buried.

Scope

This is an implementation guide. It is not a security audit, and it does not guarantee catalog indexation, discovery by a buyer-agent, a completed payment, or revenue.

A clean validation run proves what your endpoint returned during that run. It does not prove future uptime, settlement correctness, or that anyone wants what you are selling.

Third-party specifications, APIs, validators, facilitators, and catalogs change. This is edition 2026.08. Content corrections are included for 90 days from purchase, which covers exactly this: a field that moves under you.

Support is corrections to the guide. It does not include hands-on implementation, monitoring your endpoint, incident response, or any service-level commitment.

Buy

$29. One price, one purchaser.

Payment is in USDC on Base. For many x402 operators this is already the asset used for paid calls, and there is no third-party account to create or payment processor between us.

Pay in USDC on Base

  1. Send 29 USDC on Base to:
    0xd779cE46567d21b9918F24f0640cA5Ad6058C893
  2. Email info@smartflowproai.com and paste the transaction hash.
  3. We manually confirm the transaction on-chain and email the PDF the same day.

Delivery is priced and verified only in USDC on Base. Contact us before sending any other asset or using another network.

If you need an invoice

Invoices are available on request through Useme. Email info@smartflowproai.com before paying and say you need one. We issue it through Useme, billed in PLN at the exchange rate on the invoice date. Send your company name, address, and tax number.

Refunds: within 7 days of delivery, on request, returned in USDC to the address you paid from. No justification needed.

Licence: one purchase covers one purchaser, perpetually. You may apply everything in it to projects you build or operate. You may not redistribute or resell the file itself.

Is this current with x402 v2 and CDP Bazaar?

Yes. Edition 2026.08 covers v2 payment challenges and CDP Bazaar discovery through extensions.bazaar. It treats /.well-known/x402 as the optional, non-normative convention it actually is, and labels every legacy v1 example as legacy.

Do I need to buy the validator too?

No. The validator used throughout is free and open source. The guide is the part that tells you what its output means and what to change.

What if I read it and it does not apply to me?

Ask for a refund within 7 days. The free chapter above is deliberately the one that lets you decide before paying: if none of the seven gates describe your situation, this guide is not for you.

Does a green scan mean I will make money?

No, and section 17 is a full page on exactly that distinction. Conformance removes a reason to skip you. It does not create demand.