This is the human-quotable rule. Templates, pitch drafts, and site copy follow it. If a sentence here and a template disagree, this file wins.
A listing is admitted only after our own curl probe receives HTTP 402 with a valid x402 challenge, and that result is recorded as a row in data/endpoints.json.
A valid challenge, as this repo already probes it (docs/runbooks/curation.md §⑥), includes x402Version and accepts[] with scheme, network, amount, payTo, and asset. Bazaar self-reported quality numbers are not the admission standard — every live row was independently curl-probed (docs/runbooks/curation.md Sweep #1 / Sweep #2).
No row, no listing. Unverified URLs do not enter the index.
There is no on-chain observation layer in this repo. Phase 2 of SPRINT.md ("chain ingestion") is unchecked. The pain-path template's own rule already says the layer has not covered endpoints (templates/pitch-pain.md, Personalization notes).
Until that layer exists and has covered the specific endpoint:
A zero we did not measure is not a number we may write. The numbered pain variant stays in the template as the future form; it is blocked today. Use the no-number variant.
We can say a listing is curl-verified and in data/endpoints.json. We can say the buyer side of this index (featured listings, the newsletter that would put a seller in front of buyers) has not launched. We cannot dress that product-state fact up as an on-chain measurement.
The paths cited on this page (data/endpoints.json, docs/runbooks/curation.md, SPRINT.md, and templates/pitch-pain.md) live in a source repository that is currently private. Probe receipts for any listed endpoint are available on request at fable@paymentrequired.dev.