Back to Directory/Developer Tools

io.github.fernsugi/x402-api

Eight paid DeFi tools: prices, gas, swaps, token security, holders, yields, funding and wallets

Developer ToolsTypeScriptv1.0.5

@x402-api/mcp-server

MCP server that gives Claude, ChatGPT, and any MCP-compatible AI agent access to pay-per-call crypto/DeFi data via the x402 protocol.

8 tools. No API keys. AI agents pay USDC micropayments on Base, per request.

Find this service: Official MCP Registry · Glama · Agent discovery manifest · OpenAPI.

  ██╗  ██╗██╗  ██╗ ██████╗ ██████╗
   ╚██╗██╔╝██║  ██║██╔═══██╗╚════██╗
    ╚███╔╝ ███████║██║   ██║ █████╔╝
    ██╔██╗ ╚════██║██║   ██║██╔═══╝
   ██╔╝ ██╗     ██║╚██████╔╝███████╗
   ╚═╝  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝

Tools

ToolAPI EndpointCostDescription
get_crypto_pricesGET /api/price-feed0.001 USDCBTC/ETH/SOL + top 24h movers
get_gas_pricesGET /api/gas-tracker0.001 USDCMulti-chain gas (ETH, Base, Polygon, Arbitrum)
get_dex_quotesGET /api/dex-quotes0.002 USDCOne ParaSwap aggregate route
scan_tokenGET /api/token-scanner0.003 USDCGoPlus security flags and heuristic
track_whalesGET /api/whale-tracker0.005 USDCTop-holder sample and supply share
scan_yieldsGET /api/yield-scanner0.005 USDCDefiLlama pool APYs and TVL
get_funding_ratesGET /api/funding-rates0.008 USDCHyperliquid and dYdX hourly rates
profile_walletGET /api/wallet-profiler0.008 USDCObserved Blockscout balances; partial coverage

Quick Start

Option A: Inspect mode (no payment needed)

Just run it — any 402 responses will return human-readable payment instructions:

npx @x402-api/mcp-server

Claude will tell you what's needed when a tool requires payment.

Option B: Auto-pay mode (fully autonomous)

Install optional payment deps and set your wallet key:

npm install -g @x402-api/mcp-server
npm install -g viem
export X402_WALLET_PRIVATE_KEY=0x<your_private_key>
x402-api-mcp

The MCP server signs Base USDC EIP-3009 authorizations only when the API advertises that settlement mode. The default payment cap is 0.01 USDC per call. Fund the wallet with USDC on Base; the API operator sponsors gas in direct settlement mode.


Claude Desktop Integration

Add to your claude_desktop_config.json:

Without auto-pay (inspect mode)

{
  "mcpServers": {
    "x402-api": {
      "command": "npx",
      "args": ["@x402-api/mcp-server"]
    }
  }
}

With auto-pay

