The directory reads the registry, not our database
The directory renders GET /discovery/resources from the facilitator's public
Bazaar registry, plus any registries configured for mirroring. It does not
render our own tables.
That is deliberate. It means nothing appears in the directory that an agent could not also discover for itself, and it means listings that settle on Base or Solana show up next to listings that settle on Flare.
The registry is public infrastructure. Anyone can build a competing directory on the same endpoint, including on ours. What is worth paying for is the layer on top: ranking, reliability history, curation, and search that matches on capability.
As an API
GET /api/directory
Returns every listing as JSON — prices, schemas, sources, and trust signals.
| Parameter | Effect |
|---|---|
q |
Capability search across names, tags, descriptions, schemas and paths. |
type |
http or mcp. |
maxPrice |
Cheapest accept, in dollars. |
settled=1 |
Only listings whose reliability we measured ourselves. |
Trust signals
An agent about to spend money cannot evaluate a listing the way a developer can. It cannot skim the changelog or ask a colleague. So every listing carries the signals that are expensive to fake:
| Signal | What it means |
|---|---|
| Success rate | Share of paid calls that returned 2xx, over 30 days. |
| p95 latency | Measured at our gateway, not self-reported. |
| Calls settled | How many paid calls actually completed. |
| Settled volume | Money that moved. A spam listing cannot fabricate this. |
| First seen | When the listing entered the registry. |
Not measured is not zero
A listing shows not measured rather than a number when we have nothing to measure. That happens for services that registered directly with a facilitator and do not route traffic through our gateway — most of the mirrored ones.
Uptime is currently shown as unmeasured for every listing. Reporting it honestly needs a synthetic prober that is not running yet, and inferring it from organic traffic would produce a number that looks like uptime without being uptime.
Listings are labelled either settled here (we serve the traffic and the numbers are ours) or direct listing (registered elsewhere, shown exactly as the registry publishes it).
Ranking
In order:
- Settled volume — money that moved outranks everything.
- Number of settled calls.
- Documentation quality — a concrete output example beats an equally unproven listing without one.
- Name, alphabetically.
Publish-time quality rules
A listing is refused unless it carries a description of at least 20 characters,
a per-endpoint description of at least 10, a concrete output example, and a
passing test_endpoint result. An agent choosing between two endpoints has
only this metadata to go on.