npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

anchor-x402-mcp

v0.2.1

Published

MCP server for anchor-x402 — 14 x402-paid agent utilities on Base + Solana. 9 commodity primitives (anchor, screen, attest, decode/tx, resolve/name, price/token, decode/calldata, parse/datetime, intel/wallet) plus 5 universal LLM endpoints (roast, oracle

Readme

anchor-x402-mcp

MCP server exposing 14 anchor-x402 services as tools any Claude Desktop / Cursor / Codex / Continue agent can call. Pay-per-use USDC via x402 on Base mainnet — no API keys, no subscriptions.

What an agent gets

Fourteen tools, $0.001–$0.05 per call.

Commodity primitives (9, $0.001–$0.010):

| Tool | Price | What it does | |---|---|---| | anchor_hash | $0.005 | Anchor any 32-byte hash to Base + Solana mainnet in parallel; returns both tx URLs | | screen_wallet | $0.001 | OFAC SDN sanctions screening for any EVM or Solana wallet | | attest_decision | $0.010 | Verify a wallet signature over (input_hash, output_hash, decision); dual-chain anchor the result | | decode_tx | $0.001 | Structured decode of any mainnet tx (Base / Ethereum / Solana) | | resolve_name | $0.001 | Cross-chain name resolution (ENS, Bonfida SNS) | | token_price | $0.001 | USD spot price for any token by symbol or chain+contract | | decode_calldata | $0.001 | 4byte selector + ABI param decode for raw EVM calldata | | parse_datetime | $0.001 | Freeform datetime string → structured ISO 8601 | | intel_wallet | $0.005 | Bundled wallet intelligence: balances + activity + identity + sanctions in one call |

Universal LLM endpoints (5, $0.01–$0.05) — added in v0.2:

| Tool | Price | What it does | |---|---|---| | roast | $0.05 | Witty 3-5 paragraph roast of any target — wallet, tweet, code, idea, anything | | oracle | $0.05 | Yes/no oracle. Returns YES/NO/MAYBE + reason + dual-chain anchored (question \| answer \| timestamp) hash. Cryptographic receipt of when you asked. | | tldr | $0.01 | Summarize a URL (fetches up to 500KB) or pasted text into 3-5 concise bullets | | aura | $0.01 | Returns color, tier (S/A/B/C/D/F), score 0-9999, and a punchy 2-3 sentence aura read | | grade | $0.01 | Academic letter grade (A+ to F) with red-pen marginalia and one-paragraph summary |

The investigator (/v1/investigate, $7.77 async) and the hosted chatbot at chat.anchor-x402.com are not included in the MCP — they're accessed directly via the HTTP API and the browser respectively.

The MCP server pays for itself — your wallet gets debited automatically for each call. No prepay, no API key, no account.

Install

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "anchor-x402": {
      "command": "npx",
      "args": ["-y", "anchor-x402-mcp"],
      "env": {
        "ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"
      }
    }
  }
}

Restart Claude Desktop. Ask: "Anchor the hash 7646dda1564bde0ef3f3971f4c002962df64246da4aa1d8c47247e7632494710 on mainnet" — it'll call anchor_hash and pay $0.005 USDC from your wallet.

Claude Code

Add to your project's .mcp.json:

{
  "anchor-x402": {
    "command": "npx",
    "args": ["-y", "anchor-x402-mcp"],
    "env": {
      "ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"
    }
  }
}

Codex CLI (OpenAI)

Edit ~/.codex/config.toml:

[mcp_servers.anchor-x402]
command = "npx"
args = ["-y", "anchor-x402-mcp"]

[mcp_servers.anchor-x402.env]
ANCHOR_WALLET_PRIVATE_KEY = "0xYOUR_BASE_WALLET_PRIVATE_KEY"

Restart codex. Type /mcp to confirm anchor-x402 shows in the loaded servers list.

ChatGPT Desktop

Settings → IntegrationsMCP serversAdd server. Paste:

{
  "command": "npx",
  "args": ["-y", "anchor-x402-mcp"],
  "env": {
    "ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"
  }
}

Save, restart, the 9 tools appear in any chat with tool-use enabled.

Cursor

Edit ~/.cursor/mcp.json (global) or <project>/.cursor/mcp.json (project-scoped):

{
  "mcpServers": {
    "anchor-x402": {
      "command": "npx",
      "args": ["-y", "anchor-x402-mcp"],
      "env": {
        "ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"
      }
    }
  }
}

