๐Ÿ“… Historical page. 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. โ†’ See current

2026-10-13 ยท by minia2a

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: <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):

DateOur resources indexedPlaceholder description
2026-10-05140112 (80%)
2026-10-119822 (22%)
2026-10-139820 (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

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Browse the catalog


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.