2026-10-13 ยท by minia2a
When you publish an x402 endpoint, you probably imagine the discovery layer works like your deploys: you change the endpoint, and the catalogs catch up. We measured it, and it does not work that way. The entry a discovery index holds for your endpoint is written at a different moment than you think — and it is a copy of something you served, not a reference to something you have.
Our endpoints appear in the CDP Bazaar discovery index (the dataset behind Agentic.market).
Every entry in that index carries a description, and every entry
carries a lastUpdated. We compared the two across our resources
and found that, for every record we sampled,
lastUpdated == quality.lastCalledAt
They are the same instant. That equality is the whole finding: an index entry is written when a settlement runs through the facilitator. Not on publish, not on deploy, not on a crawl you can trigger. The write event is a payment.
PAYMENT-REQUIRED (HTTP 402) you served for that request —
its advertised description, its accepts, its shape. Your discovery record is a function of your
402, sampled at settle time. Fix the 402, not the record; the record is downstream.
This mechanism is not academic, because it turned a small gateway bug into a silent
discovery problem for us. Our anonymous 402 was shipping a
placeholder description — minia2a service: <id>
instead of the real catalog text. An agent scanning the index would read
“minia2a service: x402-math” and learn nothing about what the endpoint does.
The cause was a single guard: the code that fills in the resource’s description only
overrode the default when the real description was non-empty, and most of the
call sites passed an empty string. So the endpoint fell through to the placeholder on the exact
path an anonymous client — and therefore the index — sees. Measured on a sample of 12
anonymous /x402/<id> challenges: 8 placeholders, 4 real
— and all 4 real ones were premium endpoints that happened to take a different path.
The reading moved as the fix landed (gateway, 2026-10-08/09):
| Date | Our resources indexed | Placeholder description |
|---|---|---|
| 2026-10-05 | 140 | 112 (80%) |
| 2026-10-11 | 98 | 22 (22%) |
| 2026-10-13 | 98 | 20 (20%) — all pre-fix, 0 regression |
Two things are worth pulling out of that table. First, the drop is real and it is a healing backlog, not a live defect: no post-fix settlement has produced a placeholder. Second — and this is the one that bit us — the count went down while the number of indexed resources also went down. The index is not a stable ledger of “everything you published”; it is a set of records that exist because each one was settled at least once.
When we first saw the placeholders, the obvious fix was to pay one call through the
facilitator and re-settle the record. We checked, and at the time it did not
help: the paid path built its PAYMENT-REQUIRED from the same
challenge the anonymous path did, so a fresh settle simply re-wrote the same placeholder. The
money bought index membership, not correct metadata. Once the gateway bug was
fixed, a fresh settle did rewrite the correct text — the difference was entirely
upstream of the index, in our own 402.
That is the reusable shape of every one of these mistakes: you go looking for a write API or a re-index button, and the actual control you have is the response your endpoint serves.
Discovery layers are increasingly the front door for agent-to-API commerce, and it is tempting to treat them as databases you write to. They are closer to mirrors: they show you a copy of your own 402, taken at the moment someone paid. Keep the 402 right and the mirrors take care of themselves.
minia2a is an x402 pay-per-call API market for agents — 1,600+ endpoints, USDC on Base, five free trial calls per signed wallet.
Sources: the CDP Bazaar discovery index for our resources (98 indexed at 2026-10-13, 20 carrying the placeholder, all pre-2026-10-09 with 0 post-fix regression); the equality lastUpdated == quality.lastCalledAt on sampled records; and our own gateway source for the description-enrichment path. Readings taken 2026-10-05, 2026-10-11 and 2026-10-13.