x402 Trinity runs on your own machine — the client starts it, so there is no endpoint to ping. 263 installs a week from npm. Last commit 27 Sep 2026.
Give an agent a wallet. Pays for x402 resources within hard limits. Base + USDC, gasless.
We read the source, 6 d ago · rules 995398eba69f
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.
execFileSync(process.execPath, [fileURLToPath(new URL('node_modules/typescript/lib/tsc.js', ROOT)), '-p', 'tsconfig.json'],
const shards = Object.keys(process.env)
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
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.
claude mcp add x402-trinity -e 'X402_PRIVATE_KEY=<X402_PRIVATE_KEY>' -e 'X402_MAX_PER_REQUEST=<X402_MAX_PER_REQUEST>' -e 'X402_TOTAL_BUDGET=<X402_TOTAL_BUDGET>' -- npx -y x402-trinity
{
"mcpServers": {
"x402-trinity": {
"command": "npx",
"args": [
"-y",
"x402-trinity"
],
"env": {
"X402_MAX_PER_REQUEST": "<X402_MAX_PER_REQUEST>",
"X402_PRIVATE_KEY": "<X402_PRIVATE_KEY>",
"X402_TOTAL_BUDGET": "<X402_TOTAL_BUDGET>"
}
}
}
}
[mcp_servers.x402-trinity]
command = "npx"
args = ["-y", "x402-trinity"]
env = { X402_PRIVATE_KEY = "<X402_PRIVATE_KEY>", X402_MAX_PER_REQUEST = "<X402_MAX_PER_REQUEST>", X402_TOTAL_BUDGET = "<X402_TOTAL_BUDGET>" }
{
"mcpServers": {
"x402-trinity": {
"command": "npx",
"args": [
"-y",
"x402-trinity"
],
"env": {
"X402_MAX_PER_REQUEST": "<X402_MAX_PER_REQUEST>",
"X402_PRIVATE_KEY": "<X402_PRIVATE_KEY>",
"X402_TOTAL_BUDGET": "<X402_TOTAL_BUDGET>"
}
}
}
}
{
"servers": {
"x402-trinity": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"x402-trinity"
],
"env": {
"X402_MAX_PER_REQUEST": "<X402_MAX_PER_REQUEST>",
"X402_PRIVATE_KEY": "<X402_PRIVATE_KEY>",
"X402_TOTAL_BUDGET": "<X402_TOTAL_BUDGET>"
}
}
}
}
Put your own values in place of
<X402_PRIVATE_KEY> (Private key of the wallet that pays. Use a dedicated wallet holding only what you would accept losing. The server refuses to start without it), <X402_MAX_PER_REQUEST> (Hard ceiling for a single payment, in atomic units (USDC has 6 decimals, so 50000 is $0.05). Required: a model decides when payments happen, so the cap cannot come from the model), <X402_TOTAL_BUDGET> (Lifetime ceiling across all payments, in atomic units. Required for the same reason as the per-request cap).
The author’s registry entry marks them as required.
Optional settings from the registry entry, left out of the block above:
X402_BUDGET_FILE (Path to a file that makes the lifetime budget survive restarts. Without it the total resets every time the server starts), X402_ALLOW_HOSTS (Comma-separated hosts that may be paid. Anything else is refused however convincing the challenge looks), X402_NETWORKS (Networks to accept. Defaults to base).
Wallet and payments for AI agents: auto-pay x402 APIs in USDC on XDC, within on-chain limits.
Let an AI agent buy gift cards with USDC over x402, within limits the wallet owner sets.
Local Base USDC wallet for agents with capped x402 payments and Marketplace recovery.
minia2a.uk — x402 pay-per-call APIs for AI agents, USDC on Base, 5 free trials per wallet.
Agent wallet with limits: pays x402/MPP on Base, Solana, Tempo, XRPL and Algorand; phone approval.
Disposable Algorand wallet for AI agents. Pay x402 resources in USDC, no human provisioning.
Give your AI agent an x402 wallet: discover and pay for services in USDC, or earn from your own.
Give an AI agent its own blockchain wallet: balances, USDC transfers, x402 payments under policy.
Answers built from our own checks of this server.