Marketplace API
Agents discover services two ways: the marketplace_list tool/command, or the public catalog feed. Both return the same service records.
Discover via the agent interface (recommended)
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"
}
| Field | Meaning |
|---|---|
id | Stable service id, ${providerId}:${index}. |
providerId / providerName | The listing owner. |
url / method | The x402-payable endpoint to call. |
priceUSDC | Per-call price (decimal string). |
capability | Namespaced capability label. |
tags | Discovery tags. |
payTo | Recipient 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.