mcpbeat Sign in

x402 Wallet MCP Server

local only

x402 Wallet runs on your own machine — the client starts it, so there is no endpoint to ping. 115 installs a week from npm. Last commit 1 Nov 2026.

Self-custodial x402 wallet for AI agents: pay any service in USDC or $THREE from your own key.

Installs per day peak 29 · avg 7 · +311% w/w
a month agotoday
115
Installs / week
npm · @three-ws/x402-mcp
264
Stars
6 open issues
1 Nov 2026
Last commit
2 releases in 90 days
Apache-2.0
License
JavaScript

What the code does

We read the source, 22 h ago · rules 995398eba69f

A tool parameter reaches a dangerous call

A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.

A tool parameter reaches a file or shell call animation_signature.clip → packages/render/bin/tty.js:150, apply_animation.animation → packages/render/bin/tty.js:78
        await fs.writeFile(out, bytes);
Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Reaches cloud metadata service api/_lib/gcp-auth.js:91
        'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token',
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Builds a file path from a variable api/sitemap/[type].js:77, chat/vite.config.js:18
                return JSON.parse(await readFile(path.join(base, rel), 'utf8'));
    const child = spawn(command[0], command.slice(1), { stdio: 'inherit', shell: false });
Executes code built at runtime packages/blender-mcp/src/py/runner.py:716
        exec(compile(job["code"], "<three-ws-blender-mcp>", "exec"), namespace)
Builds a database query by concatenation packages/motion/src/solve.js:122
    const drop = STANDING_HIP_HEIGHT * (root.height - 1) + root.rise;
            if (reset) { state.cursor = null; state.total = 0; grid.innerHTML = skeletons(); stateEl.hidden = true; }
        `https://api.telegram.org/bot${cfg.token}/sendMessage`,
Long encoded blob in source api/_lib/x402/ring-catalog.js:56
    'UklGRmQBAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YUABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA…
Page loads a third-party script pages/a-me.html:18, pages/agi.html:52
    <script type="module" src="https://three.ws/agent-3d/latest/agent-3d.js"></script>

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

A tool parameter here reaches a dangerous call

That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add x402-mcp -- npx -y @three-ws/x402-mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "x402-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/x402-mcp"
      ]
    }
  }
}
~/.codex/config.toml
[mcp_servers.x402-mcp]
command = "npx"
args = ["-y", "@three-ws/x402-mcp"]
.cursor/mcp.json
{
  "mcpServers": {
    "x402-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/x402-mcp"
      ]
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "x402-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/x402-mcp"
      ]
    }
  }
}

Optional settings from the registry entry, left out of the block above: SOLANA_SECRET_KEY (Base58 (or JSON byte-array) Solana secret key that signs payments and holds the USDC. Not needed for the read tools (find_services, inspect_endpoint, or x402_wallet with an explicit address). Treat like cash), SOLANA_RPC_URL (Solana mainnet RPC endpoint. Defaults to the public cluster — bring your own (Helius / Quicknode / Triton) for production traffic), MAX_PAY_USD (Max USD a single pay_and_call may spend. Bounds a runaway or injected payment), REQUIRE_CONFIRM (When on (default), pay_and_call refuses until re-issued with confirm:true. Set 0/false to disable the gate), THREE_WS_BASE (Base URL of the three.ws API that serves /api/bazaar/search for find_services. Override only when self-hosting).

Alternatives to x402 Wallet

same job, measured the same way
three.ws Agent Wallet
by nirholas

Give your AI agent an x402 wallet: discover and pay for services in USDC, or earn from your own.

answering
Agentpay
by up2itnow0822

Non-custodial x402 payment MCP server for AI agents. Wallets and payments on 17 chains.

461 installs/wk local only
Clawpay
by up2itnow0822

Non-custodial x402 payment MCP server for AI agents. Wallets, payments, and commerce on 17 chains.

local only
Aeron Wallet
by aeronlabs

Non-custodial agent wallet for Robinhood Chain. Pays x402 requests in USDG.

156 installs/wk local only
Xenarch MCP
by xenarch-ai

Xenarch — x402 MCP server for AI agent payments. Non-custodial, USDC on Base L2.

145 installs/wk local only
XDC AI
by 0xbeny

Wallet and payments for AI agents: auto-pay x402 APIs in USDC on XDC, within on-chain limits.

answering
Minia2a MCP
by minia2a

minia2a.uk — x402 pay-per-call APIs for AI agents, USDC on Base, 5 free trials per wallet.

1 018 installs/wk local only
Xpay
by xona-labs

Xona Wallet: agent wallet for AI agents. x402 payments, AgenC hires, 20k+ services

324 installs/wk local only

x402 Wallet — questions

Answers built from our own checks of this server.

Why is there no uptime for x402 Wallet?
x402 Wallet runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @three-ws/x402-mcp was installed 115 times last week.
How do I connect x402 Wallet?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It runs locally, so the command pulls @three-ws/x402-mcp straight from npm; nothing to host, nothing to sign up for.
How many people use x402 Wallet?
The npm package @three-ws/x402-mcp was installed 115 times in the last week. Week over week that is +311%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is x402 Wallet open source?
Yes — it is published under the Apache-2.0 licence, written in JavaScript, 264 stars on GitHub and 6 open issues. The source link is on this page, so you can read exactly what it does with your data before you connect it.