SwitchBord

io.github.6ixtyyPublished by GitHub account 6ixtyyv0.1.1Updated Oct 29, 2026

Free live router for paid agent APIs (x402, MPP): the best working seller for a task, plus backups.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinanceDeveloper Tools

Overview

AI-generated overview

Free live router that tells an agent which paid x402 or MPP API endpoint to call for a task, ranked by health, speed and price, with backups.

What you can do
  • Find ranked paid endpoints for a plain-language task, with fallbacks and live health checks
  • List markets of interchangeable sellers with seller counts and payment rails
  • Report how a paid call went, optionally with a payment transaction hash, to improve rankings
When to use it
Use it when an agent can pay for APIs over x402 or MPP and needs to pick a working, reasonably priced seller instead of guessing. Also useful for checking which markets and sellers exist before wiring up payments.
Requirements
Remote streamable HTTP endpoint; no signup, keys or auth. To actually call a paid seller, the agent needs its own wallet and an x402 or MPP client. Self-hosting needs Node 22; optional variables include PORT, SB_REBUILD_MS, DATABASE_URL or POSTGRES_URL, BLOB_READ_WRITE_TOKEN and CRON_SECRET.
Before you install
It does not pay, hold funds or guarantee sellers; the agent pays sellers directly from its own wallet, so spending is real. MPP sellers charge before the handler runs, while x402 sellers charge after success. Reported results and payment transaction hashes are sent to the service, and the task text you submit is shared with it.

Installation

In SourceWeft

  1. Open SwitchBord in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.6ixtyy%2Fswitchbord/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "switchbord": {
      "type": "http",
      "url": "https://api.switchbord.xyz/mcp"
    }
  }
}

README

[SwitchBord: the live router for paid agent APIs. An agent asks for a task; SwitchBord checks sellers live and returns the best one plus backups.]

[Live endpoints] [MCP Registry] [Protocols: x402 and MPP] [MIT License]

Website · Quick start · API · MCP setup · Self-host


Agents can now pay for APIs on their own, over x402 and MPP. There are tens of thousands of paid endpoints, and many of them are down, slow or overpriced at any given moment. SwitchBord tells your agent which ones to call. It asks for a task in plain words, like "search the web" or "ETH price", and gets back the sellers that are working, cheapest and fastest right now, checked live just before the answer, plus backups.

Free and openNo signup, no keys, no auth. MIT-licensed code you can read, run and fork.
Never touches your moneyYour agent pays the seller directly with its own wallet. SwitchBord only says who to call.
Live, not a directoryThe top candidates get a free, unpaid check right before the answer, so dead sellers drop out.
One inventory, every protocolEvery endpoint on Coinbase Bazaar (x402) and mpp.dev (MPP), rebuilt daily and grouped into markets of interchangeable sellers.

Quick start

Claude Code

bash
claude mcp add --transport http switchbord https://api.switchbord.xyz/mcp

Cursor, Windsurf, Cline and any client that reads an mcpServers block:

json
{ "mcpServers": { "switchbord": { "type": "http", "url": "https://api.switchbord.xyz/mcp" } } }

Any agent, one paste. Add this to CLAUDE.md, AGENTS.md or a system prompt (more in AGENTS-SNIPPET.md):

Before you pay any x402 or MPP API, ask SwitchBord who to call (free, no key).MCP: https://api.switchbord.xyz/mcp  or  GET https://api.switchbord.xyz/route?task=<what you need>&accepts=x402:base:usdcCall the top result; if it fails, try the next.

Building your own agent? integrations/switchbord-tool.mjs is a dependency-free tool with OpenAI-style and Anthropic-style schemas.

