create_walletLABSCO SUMMARY
A wallet an agent can drive, with self-custody as a one-variable choice rather than a separate product.
The design decision worth knowing: an operation with no matching local key is refused outright rather than quietly routed to the hosted signer, so you cannot believe you are in self-custody while a server holds the key. The corollary is that local mode has no server-side limits — the environment caps are the entire safety net, and the token cap needs setting separately from the native one.
What it is
Wallet infrastructure for agents. It creates and holds wallets, signs and broadcasts transactions across EVM chains and Solana, moves ERC-20 and SPL tokens, and handles the x402 payment protocol in both directions — paying invoices automatically and charging for your own endpoints. It runs either hosted or fully self-custody, and wallet_mode will tell you which you are in.
What you get
- create_wallet, list_wallets, get_wallet and delete_wallet — an EVM or Solana wallet and its details
- get_balance, get_token_balance and get_token_info — native balance on any chain, ERC-20 or SPL balance, and a token's name, symbol and decimals
- transfer and transfer_token — send native tokens, or ERC-20 and SPL tokens with the recipient's associated token account created automatically
- send_transaction, sign_transaction and call_contract — broadcast a raw transaction, sign one without broadcasting, or make a read-only contract call
- approve_token and get_allowance — set and read ERC-20 spending allowances for DeFi
- wrap_eth and unwrap_eth — move between native tokens and their wrapped form
- pay_x402 — fetch a URL, detect the 402 response, pay on-chain and retry with proof, under a hard per-payment cap
- create_paywall, list_paywalls, get_paywall, update_paywall, delete_paywall, get_paywall_payments and get_x402_revenue — charge agents for your own resource and track who paid
- wallet_mode, export_wallet_key, pause_wallet and unpause_wallet — check whether signing is local or hosted, move a hosted key to self-custody, and freeze a wallet
- get_chains, get_usage and buy_verification_credits — supported chains, monthly usage and billing, and prepaid x402 verification credits
Requirements
Clients run it with npx -y agentwallet-mcp over stdio. Hosted mode signs in with AGENTWALLET_USER and AGENTWALLET_PASS from hifriendbot.com/wallet. For self-custody, set AGENTWALLET_PRIVATE_KEY (or AGENTWALLET_KEYFILE) for EVM and AGENTWALLET_SOLANA_KEY (or AGENTWALLET_SOLANA_KEYFILE) for Solana; either can be set independently. In local mode the spend caps are the only guard there is, so set AGENTWALLET_MAX_TX_NATIVE and AGENTWALLET_MAX_TX_TOKEN — the native cap cannot see an ERC-20 transfer, whose amount rides in the calldata. AGENTWALLET_MAX_AUTOPAY bounds a single x402 auto-payment, and AGENTWALLET_RPC_<chainId> points at an RPC endpoint you trust.
Setup effort
One command plus a key — npx -y agentwallet-mcp, then supply credentials
USE CASES
Paying for a metered API automatically
Let the agent hit a 402-gated endpoint, pay on-chain under a hard cap, and retry with proof of payment.
Charging other agents for your endpoint
Create a paywall over the resource, then review who paid and what it earned.
Confirming where your key actually lives
Ask which mode signing is running in and which address it controls before sending anything.
Moving stablecoins between accounts
Check the token balance and decimals, then send it on the chain you want.
Preparing a wallet for a DeFi interaction
Approve the spender, confirm the allowance, and read the contract state before committing.
31 tools
Listed in project docs. Your client may show a different list.
list_walletsget_walletget_balanceget_token_balanceget_token_infotransfertransfer_tokensend_transactionsign_transactioncall_contractapprove_tokenget_allowancewrap_ethunwrap_ethpay_x402create_paywalllist_paywallsget_paywallupdate_paywalldelete_paywallget_paywall_paymentsget_x402_revenuewallet_modeexport_wallet_keybuy_verification_creditsget_usageget_chainspause_walletunpause_walletdelete_walletBEFORE YOU INSTALL
What to know first
Tools you get
31 tools named in the project's documentation.
Requires
npx on PATH. The rest depends on how you install it — each option under Installation lists what it needs.
INSTALLATION
Connect your client
Server setup
npx -y agentwallet-mcpMCP Clients
Claude Desktop, OpenClaw
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_USER": "<YOUR_AGENTWALLET_USER>",
"AGENTWALLET_PASS": "<YOUR_AGENTWALLET_PASS>",
"AGENTWALLET_WALLET_ID": "1"
}
}
}
}The configuration on this page does not set AGENTWALLET_SOLANA_KEY, which is only for signing Solana transactions locally. The README adds it to the server's env block, with AGENTWALLET_SOLANA_RPC and AGENTWALLET_MAX_TX_SOL, or points AGENTWALLET_SOLANA_KEYFILE at a key file instead.
Claude Code
claude mcp add agentwallet \
-e AGENTWALLET_USER=<YOUR_AGENTWALLET_USER> \
-e AGENTWALLET_PASS=<YOUR_AGENTWALLET_PASS> \
-e AGENTWALLET_WALLET_ID=1 \
-- npx -y agentwallet-mcpVS Code
{
"servers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_USER": "<YOUR_AGENTWALLET_USER>",
"AGENTWALLET_PASS": "<YOUR_AGENTWALLET_PASS>",
"AGENTWALLET_WALLET_ID": "1"
}
}
}
}The configuration on this page does not set AGENTWALLET_SOLANA_KEY, which is only for signing Solana transactions locally. The README adds it to the server's env block, with AGENTWALLET_SOLANA_RPC and AGENTWALLET_MAX_TX_SOL, or points AGENTWALLET_SOLANA_KEYFILE at a key file instead.
Any MCP client — private key
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"agentwallet-mcp"
],
"env": {
"AGENTWALLET_PRIVATE_KEY": "0xyour_key",
"AGENTWALLET_RPC_8453": "https://<YOUR_RPC>",
"AGENTWALLET_MAX_TX_NATIVE": "0.05"
}
}
}
}The configuration on this page does not set AGENTWALLET_SOLANA_KEY, which is only for signing Solana transactions locally. The README adds it to the server's env block, with AGENTWALLET_SOLANA_RPC and AGENTWALLET_MAX_TX_SOL, or points AGENTWALLET_SOLANA_KEYFILE at a key file instead.