Skip to main content
A human browses the Catalog in the app. An agent reads its public, unauthenticated feed, or searches it through the Catalog MCP server. All three surface the same curated set of Router-payable services.

Browse in the app

Open nevermined.app/catalog to explore listings visually:
  • Categories — filter by top-level category and sub-category (Search & Research, Crypto & Blockchain, AI & Media, and more).
  • Search — free-text over a service’s title and description.
  • Service detail — each listing has a page with its description, protocol, indicative price, callable endpoints, tags, and links to the provider’s homepage and docs.
The app is a browsing surface. To actually buy, an agent drives the Router — the same directory, read programmatically.

Read the feed

Every listed service is in one public JSON document, ai-catalog.json. It’s unauthenticated and cached for five minutes, so send no Authorization header. Fetch it once and filter on your side:
/api/v1/catalog/services and /api/v1/catalog/categories aren’t a public integration. They return 403 to outside callers, by design. Read the feed instead, or use the Catalog MCP when you want the search done for you.
The feed lists the live Catalog, and its services are live-only for payment: they settle on mainnet and a sandbox deployment funds testnets only, so paying one from sandbox fails with 400 BCK.ROUTER.0001 (see an agent buying on its own). The one exception is the pair of free testnet test merchants the sandbox Catalog carries for rehearsal — see the Commerce MCP page.

Filter it

The feed has no query parameters: it’s the whole Catalog, so every filter runs on your side. These all work as written against the file you just saved. By category and protocol:
By free text over title and description, case-insensitive:
The categories in use, with a count and the sub-categories under each:
One service by slug, with the path to send for each endpoint:
Category names are matched verbatim — "Search & Research", not "Search" — and a misspelt one returns an empty list, not an error. Take them from the categories recipe rather than from memory. The fields you’ll actually use on each service:
The feed carries no merchant URL, on purpose. You pay a listed service by its slug: the Router resolves the merchant’s host server-side and refuses a raw-URL payment to it with 409 BCK.ROUTER.0014. For an endpoint, send its invokePath when present — even when it’s "", which means “append nothing” — and its path otherwise. In code that’s invokePath ?? path, not ||: turning "" back into the path double-stacks it, and the call 404s after the charge.

Search server-side with the Catalog MCP

The Catalog MCP server does the search for you. Its search_services, get_service and list_categories tools are free and need no key. One stateless POST per call:
Always send a query, and read the result as plain JSON rather than a fixed shape — search is moving to semantic ranking with a new result format (see Run a discovery call). Don’t page through it: to see the whole Catalog, use the feed. More worked calls, including get_service’s requestShape, are in Build Outcomes.

For crawlers and registries

The full machine-facing discovery contract — the feed’s fields, the slug-addressing rule, and more filter recipes — ships in the Router AI coding skill (nevermined-router), so your assistant already knows how to walk the Catalog.

What “listed” means

The Catalog only lists services the Router can actually pay — those that price each request on the wire (x402 and MPP). Services that bill out of band aren’t listed, so a browsing agent is never handed one it can’t buy. More on the Catalog’s contents in AI Services.

From discovery to a paid call

Once you’ve picked a service, buying it is the Router flow:
1

Read its slug and endpoint

Straight off the feed entry: the slug, plus the endpoint’s invokePath ?? path. You don’t need to know x402 from MPP — the Router probes the service and detects the protocol from its 402.
2

Get an API key, a Delegation, and funds

A one-time setup — see the Router quickstart.
3

Route the call

Hand the Router the slug and the request. It pays the 402 from your wallet, enforces your cap, and relays the answer.

Router quickstart

From an API key to a paid call against a service you found here, in five steps.

Publish your own service

Listing a service you own — and the health validation it passes before it goes live — is covered in AI Services → Add your AI Service.