Build an AI Wallet Agent in 15 Minutes with MCP
Give your AI agent on-chain wallet access across 79 blockchains. Connect Claude to WalletSuite MCP Server — query balances, prepare transfers, no SDK required.
WalletSuite MCP is a Model Context Protocol (MCP) server that gives AI agents on-chain wallet access across 79 blockchains. Install via npx, configure one JSON block, and your agent can query balances, look up prices, and prepare transfers — no SDK, no RPC, no boilerplate.
Your AI agent needs to move money. The alternative is weeks of wallet plumbing — RPC providers, gas estimation, nonce management, key security — before it sends a single transaction. Then repeat for every chain. WalletSuite is wallet infrastructure for AI agents: one MCP server handles safety, spend governance, and key isolation so you don't have to.
What You'll Build
An AI agent (Claude) connected to WalletSuite MCP that can:
- Query wallet balances — native tokens and ERC-20s with fiat values
- Look up real-time token prices by symbol or contract address
- Resolve token contracts from names or symbols
- Check transaction status and history
- Prepare unsigned transfer payloads
All 16 tools across 4 bands, accessed through natural language — this tutorial covers the read and prepare tools. No blockchain libraries required.
Prerequisites
- Claude Desktop or Claude Code
- Node.js 22+ (for npx) or Docker
- A WalletSuite API key ()
Step 1: Configure the MCP Server
Add WalletSuite to your Claude MCP config.
Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"walletsuite": {
"command": "npx",
"args": ["@walletsuite/mcp-server"],
"env": {
"WALLETSUITE_API_KEY": "sk_your_key_here",
"MCP_BANDS": "read,prepare"
}
}
}
}Claude Code — add to .mcp.json in your project root:
{
"mcpServers": {
"walletsuite": {
"command": "npx",
"args": ["@walletsuite/mcp-server"],
"env": {
"WALLETSUITE_API_KEY": "sk_your_key_here",
"MCP_BANDS": "read,prepare"
}
}
}
}Restart Claude. You should see "walletsuite" in the MCP tools list with 10 read and prepare tools (16 total with OWS enabled).
Configuration notes: MCP_BANDS controls which tools load. Use "read" for read-only agents, "read,prepare" to also build unsigned transfers. The default is read if omitted — safe by default. The server enforces HTTPS on the API URL (localhost is exempt for development).
Step 2: Query an AI Agent Wallet
Open Claude and type:
check balances for 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD1aClaude calls get_all_balances behind the scenes and returns:
Balances for 0x742d...bD1a on Ethereum:
Asset Amount USD Value
ETH 4.2061 $8,358.13
USDC 1,250.00 $1,249.87
USDT 500.00 $499.95
Total portfolio: ~$10,107.95No SDK import. No RPC URL. No ethers.js. The MCP server detected the Ethereum address format (0x prefix), queried native ETH and token balances, fetched USD prices, and returned structured results — all from one natural language prompt. Address formats are validated per chain: 0x-prefixed for Ethereum, T-prefixed for Tron.
Ready to try it? , run npx @walletsuite/mcp-server, and query your first wallet in under 2 minutes. Early access is free.
Step 3: Look Up Prices
what's the current ETH price?Claude calls get_price with the symbol "ETH" and returns the current price with the base currency (USD by default). You can also query by contract address for less common tokens:
price of token at contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48The get_price tool accepts a symbol or contract address, with an optional chain parameter (defaults to Ethereum) and base currency.
Step 4: Resolve a Token
Before transferring a token, you need its contract address. The resolve_asset tool finds verified candidates:
find the USDC token contract on ethereumClaude calls resolve_asset with the symbol "USDC" on Ethereum and returns candidates with their contract addresses. The resolution status is "unique" (one match), "ambiguous" (multiple matches — user must choose), or "not_found."
This two-step flow is intentional: prepare_transfer never guesses token contracts from symbols. You resolve first, then transfer with the verified contract address.
Step 5: Prepare a Transfer
When you're ready to move funds:
prepare a transfer of 0.5 ETH to 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9BClaude calls prepare_transfer, which:
- Validates the address format and chain parameter via Zod
- Resolves the amount — accepts human-readable ("0.5") or exact wei values, but never both simultaneously
- Builds the unsigned transaction payload via the WalletSuite API
- Returns the transaction details for your review
Transfer prepared:
From: 0x742d...1a2B
To: 0xAb58...eC9B
Amount: 0.5 ETH
Ready to sign. Sign with your wallet to broadcast.The agent never sees private keys. You sign the unsigned payload externally with your own wallet infrastructure.
For token transfers, include the contract address from the resolve_asset step:
prepare a transfer of 100 USDC (contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) to 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9BHow the MCP Wallet Server Works
Band Filtering and Spend Governance
WalletSuite uses band filtering to control which tools enter the LLM's context window — the foundation of spend governance for AI agents:
| Band | Tools | Context Cost | Capabilities |
|---|---|---|---|
read | 7 tools | ~4K tokens | Balances, prices, fees, tx status, tx history, asset resolution |
prepare | +3 tools | ~6K tokens | Transfer preparation, serialized unsigned tx, on-ramp |
sign | +5 tools | ~9K tokens | OWS wallet creation, address lookup, signing, custom policies, agent key issuance |
broadcast | +1 tool | ~10K tokens | Sign and broadcast via local OWS (Ethereum, Tron) |
Choose bands at connection time via environment variable:
"env": {
"WALLETSUITE_API_KEY": "sk_...",
"MCP_BANDS": "read,prepare"
}The default band is read if MCP_BANDS is not set — safe by default. An agent on the read band can never see broadcast tools, let alone call them. Band caps are the first layer; policy-gated signing (chain allowlists, daily spend limits, scoped agent tokens) adds the second.
Structured Errors
When something goes wrong, the MCP server returns errors that guide the LLM's next action:
{
"category": "validation",
"code": "MISSING_TOKEN_CONTRACT",
"message": "USDT is not the native token for ethereum. Provide tokenContract.",
"requiredAction": "resolve_asset"
}Six error categories: validation (fix input), upstream (retry with backoff — automatic 3 attempts), flow (execute requiredAction first), auth (configure API key), limit (back off), and not_available (feature-gated to a different plan). Each error includes a requiredAction field that tells the agent what to do next — no guessing, no hallucinating recovery steps.
Key Isolation and Audit Trail
Private keys never leave your machine. The MCP server never handles, stores, or transmits them — full key isolation by design. The prepare_transfer tool builds unsigned payloads. You sign with your own wallet infrastructure — MetaMask, Ledger, or any signing solution you control. Alternatively, enable OWS (Open Wallet Standard) for local signing — keys stay encrypted in a local vault, never transmitted to WalletSuite.
Every tool call is logged with structured metadata: operation, duration, and outcome. No raw addresses or transaction hashes in logs — just operation labels ([tool] get_balance OK (243ms)). All inputs validated via Zod schemas before API calls. HTTPS enforced on the API URL at startup (localhost exempt for development).
MCP Wallet Server: Capabilities and Roadmap
WalletSuite MCP provides 16 tools across 79 blockchains. Read and prepare tools cover all 79 chains. Local signing and broadcasting via OWS supports Ethereum and Tron, with policy-gated agent mode (90-day default expiry, chain restrictions, scoped tokens).
Coming next:
- Swap and approval tools
- Additional OWS signing chain coverage beyond Ethereum and Tron
If you're building AI agents that interact with blockchains, and tell us what you're building. Early access is free — no credit card, no commitment.
More deep dives on AI agent wallet infrastructure on the WalletSuite blog.
Frequently Asked Questions
What do I need to build an AI wallet agent?
You need Claude Desktop or Claude Code, and a WalletSuite API key. You can run the MCP server via npx (@walletsuite/mcp-server) or Docker. No blockchain libraries, RPC endpoints, or ABI encoding knowledge required.
Does the AI agent have access to my private keys?
No. WalletSuite MCP is non-custodial by design. The server never handles, stores, or transmits private keys. The agent prepares unsigned transactions, and you sign them with your own wallet infrastructure.
Which blockchains are supported?
WalletSuite MCP supports 79 blockchains (78 EVM chains + Tron) for balance queries, price lookups, transaction history, asset resolution, and transfer preparation. Local signing via OWS is available for Ethereum and Tron.
Can I use this with OpenAI GPT instead of Claude?
Yes. MCP is an open standard that works with any LLM supporting tool use. The MCP server exposes tools via JSON-RPC, which Claude, GPT, Gemini, and open-source models can all consume.
What is band filtering?
Band filtering controls which tool categories the agent can access. Four presets available: 'read' (7 tools — balances, prices, fees, tx data), 'read,prepare' (+3 tools for unsigned transfers, serialized tx, and on-ramp), 'read,prepare,sign' (+5 OWS tools for wallet creation, address lookup, signing, policy creation, and agent key issuance), and 'full' (adds broadcast via send_transaction). The default band is 'read' — safe by default. OWS tools require OWS_ENABLED=true.
What tools are currently available?
WalletSuite MCP exposes 16 tools across 4 bands:
| Band | Tool | Description |
|---|---|---|
read | get_balance | Native token balance |
get_all_balances | Full portfolio with tokens and fiat values | |
get_price | Token price lookup | |
get_fee_quote | Gas and fee estimation | |
resolve_asset | Token contract resolution | |
get_tx_status | Transaction details | |
get_tx_history | Recent transactions | |
prepare | prepare_transfer | Build unsigned transfer payload |
prepare_serialized_unsigned_tx | Signing-ready raw tx hex for OWS | |
prepare_onramp | Fiat on-ramp session via MoonPay | |
sign (OWS) | create_wallet | Create local OWS wallet (owner mode) |
get_wallet_address | Get wallet address for a chain | |
sign_transaction | Sign with local OWS key | |
create_custom_policy | Create OWS governance policy (owner mode) | |
create_agent_api_key | Issue scoped agent token (owner mode) | |
broadcast (OWS) | send_transaction | Sign and broadcast to network |
How do I give my AI agent a crypto wallet?
Install WalletSuite MCP Server via npx and configure your MCP client with an API key. Your agent gets wallet access across 79 blockchains through natural language — no SDK integration required.
Is WalletSuite MCP free?
Early access is free with no credit card required. The read band (balances, prices, transaction data) is available on the free tier. Paid tiers unlock prepare, sign, and broadcast bands with higher rate limits.
How is WalletSuite different from using ethers.js?
ethers.js requires you to build RPC management, gas estimation, nonce handling, key security, and error recovery yourself — typically 2-4 months of work. WalletSuite ships all of that as one MCP server with band-based access control, structured error recovery, and key isolation out of the box.