OpenAI Agents SDK (programmatic)

from openai_agents import Agent, MCPServerStdio

mcp = MCPServerStdio(
    command="npx",
    args=["-y", "anchor-x402-mcp"],
    env={"ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"},
)
agent = Agent(name="researcher", model="gpt-4o", mcp_servers=[mcp])

Same package, same env, programmatic instead of config-driven.

Continue / Smithery / generic MCP client

Same shape — command: npx, args: [-y, anchor-x402-mcp], env carries your wallet key. The MCP SDK handles transport.

Or install via Smithery one-liner:

npx -y @smithery/cli install anchor-x402-mcp --client claude

(replace --client claude with cursor, codex, windsurf, etc.)

Run standalone

ANCHOR_WALLET_PRIVATE_KEY=0xYOUR_KEY npx anchor-x402-mcp

Speaks MCP over stdio. Pipe into any MCP-compatible client.

Funding your wallet

The wallet you set as ANCHOR_WALLET_PRIVATE_KEY needs USDC on Base mainnet. Any amount works — even $1 buys 100 anchor calls or 1000 commodity-tier calls. Send USDC to your wallet's Base address:

  • USDC contract on Base: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • Bridge from Ethereum mainnet via bridge.base.org
  • Buy directly on Coinbase and withdraw to Base

The MCP server signs payments via x402 — Coinbase's open HTTP-native micropayments protocol. Each request:

  1. Hits an anchor-x402 endpoint
  2. Gets a 402 with payment requirements
  3. Server signs a USDC transfer authorization with your private key
  4. Retries the request with the signed payment — the API settles via Coinbase's facilitator

You see the response, your wallet's USDC balance ticks down by the call price. Sub-second, no ledger, no account.

Environment variables

| Variable | Required? | Purpose | |---|---|---| | ANCHOR_WALLET_PRIVATE_KEY | Yes for paid calls | EVM private key. The wallet pays for x402 calls. | | ANCHOR_API_URL | No | Override the API base URL. Default: https://api.anchor-x402.com. Useful for development against a self-hosted fork. |

If ANCHOR_WALLET_PRIVATE_KEY is unset, paid tool calls return a friendly 402 message explaining how to set it. /health and /openapi.json (not exposed as tools, but reachable via direct curl) work without payment.

Security notes

  • The private key lives in your MCP client's config file. Treat it like a hot wallet — only fund what you're willing to spend autonomously.
  • Recommended: generate a fresh wallet specifically for agent use. Top up periodically; don't reuse a wallet that holds significant funds.
  • The MCP server only signs USDC payment authorizations to anchor-x402's known treasury addresses (visible in the 402 response). It cannot drain your wallet to arbitrary addresses.
  • Source code is fully open at github.com/hypeprinter007-stack/anchor-x402-mcp. Audit before installing.

Verifying anchor receipts

Every anchor_hash and attest_decision call returns Base + Solana tx URLs. These are independently verifiable on the public block explorers — agents can confirm an anchor exists without re-paying:

  • Base: https://basescan.org/tx/<base.tx> — Input Data field contains the merkle root
  • Solana: https://solscan.io/tx/<solana.tx> — Memo program data contains the same hex

The on-chain bytes are the receipt; the API response is just a convenience wrapper around them. See the on-chain verifiability primer for the full verification recipe.

Troubleshooting

"Payment required (402). Set ANCHOR_WALLET_PRIVATE_KEY..." You haven't configured a wallet. Add the env var to your MCP config and restart Claude Desktop.

"Payment failed (402). The wallet may be out of USDC..." Your wallet ran out. Send USDC on Base to the wallet address shown in the server's startup log (it logs payer=0x… to stderr).

"anchor-x402 request failed: ..." Network or DNS issue. Check https://api.anchor-x402.com/health returns 200; if not, see the status page.

Links

  • Live API: https://api.anchor-x402.com
  • Site / trust portal: https://anchor-x402.com
  • Status: https://anchor-x402.betteruptime.com
  • Server source: https://github.com/hypeprinter007-stack/anchor-x402
  • MCP server source (this repo): https://github.com/hypeprinter007-stack/anchor-x402-mcp
  • x402 protocol: https://github.com/coinbase/x402
  • MCP spec: https://modelcontextprotocol.io

License

MIT