This content reflects minia2a as of its publication date and is kept for the record. Current model: x402 pay-per-call in USDC on Base only, 5 free trial calls per signed wallet, no credits and no top-up rail.
A discovery index stores a snapshot of your 402, taken when a payment settles
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.
The measurement
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.
So what is written at that instant? A snapshot of the
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.
The bug it hid in our own gateway
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: *
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/ 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.
The trap: paying to “refresh” your metadata did not work
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.
What to check on your own listing
- Fetch your own anonymous 402 and read its description. Not the paid path, not a probe-flagged path — the plain unauthenticated request an index will see. If that response carries a placeholder, every index entry built from it will too.
- Expect your discovery record to lag your deploy by one settlement. A brand new endpoint that has never been paid-through has, to a registry-reading client, no settled record yet. That is not a bug in the index; it is the index doing exactly what it does.
- Do not assume money fixes metadata. Re-settling re-writes whatever your 402 currently serves. If your 402 is wrong, a re-settle faithfully copies the wrong thing.
- Fix it at the source of truth. For us that was one conditional in the gateway that decides whether the real description overrides the default. The index needed no change; it needed us to serve the right bytes.
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.
Originally published at minia2a.uk.
Top comments (0)