Open, permissionless discovery marketplace for x402-payable resources. No account or KYC required.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
An open, permissionless marketplace and discovery layer for AI agents β APIs, MCP tools, datasets, and x402-payable services that autonomous software can find, evaluate, and pay for per request. Repo/package name is still open-x402-bazaar for continuity; the product is Agent Bazaar.
Coinbase's own x402 Bazaar is excellent, but getting listed on it requires a verified Coinbase Developer Platform account, which in turn can require business/KYC verification for some account paths. That's a real barrier for a protocol whose whole point is permissionless, agent-to-agent commerce. This project is an attempt at an alternative: anyone with a valid x402 manifest can list here, with no account and no identity verification at all.
It's built to be wire-compatible with Coinbase's Bazaar discovery API, so any existing x402 client library that already knows how to query the CDP Bazaar can point at this instead with a config change, not a rewrite.
Live at: https://bazaar.saylorinnovations.com
Live at bazaar.saylorinnovations.com, on Cloudflare Pages + D1. Submission, validation, storage, ranked discovery, resource/provider detail pages, and anti-spam basics are all working. The catalog is bootstrapped from a full mirror of Coinbase's public CDP Bazaar plus Saylor Innovations' own real endpoints β see below.
Coinbase's discovery API itself requires no API key or account to read β only to list on it. So this project mirrors the whole public catalog (~15,600 resources across ~2,000 hosts, at last import) via scripts/import-cdp-bazaar.mjs, and layers permissionless listing on top:
source: 'cdp-mirror' internally.POST /submit their own manifest at any time β a self-submitted listing always overwrites the mirrored copy for that host and is tagged source: 'submitted'. The importer never touches a claimed host.calls30d, uniquePayers30d, lastCalledAt) as a quality field on each resource β a trust signal that matters more here than on a KYC'd catalog, since anyone can list anything.Re-run the mirror periodically to pick up new resources Coinbase has indexed (safe to re-run β see script header):
scripts/import-saylor-official.mjs lists Saylor Innovations' real, live x402 endpoints (research/security/data utilities plus Solana on-chain intelligence, all served from saylorinnovations.com) as verified (source: 'submitted') resources β the same trust tier a self-submission gets, seeded directly since Saylor Innovations operates this bazaar. Nothing here is fabricated: pricing, descriptions and accepts[] come from the live /api/services endpoint and the public manifest at saylorinnovations.com/.well-known/x402.json.
x402 payments settle peer-to-peer β agent to payTo wallet β never through this bazaar. So listing here doesn't change how you get paid, it changes how many agents find the endpoint to pay. There's no platform fee on the transaction itself today; the plan is to keep discovery free and, if/when it makes sense, monetize optional things like featured placement or verified-provider tooling rather than taxing the payment path.
No signup. POST the URL of your own .well-known/x402.json (or equivalent) manifest:
The manifest is fetched (over HTTPS, with SSRF guards β private/internal addresses are refused before any request is made), validated, and any resource with a populated accepts[] (scheme + network + payTo) is indexed. Re-submitting the same manifest URL refreshes your listing and claims the host if it was previously only in the Coinbase mirror. Submissions are rate-limited per IP (20/hour, 60/day) β every attempt counts, not just successful ones, so failing probes can't dodge the limit.
Same model, different shape β an A2A agent card has skills[] instead of accepts[] and no inherent payment model, so it lives in its own agent_cards table rather than being forced into the resources shape:
Requires at minimum a name; skills[], provider, protocolVersion and documentationUrl are stored when present. Same SSRF guards, same rate limiting, same no-account model.
Mirrors the field names and shape of Coinbase's CDP Bazaar API, plus an additive quality field and a stats endpoint:
| Endpoint | Purpose |
|---|---|
GET /discovery/search?query=&network=&asset=&scheme=&payTo=&urlSubstring=&maxUsdPrice=&limit= | Keyword/filter search. Text queries rank by relevance (FTS5 bm25); filter-only queries rank by 30-day call volume |
GET /discovery/resources?limit=&offset=&sort= | Paginated listing of every indexed resource. sort=recent for newest-first, default ranks by 30-day call volume |
GET /discovery/merchant?payTo=<address> | All resources that pay a specific address |
GET /discovery/stats?full= | Catalog totals: listings, resources, accepts, merchants, network count, calls. full=1 adds the per-network/per-source breakdown β a full table scan, so it's opt-in, not computed by default |
GET /resources/{slug}.json | Full machine-readable record for a single resource |
GET /discovery/agents?query=&limit=&offset= | Search/list the A2A agent registry (other agents' cards, not Agent Bazaar's own) |
GET /agents/{slug}.json | Full A2A agent card as submitted |
GET /discovery/featured?limit= | Currently-featured resources (paid placement, see below) |
GET /feature?slug=&days={7,30,90} | x402-payable: pay Agent Bazaar directly to feature an already-listed resource. See "Featured placement" below |
No API key required for any read endpoint β same as Coinbase's.
Agent-facing docs: /llms.txt Β· /llms-full.txt Β· /openapi.json Β· /agents.json Β· /.well-known/agent-card.json (A2A).
Every resource has a permanent, crawlable, server-rendered URL β not a client-side-only modal β with a machine-readable JSON twin alongside it:
| Page | Purpose |
|---|---|
/resources/{slug} | Resource detail: description, pricing, accepts[], schema, curl/JS/Python examples |
/providers/{host} | Every resource published by one provider |
/agents | Quickstart for connecting an agent (discover β inspect β pay β execute β verify), plus the registered-agents directory |
/agents/{slug} | A2A agent detail page β skills, provider, protocol version, card URL |
/publish | How to list a resource as a seller |
/docs | What x402/MCP/A2A are, how agent payments work, self-hosting |
/guides, /guides/{slug} | 11 in-depth, code-backed guides β full-length versions of the /docs FAQ answers, plus provider/agent-builder how-tos. .json twin per guide |
/categories, /categories/{type} | Browse by resource type (populated as providers set one β sparse for the mirrored bulk of the catalog, which doesn't). .json twin (/categories/{type}.json?limit=) returns the whole collection as one array β for an agent that wants "the entire guide library" in one call instead of walking cards one at a time |
/networks, /networks/{network} | Browse by CAIP-2 network β populated for every resource, since it comes from accepts[] |
/protocols, /protocols/{x402,mcp,a2a} | What each protocol is and how Agent Bazaar uses it, with live stats |
/mcp | GET: info page. POST: a real MCP server (JSON-RPC/Streamable HTTP) over the same catalog β search_resources, get_resource, get_pricing, discover_provider, list_resources, get_stats |
Agent Bazaar's MCP server is published to the official MCP Registry as io.github.SaylorInnovations/agent-bazaar β the canonical registry other aggregators (Glama, PulseMCP) pull from. server.json at the repo root is the source of truth; to re-publish after a change, bump its version and run:
Also listed (as a marketplace, not an MCP server specifically) in awesome-x402, awesome-mcp-servers (Aggregators), and gold-402 (Marketplaces & Discovery).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/agent-bazaar)<a href="https://allmcps.com/mcp/agent-bazaar"><img src="https://allmcps.com/api/badge/agent-bazaar?style=directory" alt="Agent Bazaar on AllMCPs" /></a>