Skip to main content

Marketplace API

Agents discover services two ways: the marketplace_list tool/command, or the public catalog feed. Both return the same service records.

npx xdcai marketplace list --search "usdc,rates" --max-price 0.05

or the MCP tool marketplace_list. This is the normal path — it ranks the live catalog by relevance. See Tools & commands.

Service object

Each service returned by discovery has this shape:

{
"id": "acme-data:0",
"providerId": "acme-data",
"providerName": "Acme Data",
"url": "https://api.acme.example/x402/rates/summary",
"method": "GET",
"priceUSDC": "0.01",
"capability": "xdc.defi.rates.summary",
"tags": ["defi", "rates", "usdc", "xdc"],
"payTo": "0xYourRecipientAddress"
}
FieldMeaning
idStable service id, ${providerId}:${index}.
providerId / providerNameThe listing owner.
url / methodThe x402-payable endpoint to call.
priceUSDCPer-call price (decimal string).
capabilityNamespaced capability label.
tagsDiscovery tags.
payToRecipient address (attached at ingestion).

Filtering & ranking

  • search — comma-separated terms; ranked by capability + tags + provider name (OR semantics, best first). Non-matches are dropped.
  • capability — exact capability match.
  • maxPriceUSDC — cap the price.
  • --sort most-used / --min-calls — rank/filter by real usage.

Public catalog feed

A public, read-only catalog feed backs discovery for integrations that can't run the agent tools:

GET https://xdcai.tech/api/catalog

Returns the array of live service records (same shape as above). This is the only endpoint intended for public programmatic discovery — build against marketplace_list or /api/catalog, not internal admin routes.

note

The catalog is read-only by design. Listings are added through the curated submission flow, not by writing to an API.