Selling on x402 or MPP? Show a live badge on your README: ![SwitchBord](https://api.switchbord.xyz/badge/your-host.com.svg) (details).

Plugins, Gemini CLI and other clients
  • Claude Code plugin: /plugin marketplace add 6ixtyy/switchbord, then /plugin install switchbord@switchbord
  • Gemini CLI: gemini extensions install https://github.com/6ixtyy/switchbord
  • Claude Desktop, VS Code and others: see MCP.md

Or just call the HTTP API:

bash
curl "https://api.switchbord.xyz/route?task=search%20the%20web&accepts=x402:base:usdc&max_price=0.05"

What you get back

A real answer for "search the web", trimmed to two candidates:

jsonc
{  "mode": "market",  "market": "web-search",  "sellersMatched": 99,  "candidates": [    {      "rank": 1,      "service": "StableEnrich",      "method": "POST",      "url": "https://stableenrich.dev/api/exa/search",      "priceUsd": 0.01,      "pay": ["x402:base:usdc"],      "charges": "after_success",          // x402: only charged when the seller answers OK      "input": { "body": { "query": "…", "numResults": 10 } },      "up": true, "ms": 264                // checked live just now    },    {      "rank": 2,      "url": "https://win.oneshotagent.com/v1/tools/search",      "priceUsd": 0.001,      "up": true, "ms": 217      // …    }  ]}

Every field is documented in API.md. Runnable snippets are in examples/.

How it works

mermaid
sequenceDiagram    participant A as Your agent    participant S as SwitchBord    participant P as Sellers (x402 / MPP)    A->>S: "search the web", accepts x402:base:usdc, max $0.05    S->>P: free, unpaid check of the top matches    P-->>S: payment terms + response time    S-->>A: ranked sellers, plus backups    A->>P: call the best one and pay it directly    A-->>S: (optional) report how it went
  1. Inventory. Every day SwitchBord pulls every listed endpoint from Coinbase Bazaar and mpp.dev, merges them and groups interchangeable sellers into markets.
  2. Match. Your task is matched to a market. If none fits, you still get the closest single endpoints.
  3. Check live. The top candidates get an unpaid request that reads their payment terms, so sellers that are down or misconfigured drop out.
  4. Rank. Candidates are ordered by health, speed, price and real-world results. The full logic is in src/router.ts and src/health.ts.

Reference

MCP toolUse it to
find_paid_endpointGet the best sellers for a task, with backups. Pass accepts (e.g. ["x402:base:usdc"]) so you only get sellers you can pay.
list_marketsSee the markets and how many sellers each has.
report_resultOptional: say how a call went, which improves rankings for everyone.
HTTP endpointWhat it returns
GET /route?task=…Ranked sellers for a task, checked live
GET /marketsMarkets and seller counts
GET /endpoints/:idOne endpoint from the inventory
POST /reportOptional: how a call went
GET /healthzInventory size and when it was last rebuilt
POST /mcpThe MCP server (streamable HTTP, stateless)

Paying sellers

SwitchBord does not pay for you, hold funds, or guarantee sellers. To call a paid seller, your agent needs its own wallet and an x402 or MPP client, for example Coinbase's @x402/fetch. Each candidate says how it charges:

  • after_success (x402): charged only when the seller answers OK, so trying a backup after a failure is safe.
  • before_handler (MPP): charged up front.

Run it yourself

The hosted service at api.switchbord.xyz runs this code. You can run your own copy with Node 22:

bash
git clone https://github.com/6ixtyy/switchbord && cd switchbordnpm cinpm run inventory   # pull Bazaar + mpp.dev, merge and classify → data/inventory.jsonnpm start           # API and MCP on http://localhost:8402

Everything works with no configuration. These environment variables are optional:

VariableWhat it doesWithout it
PORTPort for the local server8402
SB_REBUILD_MSHow often the local server rebuilds the inventoryevery 6 hours
DATABASE_URL or POSTGRES_URLSaves every live check to Postgresdata/checks.jsonl
BLOB_READ_WRITE_TOKENKeeps state in Vercel Blob between serverless runslocal files
CRON_SECRETLets your scheduler run the rebuild and sampling routes at any timeopen to anyone, rate-limited

To deploy on Vercel, import the repo: vercel.json builds the inventory and the function, and runs the daily rebuild.

Code map
PathWhat
src/sources/Pull listings from Coinbase Bazaar (x402) and mpp.dev (MPP)
src/inventory.ts, markets.ts, labels.tsMerge into one inventory, group into markets, label payment options
src/health.tsFree live checks: an unpaid request that reads the seller's 402
src/router.tsMatching, ranking and backups
src/history.tsCheck history (Postgres or a local file)
src/app.ts, mcp-tools.tsHTTP API and the remote MCP server
src/server.ts, vercel.tsLocal server and Vercel entry
site/switchbord.xyz: one static page, no build step
scripts/Vercel build and the API contract check
examples/curl, Node and MCP snippets

Contributing

Issues and pull requests are welcome. Bad rankings, dead sellers, new protocols and docs fixes are all useful. Read CONTRIBUTING.md first; for security issues see SECURITY.md. What changed: CHANGELOG.md. For language models: llms.txt. Privacy: PRIVACY.md.

License

MIT

Source: README.md at commit 9cbb32d

Tools

3

find_paid_endpoint

Find a paid API seller

Find the best paid API endpoint (x402 / MPP) for a task right now. Returns sellers ranked by live health, speed and price, with fallbacks when several sell the same thing. Works for any task: if no group of sellers matches, it returns the closest single endpoints from the full inventory. You pay the seller directly; SwitchBord never touches money.

Parameterstaskrequiredlimitmarketacceptsmax_price_usd

list_markets

List markets

List the markets (groups of interchangeable paid endpoints) with seller counts and payment rails.

Takes no parameters.

report_result

Report a call result

Report how a paid call went so rankings stay honest. Include the payment tx hash when you paid.

Parametersmstxnetworkoutcomerequiredendpoint_idrequired

Version history

2
  1. v0.1.1LatestOct 29, 2026
  2. v0.1.0Oct 14, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts