PluginBench
MCP Server

x402 Universal Payer MCP Server

io.github.nirholas/x402-bridge

What is the x402 Universal Payer MCP server?

Pay any x402 endpoint on the open web: auto-paying bridge with Bazaar discovery and spend caps.

How to install x402 Universal Payer

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • MCP_BRIDGE_EVM_PRIVATE_KEY
    secret

    0x-prefixed 32-byte hex private key that funds USDC payments on EVM chains (Base, Arbitrum, …). At least one of the EVM/SVM keys is required. Treat like cash — use a dedicated low-balance wallet.

  • MCP_BRIDGE_SVM_PRIVATE_KEY
    secret

    Solana secret key that funds USDC payments: base58 64-byte secret key (Phantom / solana-keygen format) or a JSON array of 64 integers. At least one of the EVM/SVM keys is required. Treat like cash.

  • MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC

    Per-call spending cap in atomic units (USDC has 6 decimals). Payments above this abort with a clear reason.

  • MCP_BRIDGE_MAX_TOTAL_ATOMIC

    Cumulative session spending ceiling in atomic units. Once total spend would exceed it, further payments abort until restart.

  • MCP_BRIDGE_ALLOWED_PAYTO

    Comma-separated payee allowlist. When set, any payment whose payTo address is not listed is refused.

  • MCP_BRIDGE_ALLOWED_HOSTS

    Comma-separated hostname allowlist for outbound paid requests. When set, any other host is refused before a request is signed.

  • MCP_BRIDGE_ALLOW_HTTP

    Set to 1 to allow http:// targets (local development only). https is enforced otherwise.

  • MCP_BRIDGE_DISCOVER_LIMIT

    Max number of x402 Bazaar resources to register as dynamic tools at startup. Set 0 to disable discovery.

  • MCP_BRIDGE_BAZAAR_URL

    x402 Bazaar discovery endpoint. Override to point at a self-hosted or alternative bazaar.

  • MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER

    How many request-amounts to deposit at once when opening an EVM batch-settlement channel.

  • MCP_BRIDGE_MAX_DEPOSIT_ATOMIC

    Hard cap in atomic units on a single batch-settlement channel deposit or top-up.

  • X402_MCP_BRIDGE_CHANNELS_DIR

    Directory for persisted batch-settlement channel state (survives client restarts).

  • RPC_URL_8453

    Per-chain RPC override, one variable per chain id (RPC_URL_<chainId>, e.g. RPC_URL_8453 for Base). Defaults to viem's public RPC for that chain.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "x402-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/mcp-bridge"
      ],
      "env": {
        "MCP_BRIDGE_EVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_EVM_PRIVATE_KEY>",
        "MCP_BRIDGE_SVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_SVM_PRIVATE_KEY>",
        "MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC>",
        "MCP_BRIDGE_MAX_TOTAL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_TOTAL_ATOMIC>",
        "MCP_BRIDGE_ALLOWED_PAYTO": "<YOUR_MCP_BRIDGE_ALLOWED_PAYTO>",
        "MCP_BRIDGE_ALLOWED_HOSTS": "<YOUR_MCP_BRIDGE_ALLOWED_HOSTS>",
        "MCP_BRIDGE_ALLOW_HTTP": "<YOUR_MCP_BRIDGE_ALLOW_HTTP>",
        "MCP_BRIDGE_DISCOVER_LIMIT": "<YOUR_MCP_BRIDGE_DISCOVER_LIMIT>",
        "MCP_BRIDGE_BAZAAR_URL": "<YOUR_MCP_BRIDGE_BAZAAR_URL>",
        "MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER": "<YOUR_MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER>",
        "MCP_BRIDGE_MAX_DEPOSIT_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_DEPOSIT_ATOMIC>",
        "X402_MCP_BRIDGE_CHANNELS_DIR": "<YOUR_X402_MCP_BRIDGE_CHANNELS_DIR>",
        "RPC_URL_8453": "<YOUR_RPC_URL_8453>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "x402-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/mcp-bridge"
      ],
      "env": {
        "MCP_BRIDGE_EVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_EVM_PRIVATE_KEY>",
        "MCP_BRIDGE_SVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_SVM_PRIVATE_KEY>",
        "MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC>",
        "MCP_BRIDGE_MAX_TOTAL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_TOTAL_ATOMIC>",
        "MCP_BRIDGE_ALLOWED_PAYTO": "<YOUR_MCP_BRIDGE_ALLOWED_PAYTO>",
        "MCP_BRIDGE_ALLOWED_HOSTS": "<YOUR_MCP_BRIDGE_ALLOWED_HOSTS>",
        "MCP_BRIDGE_ALLOW_HTTP": "<YOUR_MCP_BRIDGE_ALLOW_HTTP>",
        "MCP_BRIDGE_DISCOVER_LIMIT": "<YOUR_MCP_BRIDGE_DISCOVER_LIMIT>",
        "MCP_BRIDGE_BAZAAR_URL": "<YOUR_MCP_BRIDGE_BAZAAR_URL>",
        "MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER": "<YOUR_MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER>",
        "MCP_BRIDGE_MAX_DEPOSIT_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_DEPOSIT_ATOMIC>",
        "X402_MCP_BRIDGE_CHANNELS_DIR": "<YOUR_X402_MCP_BRIDGE_CHANNELS_DIR>",
        "RPC_URL_8453": "<YOUR_RPC_URL_8453>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "x402-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/mcp-bridge"
      ],
      "env": {
        "MCP_BRIDGE_EVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_EVM_PRIVATE_KEY>",
        "MCP_BRIDGE_SVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_SVM_PRIVATE_KEY>",
        "MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC>",
        "MCP_BRIDGE_MAX_TOTAL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_TOTAL_ATOMIC>",
        "MCP_BRIDGE_ALLOWED_PAYTO": "<YOUR_MCP_BRIDGE_ALLOWED_PAYTO>",
        "MCP_BRIDGE_ALLOWED_HOSTS": "<YOUR_MCP_BRIDGE_ALLOWED_HOSTS>",
        "MCP_BRIDGE_ALLOW_HTTP": "<YOUR_MCP_BRIDGE_ALLOW_HTTP>",
        "MCP_BRIDGE_DISCOVER_LIMIT": "<YOUR_MCP_BRIDGE_DISCOVER_LIMIT>",
        "MCP_BRIDGE_BAZAAR_URL": "<YOUR_MCP_BRIDGE_BAZAAR_URL>",
        "MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER": "<YOUR_MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER>",
        "MCP_BRIDGE_MAX_DEPOSIT_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_DEPOSIT_ATOMIC>",
        "X402_MCP_BRIDGE_CHANNELS_DIR": "<YOUR_X402_MCP_BRIDGE_CHANNELS_DIR>",
        "RPC_URL_8453": "<YOUR_RPC_URL_8453>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "x402-bridge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/mcp-bridge"
      ],
      "env": {
        "MCP_BRIDGE_EVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_EVM_PRIVATE_KEY>",
        "MCP_BRIDGE_SVM_PRIVATE_KEY": "<YOUR_MCP_BRIDGE_SVM_PRIVATE_KEY>",
        "MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC>",
        "MCP_BRIDGE_MAX_TOTAL_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_TOTAL_ATOMIC>",
        "MCP_BRIDGE_ALLOWED_PAYTO": "<YOUR_MCP_BRIDGE_ALLOWED_PAYTO>",
        "MCP_BRIDGE_ALLOWED_HOSTS": "<YOUR_MCP_BRIDGE_ALLOWED_HOSTS>",
        "MCP_BRIDGE_ALLOW_HTTP": "<YOUR_MCP_BRIDGE_ALLOW_HTTP>",
        "MCP_BRIDGE_DISCOVER_LIMIT": "<YOUR_MCP_BRIDGE_DISCOVER_LIMIT>",
        "MCP_BRIDGE_BAZAAR_URL": "<YOUR_MCP_BRIDGE_BAZAAR_URL>",
        "MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER": "<YOUR_MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER>",
        "MCP_BRIDGE_MAX_DEPOSIT_ATOMIC": "<YOUR_MCP_BRIDGE_MAX_DEPOSIT_ATOMIC>",
        "X402_MCP_BRIDGE_CHANNELS_DIR": "<YOUR_X402_MCP_BRIDGE_CHANNELS_DIR>",
        "RPC_URL_8453": "<YOUR_RPC_URL_8453>"
      }
    }
  }
}
Claude Code
claude mcp add x402-bridge --env MCP_BRIDGE_EVM_PRIVATE_KEY=<YOUR_MCP_BRIDGE_EVM_PRIVATE_KEY> --env MCP_BRIDGE_SVM_PRIVATE_KEY=<YOUR_MCP_BRIDGE_SVM_PRIVATE_KEY> --env MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC=<YOUR_MCP_BRIDGE_MAX_PRICE_PER_CALL_ATOMIC> --env MCP_BRIDGE_MAX_TOTAL_ATOMIC=<YOUR_MCP_BRIDGE_MAX_TOTAL_ATOMIC> --env MCP_BRIDGE_ALLOWED_PAYTO=<YOUR_MCP_BRIDGE_ALLOWED_PAYTO> --env MCP_BRIDGE_ALLOWED_HOSTS=<YOUR_MCP_BRIDGE_ALLOWED_HOSTS> --env MCP_BRIDGE_ALLOW_HTTP=<YOUR_MCP_BRIDGE_ALLOW_HTTP> --env MCP_BRIDGE_DISCOVER_LIMIT=<YOUR_MCP_BRIDGE_DISCOVER_LIMIT> --env MCP_BRIDGE_BAZAAR_URL=<YOUR_MCP_BRIDGE_BAZAAR_URL> --env MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER=<YOUR_MCP_BRIDGE_BATCH_DEPOSIT_MULTIPLIER> --env MCP_BRIDGE_MAX_DEPOSIT_ATOMIC=<YOUR_MCP_BRIDGE_MAX_DEPOSIT_ATOMIC> --env X402_MCP_BRIDGE_CHANNELS_DIR=<YOUR_X402_MCP_BRIDGE_CHANNELS_DIR> --env RPC_URL_8453=<YOUR_RPC_URL_8453> -- npx -y @three-ws/mcp-bridge

Related MCP servers

3D AI Agent Avatar — render any GLB, give it a Solana wallet, a voice, and pump.fun powers.

View repository →

MCP tools from three.ws: free + paid text-to-3D, rigging, agent reputation, market intel.

View repository →

UCAI — The ABI-to-MCP Server Generator. Convert any smart contract ABI into an AI-ready MCP server.

View repository →

Trending agents and coins, the $THREE holder leaderboard, and the site-wide activity ticker.

View repository →

Browse the AgenC on-chain task marketplace, query the agent registry, and link identities.

View repository →

Self-custodial pump.fun sniper: arm strategies, snipe, manage positions. Simulate by default.

View repository →