Back to Directory/Developer Tools

io.github.CryptoAPIs-io/mcp-hd-wallet

MCP server for HD wallet management, balance, and sync on EVM, UTXO, XRP via Crypto APIs

Developer ToolsTypeScriptv0.4.0

@cryptoapis-io/mcp-hd-wallet

MCP server for Crypto APIs HD Wallet (Wallet as a Service) product. Track and manage HD wallets by their extended public key (xPub/yPub/zPub) — no private keys ever leave your device.

API Version: Compatible with Crypto APIs version 2024-12-12

How It Works

HD (Hierarchical Deterministic) wallets derive all addresses from a single extended public key (xPub). You sync your xPub with Crypto APIs, and the service tracks all derived addresses, balances, and transactions on your behalf.

  1. Sync your xPub — provide your extended public key (xPub, yPub, or zPub) to start tracking
  2. Derive addresses — generate new receiving and change addresses from the xPub
  3. Query wallet data — get balances, list transactions, list UTXOs, and view assets across all derived addresses
  4. Prepare transactions — build unsigned transactions ready for local signing with @cryptoapis-io/mcp-signer

Your private keys are never sent to or stored by Crypto APIs. Only the extended public key is used for address derivation and balance tracking.

Features

  • Sync wallets by extended public key (xPub/yPub/zPub)
  • Derive receiving and change addresses from the xPub
  • Query aggregated balances, transactions, and assets across all derived addresses
  • List UTXOs for UTXO-based wallets
  • Prepare unsigned transactions directly from wallet
  • Supports EVM (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron), UTXO (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash), and XRP

Prerequisites

Installation

npm install @cryptoapis-io/mcp-hd-wallet

Or install all Crypto APIs MCP servers: npm install @cryptoapis-io/mcp

Usage

# Run with API key
npx @cryptoapis-io/mcp-hd-wallet --api-key YOUR_API_KEY

# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-hd-wallet

# HTTP transport
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000 --api-key YOUR_API_KEY

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "cryptoapis-hd-wallet": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-hd-wallet"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "cryptoapis-hd-wallet": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-hd-wallet"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}

MCP Inspector

npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-hd-wallet --api-key YOUR_API_KEY

n8n

  1. Start the server in HTTP mode:
    npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000 --api-key YOUR_API_KEY
    
  2. In your n8n workflow, add an AI Agent node
  3. Under Tools, add an MCP Client Tool and set the URL to http://localhost:3000/mcp

All servers default to port 3000. Use --port to assign different ports when running multiple servers.

Available Tools

manage_hd_wallet

Manage HD wallets (sync, activate, delete, list, status).

ActionDescription
sync-walletSync an HD wallet by extended public key (xPub/yPub/zPub)
list-walletsList all synced HD wallets
activate-walletActivate a previously synced wallet
delete-walletDelete a synced wallet
get-statusGet sync status of a wallet

hd_wallet_data_utxo

Query UTXO HD wallet data (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).

ActionDescription
get-detailsGet wallet balance and details
derive-receiving-addressDerive next receiving address
derive-change-addressDerive next change address
list-addressesList all derived addresses
list-transactionsList wallet transactions
list-utxosList unspent transaction outputs
list-assetsList assets held by wallet
prepare-transactionPrepare an unsigned transaction from wallet

hd_wallet_data_evm

Query EVM HD wallet data (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).

ActionDescription
get-detailsGet wallet balance and details
derive-receiving-addressDerive next receiving address
list-addressesList all derived addresses
list-transactionsList wallet transactions
list-assetsList tokens held by wallet
prepare-transactionPrepare an unsigned transaction from wallet

hd_wallet_data_xrp

Query XRP HD wallet data.

ActionDescription
get-detailsGet wallet balance and details
derive-receiving-addressDerive next receiving address
list-addressesList all derived addresses
list-transactionsList wallet transactions
list-assetsList assets held by wallet

CLI Arguments

ArgumentDescriptionDefault
--api-keyCrypto APIs API keyCRYPTOAPIS_API_KEY env var
--transportTransport type: stdio or httpstdio
--hostHTTP host0.0.0.0
--portHTTP port3000
--pathHTTP path/mcp
--statelessEnable stateless HTTP modefalse

HTTP API Key Modes

When using HTTP transport, the server supports two API key modes:

  • With --api-key: The key is used for all requests. x-api-key request headers are ignored.
  • Without --api-key: Each request must include an x-api-key header with a valid Crypto APIs key. This enables hosting a public server where each user provides their own key.
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000
# Clients send x-api-key header with each request

Stdio transport always requires an API key at startup.

Important: API Key Required

Warning: Making requests without a valid API key — or with an incorrect one — may result in your IP being banned from the Crypto APIs ecosystem. Always ensure a valid API key is configured before starting any server.

Remote MCP Server

Crypto APIs provides an official remote MCP server with all tools available via HTTP Streamable transport at https://ai.cryptoapis.io/mcp. Pass your API key via the x-api-key header — no installation required.

License

MIT

Installation

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

bash
npx -y @cryptoapis-io/mcp-hd-wallet

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-cryptoapis-io-mcp-hd-wallet": {
      "command": "npx",
      "args": [
        "-y",
        "@cryptoapis-io/mcp-hd-wallet"
      ]
    }
  }
}

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

@cryptoapis-io/mcp-hd-walletnpm

Compatible MCP Clients

io.github.CryptoAPIs-io/mcp-hd-wallet 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