Skip to content
Markets open
Build with AI agents

Give your agent the wholesale market

Point any MCP client at one URL with your key in a header. The agent can price a number, verify a phone, send a message, place a call and top up its own balance with USDC, with no human in the loop and nothing to install.
A developer at a desk with a monitor open at the PacketExchange agents page, showing the Claude Code MCP configuration
Connect

One endpoint, your key in a header

  1. 01Create a key in the dashboard, scoped to what the agent should do. Use a test key while you build.
  2. 02Export it as PACKETEXCHANGE_API_KEY in the shell your client starts from.
  3. 03Paste the config for your client and restart it. The tools appear under packetexchange.

Streamable HTTP

https://packetexchange.io/mcp/http

Primary. Stateless, so every request stands alone and needs no session.

SSE, for older clients

https://packetexchange.io/mcp/sse

For clients that only speak SSE, through mcp-remote with --transport sse-only and the same header.

.mcp.json
{
  "mcpServers": {
    "packetexchange": {
      "type": "http",
      "url": "https://packetexchange.io/mcp/http",
      "headers": {
        "Authorization": "Bearer ${PACKETEXCHANGE_API_KEY}"
      }
    }
  }
}

Claude Code expands ${PACKETEXCHANGE_API_KEY} from your shell, so the key never sits in the file.

Building your own agent? The endpoint is plain JSON-RPC over HTTP. The MCP quickstart shows a tools/call in eight languages.

Autonomous

Price, pay and send, with no one in the loop

Everything an agent needs to finish a job is a tool call, including paying for it. The balance is prepaid, so the agent works within what the account holds.

  1. 01

    Price the destination

    wmmn_list_routes · wmmn_resolve_route

    Find the routes that serve a number and the one Smart Routing would pick, with the rate for that exact number. Free.

  2. 02

    Check what it can spend

    wmmn_get_balance

    Read the prepaid balance. Every send is charged to it, so the balance is the agent's budget.

  3. 03

    Top itself up

    wmmn_topup_x402

    Ask for an amount and get the payment terms back, sign a USDC authorization on Base and send it again; the balance is credited once it settles.

  4. 04

    Do the job

    wmmn_verify_start · wmmn_send_sms · wmmn_make_call

    Verify a phone, send the message or place the call. Each result carries its exact cost.

Tools

15 tools for the marketplace and your account

Parameters for every tool

Discover

  • wmmn_list_routes

    Search marketplace routes by destination, type, price ceiling and seller-stated ASR.

    FreeNo key needed

  • wmmn_route_details

    One route in full: price, billing increment, stated quality and Exchange Score.

    FreeNo key needed

  • wmmn_market_summary

    Route and destination counts right now; averages too when a key is present.

    FreeNo key needed

  • wmmn_resolve_route

    Preview which route Smart Routing would pick for a number, with alternatives.

    FreeNeeds a key

Connect

  • wmmn_purchase_route

    Connect a route to the account: no upfront charge, traffic then bills per use. Live key only.

    Connects a routeNeeds a key

  • wmmn_list_purchases

    The routes you have connected, with SIP credentials. Full-access key only.

    FreeNeeds a key

Send

  • wmmn_send_sms

    Send an SMS; returns segments and the exact cost.

    Bills the balanceNeeds a key

  • wmmn_make_call

    Place a call that can speak, play audio and collect keypad digits; returns the outcome and cost, or a call id while it runs.

    Bills the balanceNeeds a key

  • wmmn_get_call

    Live status of a call: answered, duration, cost, hangup reason and gathered digits.

    FreeNeeds a key

Verify

  • wmmn_verify_start

    Send a one-time code by SMS or a voice call. Only a hash of the code is kept.

    Bills the balanceNeeds a key

  • wmmn_verify_check

    Check a code: approved, denied, expired or max_attempts.

    FreeNeeds a key

  • wmmn_send_voice_otp

    Read your own code aloud on a call in en, es, fr, de, pt or hi.

    Bills the balanceNeeds a key

Account

  • wmmn_get_balance

    Prepaid balance and test credit.

    FreeNeeds a key

  • wmmn_list_transactions

    Recent charges, credits and top-ups.

    FreeNeeds a key

  • wmmn_topup_x402

    Fund the balance with USDC on Base over x402, $5 to $50,000.

    Moves USDCNeeds a key

Switch

18 more tools run a hosted Switch: routing, customers, suppliers, rates, invoicing, netting and fraud settings. They need the operator's key on an active Switch plan.

switch_preview_routing · switch_analytics_overview · switch_analytics_breakdown · switch_list_customers · switch_create_customer · switch_list_suppliers · switch_create_supplier · switch_set_route_plan_entries · switch_assign_customer_routing · switch_bulk_upsert_supplier_rates · switch_bulk_upsert_sell_rates · switch_create_invoice · switch_list_invoices · switch_ar_aging · switch_create_payable · switch_run_netting · switch_fraud_events · switch_update_fraud_settings

x402

An agent that funds itself

x402 turns a top-up into two HTTP requests. The first asks for an amount and gets HTTP 402 back with the exact terms: network, USDC amount and receiving address. The wallet signs a USDC authorization for those terms, sends the same request again, and the balance is credited when it settles. The wallet needs no ETH for gas.

Amount
$5 to $50,000 per top-up
Network
USDC on Base mainnet
What it pays for
The ordinary balance: every call is then billed from it as usual
Limits
Identity verification where it applies, and top-up velocity limits
For language models

llms.txt

A plain-text map of the site for coding assistants and agents, in the llms.txt format: the docs, quickstarts, pricing and the API reference, each with one line on what it is.

  • /llms.txt

    The curated index: what PacketExchange is, and a link to every page an agent needs.

  • /llms-full.txt

    The same, with every quickstart inlined: the steps, the requests in cURL, Node and Python, and the responses.

The OpenAPI specification is at /api/v1/docs/json for tools that read it directly.

Guardrails

Autonomy you can bound

  • The key never enters the chat

    It is set once in the client as an Authorization header. No tool takes a key argument, so the model never sees it and it never lands in a transcript.

  • Scoped keys

    Give the agent a key with only the scopes it needs, such as routes:read and verify:write, and nothing that buys or tops up unless you mean it to.

  • Test keys while you build

    A test key simulates every send and call against test credit, so an agent can rehearse the whole flow without delivering anything.

  • Spending is labelled

    Tools that bill, connect routes or move USDC say so first in their descriptions, so the agent knows before it calls them.

Start building

Connect your first agent

Open an account, create a scoped key and paste one config. Browsing the marketplace needs no key at all.