io.github.CryptoAPIs-io/mcp-hd-wallet
MCP server for HD wallet management, balance, and sync on EVM, UTXO, XRP via Crypto APIs
Ask AI about io.github.CryptoAPIs-io/mcp-hd-wallet
Powered by Claude Β· Grounded in docs
I know everything about io.github.CryptoAPIs-io/mcp-hd-wallet. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
@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.
- Sync your xPub β provide your extended public key (xPub, yPub, or zPub) to start tracking
- Derive addresses β generate new receiving and change addresses from the xPub
- Query wallet data β get balances, list transactions, list UTXOs, and view assets across all derived addresses
- 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
- Node.js 18+
- Crypto APIs account and API key (sign up | get API key)
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
- Start the server in HTTP mode:
npx @cryptoapis-io/mcp-hd-wallet --transport http --port 3000 --api-key YOUR_API_KEY - In your n8n workflow, add an AI Agent node
- Under Tools, add an MCP Client Tool and set the URL to
http://localhost:3000/mcp
All servers default to port 3000. Use
--portto assign different ports when running multiple servers.
Available Tools
manage_hd_wallet
Manage HD wallets (sync, activate, delete, list, status).
| Action | Description |
|---|---|
sync-wallet | Sync an HD wallet by extended public key (xPub/yPub/zPub) |
list-wallets | List all synced HD wallets |
activate-wallet | Activate a previously synced wallet |
delete-wallet | Delete a synced wallet |
get-status | Get sync status of a wallet |
hd_wallet_data_utxo
Query UTXO HD wallet data (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).
| Action | Description |
|---|---|
get-details | Get wallet balance and details |
derive-receiving-address | Derive next receiving address |
derive-change-address | Derive next change address |
list-addresses | List all derived addresses |
list-transactions | List wallet transactions |
list-utxos | List unspent transaction outputs |
list-assets | List assets held by wallet |
prepare-transaction | Prepare 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).
| Action | Description |
|---|---|
get-details | Get wallet balance and details |
derive-receiving-address | Derive next receiving address |
list-addresses | List all derived addresses |
list-transactions | List wallet transactions |
list-assets | List tokens held by wallet |
prepare-transaction | Prepare an unsigned transaction from wallet |
hd_wallet_data_xrp
Query XRP HD wallet data.
| Action | Description |
|---|---|
get-details | Get wallet balance and details |
derive-receiving-address | Derive next receiving address |
list-addresses | List all derived addresses |
list-transactions | List wallet transactions |
list-assets | List assets held by wallet |
CLI Arguments
| Argument | Description | Default |
|---|---|---|
--api-key | Crypto APIs API key | CRYPTOAPIS_API_KEY env var |
--transport | Transport type: stdio or http | stdio |
--host | HTTP host | 0.0.0.0 |
--port | HTTP port | 3000 |
--path | HTTP path | /mcp |
--stateless | Enable stateless HTTP mode | false |
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-keyrequest headers are ignored. - Without
--api-key: Each request must include anx-api-keyheader 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