{
  "mcpServers": {
    "x402-api": {
      "command": "npx",
      "args": ["@x402-api/mcp-server"],
      "env": {
        "X402_WALLET_PRIVATE_KEY": "0x<your_private_key>"
      }
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Environment Variables

VariableRequiredDescription
X402_WALLET_PRIVATE_KEYOptionalBase wallet private key for EIP-3009 automatic payment. Requires viem.
X402_MAX_PER_CALL_USDCOptionalPer-call cap, default 0.01 USDC.
X402_API_BASE_URLOptionalOverride API URL (default: https://x402-api.fly.dev)

How x402 Payments Work

This API uses the x402 protocol — HTTP 402 Payment Required:

  1. Agent calls tool → MCP server makes API request
  2. Server returns 402 with payment details (amount, USDC address, Base network)
  3. Auto-pay mode: this client signs an EIP-3009 authorization and retries; the API settles it on Base
  4. Inspect mode: MCP returns 402 details without signing or paying

Payment details:

  • Token: USDC on Base mainnet
  • Address: 0x60264c480b67adb557efEd22Cf0e7ceA792DefB7
  • Chain: Base (chain ID 8453)
  • Amount: 0.001–0.008 USDC per call (< 1 cent USD)

Tool Reference

get_crypto_prices

No parameters. Returns current prices for BTC, ETH, SOL + top 24h movers.

Cost: 0.001 USDC

get_gas_prices

No parameters. Returns gas prices for Ethereum, Base, Polygon, Arbitrum — slow/standard/fast tiers.

Cost: 0.001 USDC

get_dex_quotes

Get one ParaSwap aggregate route. No independent comparison between DEX venues.

ParameterTypeRequiredDescription
fromstring✅Input token (e.g. "ETH", "0x...")
tostring✅Output token (e.g. "USDC")
amountstring✅Amount to swap (e.g. "1.5")
Cost: 0.002 USDC

scan_token

Token security scan — detects rug-pull flags, honeypot patterns, mint authority, etc.

ParameterTypeRequiredDescription
tokenstring✅Contract address or symbol (e.g. "PEPE")
Cost: 0.003 USDC

track_whales

Top-holder sample from GoPlus. Gini and recent transfer history unavailable.

ParameterTypeRequiredDescription
tokenstring✅Contract address or symbol
Cost: 0.005 USDC

scan_yields

Top DeFi yield opportunities across Aave, Compound, Morpho, Lido, Pendle, etc.

ParameterTypeRequiredDescription
chainstring❌Filter by chain: "ethereum", "base", "arbitrum", "polygon"
min_tvlnumber❌Minimum TVL in USD (e.g. 1000000)
Cost: 0.005 USDC

get_funding_rates

Hourly perpetual funding from Hyperliquid and dYdX v4. Spreads are indicative.

ParameterTypeRequiredDescription
assetstring❌Asset symbol (e.g. "BTC", "ETH"). All assets if omitted.
Cost: 0.008 USDC

profile_wallet

Observed priced wallet balances and available transaction counts. DeFi positions, PnL and risk score unavailable.

ParameterTypeRequiredDescription
addressstring✅Ethereum/Base wallet address (0x...)
Cost: 0.008 USDC

Development

git clone https://github.com/fernsugi/x402-api-mcp-server
cd x402-api-mcp-server

npm install
npm run build
npm start

To test without a payment wallet, simply run and see the 402 responses:

node dist/index.js

Links


License

MIT

Three runnable workflows

WorkflowToolsTotal USDC
Token checkscan_token + track_whales0.008
ETH fundingget_funding_rates0.008
Swap quote + gasget_dex_quotes + get_gas_prices0.003

Runnable Node examples start in inspect mode. Each demo has inputs, recorded provider output, coverage limits, a spending cap, and an agent prompt.

Optional X402_REFERRAL_SOURCE labels requests for first-party aggregate attribution (default mcp). It is a hint, not verified caller identity. The API journals no raw payer wallets, IP addresses, or signatures. X402_EXPECTED_PAY_TO pins the payment recipient to the official wallet by default. Tools advertise that auto-pay can spend money and repeated calls can incur another charge.

Cursor / other local MCP clients

Use the same mcpServers configuration shown above. For Cursor, put it in .cursor/mcp.json in your project. Inspect mode needs no wallet. Set X402_MAX_PER_CALL_USDC before enabling auto-pay; repeated calls spend again. Keep wallet credentials in local environment settings, outside Git.

Registry publication

The Publish MCP Registry GitHub workflow validates the matching npm version, then publishes server.json using GitHub OIDC. It runs on a published GitHub release or a manual dispatch from main. No npm token, GitHub PAT, or wallet key is stored in CI. Actions and official publisher source are pinned to verified commits. npm publication still happens separately before creating the release.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @x402-api/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-fernsugi-x402-api": {
      "command": "npx",
      "args": [
        "-y",
        "@x402-api/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@x402-api/mcp-servernpm

Compatible MCP Clients

io.github.fernsugi/x402-api works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More