Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
Connect Runs on your machine
claude mcp add agentwallet -e AGENTWALLET_USER=<AGENTWALLET_USER> -e AGENTWALLET_PASS=<AGENTWALLET_PASS> -e AGENTWALLET_API_URL=<AGENTWALLET_API_URL> -e AGENTWALLET_WALLET_ID=<AGENTWALLET_WALLET_ID> -e AGENTWALLET_DASHBOARD_URL=<AGENTWALLET_DASHBOARD_URL> -e AGENTWALLET_PRIVATE_KEY=<AGENTWALLET_PRIVATE_KEY> -e AGENTWALLET_KEYFILE=<AGENTWALLET_KEYFILE> -e AGENTWALLET_SOLANA_KEY=<AGENTWALLET_SOLANA_KEY> -e AGENTWALLET_SOLANA_KEYFILE=<AGENTWALLET_SOLANA_KEYFILE> -e AGENTWALLET_RPC_URL=<AGENTWALLET_RPC_URL> -e AGENTWALLET_RPC_<chainId>=<AGENTWALLET_RPC_<chainId>> -e AGENTWALLET_SOLANA_RPC=<AGENTWALLET_SOLANA_RPC> -e AGENTWALLET_SOLANA_RPC_<chainId>=<AGENTWALLET_SOLANA_RPC_<chainId>> -e AGENTWALLET_CHAIN_ID=<AGENTWALLET_CHAIN_ID> -e AGENTWALLET_MAX_TX_NATIVE=<AGENTWALLET_MAX_TX_NATIVE> -e AGENTWALLET_MAX_TX_TOKEN=<AGENTWALLET_MAX_TX_TOKEN> -e AGENTWALLET_MAX_TX_SOL=<AGENTWALLET_MAX_TX_SOL> -e AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS=<AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS> -e AGENTWALLET_ALLOW_UNLIMITED_APPROVAL=<AGENTWALLET_ALLOW_UNLIMITED_APPROVAL> -e AGENTWALLET_TOKEN_DECIMALS=<AGENTWALLET_TOKEN_DECIMALS> -e AGENTWALLET_MAX_AUTOPAY=<AGENTWALLET_MAX_AUTOPAY> -e AGENTWALLET_MAX_AUTOPAY_PER_HOUR=<AGENTWALLET_MAX_AUTOPAY_PER_HOUR> -e AGENTWALLET_AUTOPAY_ASSETS=<AGENTWALLET_AUTOPAY_ASSETS> -e AGENTWALLET_X402_MAX_TIMEOUT=<AGENTWALLET_X402_MAX_TIMEOUT> -e AGENTWALLET_APPROVALS=<AGENTWALLET_APPROVALS> -e AGENTWALLET_PERMIT2_AUTO_APPROVE=<AGENTWALLET_PERMIT2_AUTO_APPROVE> -e AGENTWALLET_TOKEN_RISK=<AGENTWALLET_TOKEN_RISK> -e AGENTWALLET_LEGACY_PAYWALL_ORIGINS=<AGENTWALLET_LEGACY_PAYWALL_ORIGINS> -e AGENTWALLET_MAX_FEE_NATIVE=<AGENTWALLET_MAX_FEE_NATIVE> -e AGENTWALLET_POLICY=<AGENTWALLET_POLICY> -e AGENTWALLET_LEDGER=<AGENTWALLET_LEDGER> -e AGENTWALLET_WEBHOOK_URL=<AGENTWALLET_WEBHOOK_URL> -e AGENTWALLET_WEBHOOK_SECRET=<AGENTWALLET_WEBHOOK_SECRET> -e AGENTWALLET_KEYFILE_PASSPHRASE=<AGENTWALLET_KEYFILE_PASSPHRASE> -e AGENTWALLET_KEYFILE_PASSPHRASE_FILE=<AGENTWALLET_KEYFILE_PASSPHRASE_FILE> -- npx -y [email protected]
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"AGENTWALLET_USER": "<AGENTWALLET_USER>",
"AGENTWALLET_PASS": "<AGENTWALLET_PASS>",
"AGENTWALLET_API_URL": "<AGENTWALLET_API_URL>",
"AGENTWALLET_WALLET_ID": "<AGENTWALLET_WALLET_ID>",
"AGENTWALLET_DASHBOARD_URL": "<AGENTWALLET_DASHBOARD_URL>",
"AGENTWALLET_PRIVATE_KEY": "<AGENTWALLET_PRIVATE_KEY>",
"AGENTWALLET_KEYFILE": "<AGENTWALLET_KEYFILE>",
"AGENTWALLET_SOLANA_KEY": "<AGENTWALLET_SOLANA_KEY>",
"AGENTWALLET_SOLANA_KEYFILE": "<AGENTWALLET_SOLANA_KEYFILE>",
"AGENTWALLET_RPC_URL": "<AGENTWALLET_RPC_URL>",
"AGENTWALLET_RPC_<chainId>": "<AGENTWALLET_RPC_<chainId>>",
"AGENTWALLET_SOLANA_RPC": "<AGENTWALLET_SOLANA_RPC>",
"AGENTWALLET_SOLANA_RPC_<chainId>": "<AGENTWALLET_SOLANA_RPC_<chainId>>",
"AGENTWALLET_CHAIN_ID": "<AGENTWALLET_CHAIN_ID>",
"AGENTWALLET_MAX_TX_NATIVE": "<AGENTWALLET_MAX_TX_NATIVE>",
"AGENTWALLET_MAX_TX_TOKEN": "<AGENTWALLET_MAX_TX_TOKEN>",
"AGENTWALLET_MAX_TX_SOL": "<AGENTWALLET_MAX_TX_SOL>",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "<AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS>",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "<AGENTWALLET_ALLOW_UNLIMITED_APPROVAL>",
"AGENTWALLET_TOKEN_DECIMALS": "<AGENTWALLET_TOKEN_DECIMALS>",
"AGENTWALLET_MAX_AUTOPAY": "<AGENTWALLET_MAX_AUTOPAY>",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "<AGENTWALLET_MAX_AUTOPAY_PER_HOUR>",
"AGENTWALLET_AUTOPAY_ASSETS": "<AGENTWALLET_AUTOPAY_ASSETS>",
"AGENTWALLET_X402_MAX_TIMEOUT": "<AGENTWALLET_X402_MAX_TIMEOUT>",
"AGENTWALLET_APPROVALS": "<AGENTWALLET_APPROVALS>",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "<AGENTWALLET_PERMIT2_AUTO_APPROVE>",
"AGENTWALLET_TOKEN_RISK": "<AGENTWALLET_TOKEN_RISK>",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "<AGENTWALLET_LEGACY_PAYWALL_ORIGINS>",
"AGENTWALLET_MAX_FEE_NATIVE": "<AGENTWALLET_MAX_FEE_NATIVE>",
"AGENTWALLET_POLICY": "<AGENTWALLET_POLICY>",
"AGENTWALLET_LEDGER": "<AGENTWALLET_LEDGER>",
"AGENTWALLET_WEBHOOK_URL": "<AGENTWALLET_WEBHOOK_URL>",
"AGENTWALLET_WEBHOOK_SECRET": "<AGENTWALLET_WEBHOOK_SECRET>",
"AGENTWALLET_KEYFILE_PASSPHRASE": "<AGENTWALLET_KEYFILE_PASSPHRASE>",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "<AGENTWALLET_KEYFILE_PASSPHRASE_FILE>"
}
}
}
}
{
"mcpServers": {
"agentwallet": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"AGENTWALLET_USER": "<AGENTWALLET_USER>",
"AGENTWALLET_PASS": "<AGENTWALLET_PASS>",
"AGENTWALLET_API_URL": "<AGENTWALLET_API_URL>",
"AGENTWALLET_WALLET_ID": "<AGENTWALLET_WALLET_ID>",
"AGENTWALLET_DASHBOARD_URL": "<AGENTWALLET_DASHBOARD_URL>",
"AGENTWALLET_PRIVATE_KEY": "<AGENTWALLET_PRIVATE_KEY>",
"AGENTWALLET_KEYFILE": "<AGENTWALLET_KEYFILE>",
"AGENTWALLET_SOLANA_KEY": "<AGENTWALLET_SOLANA_KEY>",
"AGENTWALLET_SOLANA_KEYFILE": "<AGENTWALLET_SOLANA_KEYFILE>",
"AGENTWALLET_RPC_URL": "<AGENTWALLET_RPC_URL>",
"AGENTWALLET_RPC_<chainId>": "<AGENTWALLET_RPC_<chainId>>",
"AGENTWALLET_SOLANA_RPC": "<AGENTWALLET_SOLANA_RPC>",
"AGENTWALLET_SOLANA_RPC_<chainId>": "<AGENTWALLET_SOLANA_RPC_<chainId>>",
"AGENTWALLET_CHAIN_ID": "<AGENTWALLET_CHAIN_ID>",
"AGENTWALLET_MAX_TX_NATIVE": "<AGENTWALLET_MAX_TX_NATIVE>",
"AGENTWALLET_MAX_TX_TOKEN": "<AGENTWALLET_MAX_TX_TOKEN>",
"AGENTWALLET_MAX_TX_SOL": "<AGENTWALLET_MAX_TX_SOL>",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "<AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS>",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "<AGENTWALLET_ALLOW_UNLIMITED_APPROVAL>",
"AGENTWALLET_TOKEN_DECIMALS": "<AGENTWALLET_TOKEN_DECIMALS>",
"AGENTWALLET_MAX_AUTOPAY": "<AGENTWALLET_MAX_AUTOPAY>",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "<AGENTWALLET_MAX_AUTOPAY_PER_HOUR>",
"AGENTWALLET_AUTOPAY_ASSETS": "<AGENTWALLET_AUTOPAY_ASSETS>",
"AGENTWALLET_X402_MAX_TIMEOUT": "<AGENTWALLET_X402_MAX_TIMEOUT>",
"AGENTWALLET_APPROVALS": "<AGENTWALLET_APPROVALS>",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "<AGENTWALLET_PERMIT2_AUTO_APPROVE>",
"AGENTWALLET_TOKEN_RISK": "<AGENTWALLET_TOKEN_RISK>",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "<AGENTWALLET_LEGACY_PAYWALL_ORIGINS>",
"AGENTWALLET_MAX_FEE_NATIVE": "<AGENTWALLET_MAX_FEE_NATIVE>",
"AGENTWALLET_POLICY": "<AGENTWALLET_POLICY>",
"AGENTWALLET_LEDGER": "<AGENTWALLET_LEDGER>",
"AGENTWALLET_WEBHOOK_URL": "<AGENTWALLET_WEBHOOK_URL>",
"AGENTWALLET_WEBHOOK_SECRET": "<AGENTWALLET_WEBHOOK_SECRET>",
"AGENTWALLET_KEYFILE_PASSPHRASE": "<AGENTWALLET_KEYFILE_PASSPHRASE>",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "<AGENTWALLET_KEYFILE_PASSPHRASE_FILE>"
}
}
}
}
{
"servers": {
"agentwallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"AGENTWALLET_USER": "<AGENTWALLET_USER>",
"AGENTWALLET_PASS": "<AGENTWALLET_PASS>",
"AGENTWALLET_API_URL": "<AGENTWALLET_API_URL>",
"AGENTWALLET_WALLET_ID": "<AGENTWALLET_WALLET_ID>",
"AGENTWALLET_DASHBOARD_URL": "<AGENTWALLET_DASHBOARD_URL>",
"AGENTWALLET_PRIVATE_KEY": "<AGENTWALLET_PRIVATE_KEY>",
"AGENTWALLET_KEYFILE": "<AGENTWALLET_KEYFILE>",
"AGENTWALLET_SOLANA_KEY": "<AGENTWALLET_SOLANA_KEY>",
"AGENTWALLET_SOLANA_KEYFILE": "<AGENTWALLET_SOLANA_KEYFILE>",
"AGENTWALLET_RPC_URL": "<AGENTWALLET_RPC_URL>",
"AGENTWALLET_RPC_<chainId>": "<AGENTWALLET_RPC_<chainId>>",
"AGENTWALLET_SOLANA_RPC": "<AGENTWALLET_SOLANA_RPC>",
"AGENTWALLET_SOLANA_RPC_<chainId>": "<AGENTWALLET_SOLANA_RPC_<chainId>>",
"AGENTWALLET_CHAIN_ID": "<AGENTWALLET_CHAIN_ID>",
"AGENTWALLET_MAX_TX_NATIVE": "<AGENTWALLET_MAX_TX_NATIVE>",
"AGENTWALLET_MAX_TX_TOKEN": "<AGENTWALLET_MAX_TX_TOKEN>",
"AGENTWALLET_MAX_TX_SOL": "<AGENTWALLET_MAX_TX_SOL>",
"AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS": "<AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLS>",
"AGENTWALLET_ALLOW_UNLIMITED_APPROVAL": "<AGENTWALLET_ALLOW_UNLIMITED_APPROVAL>",
"AGENTWALLET_TOKEN_DECIMALS": "<AGENTWALLET_TOKEN_DECIMALS>",
"AGENTWALLET_MAX_AUTOPAY": "<AGENTWALLET_MAX_AUTOPAY>",
"AGENTWALLET_MAX_AUTOPAY_PER_HOUR": "<AGENTWALLET_MAX_AUTOPAY_PER_HOUR>",
"AGENTWALLET_AUTOPAY_ASSETS": "<AGENTWALLET_AUTOPAY_ASSETS>",
"AGENTWALLET_X402_MAX_TIMEOUT": "<AGENTWALLET_X402_MAX_TIMEOUT>",
"AGENTWALLET_APPROVALS": "<AGENTWALLET_APPROVALS>",
"AGENTWALLET_PERMIT2_AUTO_APPROVE": "<AGENTWALLET_PERMIT2_AUTO_APPROVE>",
"AGENTWALLET_TOKEN_RISK": "<AGENTWALLET_TOKEN_RISK>",
"AGENTWALLET_LEGACY_PAYWALL_ORIGINS": "<AGENTWALLET_LEGACY_PAYWALL_ORIGINS>",
"AGENTWALLET_MAX_FEE_NATIVE": "<AGENTWALLET_MAX_FEE_NATIVE>",
"AGENTWALLET_POLICY": "<AGENTWALLET_POLICY>",
"AGENTWALLET_LEDGER": "<AGENTWALLET_LEDGER>",
"AGENTWALLET_WEBHOOK_URL": "<AGENTWALLET_WEBHOOK_URL>",
"AGENTWALLET_WEBHOOK_SECRET": "<AGENTWALLET_WEBHOOK_SECRET>",
"AGENTWALLET_KEYFILE_PASSPHRASE": "<AGENTWALLET_KEYFILE_PASSPHRASE>",
"AGENTWALLET_KEYFILE_PASSPHRASE_FILE": "<AGENTWALLET_KEYFILE_PASSPHRASE_FILE>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
AGENTWALLET_USEROptional | Hosted mode: your hifriendbot.com username |
AGENTWALLET_PASSOptional, secret | Hosted mode: an AgentWallet application password from hifriendbot.com/wallet/ |
AGENTWALLET_API_URLOptional | Hosted mode: the API base (default https://hifriendbot.com/wp-json/agentwallet/v1); must be https, or http on localhost |
AGENTWALLET_WALLET_IDOptional | Hosted mode: wallet id that pays hosted billing 402s automatically (POST /wallets, /sign, /send only); unset means never |
AGENTWALLET_DASHBOARD_URLOptional | Hosted mode: dashboard link shown in tool text |
AGENTWALLET_PRIVATE_KEYOptional, secret | Local (self-custody) mode: 0x-prefixed EVM private key; signing then happens in this process |
AGENTWALLET_KEYFILEOptional | Local mode: path of a file holding the EVM private key (instead of AGENTWALLET_PRIVATE_KEY; not both) |
AGENTWALLET_SOLANA_KEYOptional, secret | Local mode for Solana: secret key as a JSON array, base58 or base64 |
AGENTWALLET_SOLANA_KEYFILEOptional | Local mode for Solana: path of a key file (instead of AGENTWALLET_SOLANA_KEY; not both) |
AGENTWALLET_RPC_URLOptional | Local mode: one EVM RPC for every chain |
AGENTWALLET_RPC_<chainId>Optional | Local mode: EVM RPC per chain, e.g. AGENTWALLET_RPC_8453; eth_chainId is checked |
AGENTWALLET_SOLANA_RPCOptional | Local mode: one Solana RPC for every cluster |
AGENTWALLET_SOLANA_RPC_<chainId>Optional | Local mode: Solana RPC per cluster (900 mainnet, 901 devnet, 902 testnet); the genesis hash is checked |
AGENTWALLET_CHAIN_IDOptional | Local mode: default EVM chain when a call names none (default 8453) |
AGENTWALLET_MAX_TX_NATIVEOptional | Local mode: per-transaction ceiling in native units |
AGENTWALLET_MAX_TX_TOKENOptional | Local mode: per-transaction ceiling for ERC-20 and SPL transfers and approvals, in token units |
AGENTWALLET_MAX_TX_SOLOptional | Local mode: per-transaction ceiling in SOL (also charged for a recipient token account the send creates) |
AGENTWALLET_ALLOW_UNKNOWN_TOKEN_CALLSOptional | Local mode: 1 lets calldata the token cap cannot price reach a token contract (refused by default) |
AGENTWALLET_ALLOW_UNLIMITED_APPROVALOptional | 1 lets an unlimited ERC-20 allowance or an NFT operator grant through while no spend policy is set (refused by default, and always refused under a policy) |
AGENTWALLET_TOKEN_DECIMALSOptional | Pin decimals for tokens outside the registry, e.g. 8453:0x<token>=6,<mint>=9; used for amounts and caps instead of the RPC answer |
AGENTWALLET_MAX_AUTOPAYOptional | Per-payment x402 ceiling in stablecoin units (default 1); the agent cannot raise it |
AGENTWALLET_MAX_AUTOPAY_PER_HOUROptional | Hosted mode: how many internal 402 auto-payments an hour (default 20; 0 disables) |
AGENTWALLET_AUTOPAY_ASSETSOptional | Assets pay_x402 may pay in beyond registry stablecoins, e.g. 8453:native,0x<token> |
AGENTWALLET_X402_MAX_TIMEOUTOptional | Longest x402 authorization window in seconds (default 3600; 60 to 31536000) |
AGENTWALLET_APPROVALSOptional | Hosted mode: 0 disables emailing the wallet owner for an over-cap payment |
AGENTWALLET_PERMIT2_AUTO_APPROVEOptional | Hosted mode: 1 approves exactly an upto payment maximum to Permit2 for registry stablecoins |
AGENTWALLET_TOKEN_RISKOptional | 0 skips the GoPlus lookup approve_token performs |
AGENTWALLET_LEGACY_PAYWALL_ORIGINSOptional | Comma-separated https origins whose legacy-shaped 402 may be paid by an on-chain transfer proved by hash (the API host always may) |
AGENTWALLET_MAX_FEE_NATIVEOptional | Local mode: the most a transaction may burn in fees (gas x max fee per gas), in native units; default 0.01 |
AGENTWALLET_POLICYOptional | Path of a spend policy JSON file: rolling dollar and native budgets, host, recipient, chain, asset and tool lists, and a human-approval threshold, enforced from a hash-chained ledger |
AGENTWALLET_LEDGEROptional | Path of the append-only ledger the policy is enforced from (default: agentwallet-ledger.jsonl beside the policy file) |
AGENTWALLET_WEBHOOK_URLOptional | https URL (or http on localhost) that receives every ledger line as it is written |
AGENTWALLET_WEBHOOK_SECRETOptional, secret | HMAC-SHA256 key for the X-AgentWallet-Signature header on webhook posts |
AGENTWALLET_KEYFILE_PASSPHRASEOptional, secret | Passphrase that opens an encrypted keyfile (made with `agentwallet-mcp encrypt-keyfile`) |
AGENTWALLET_KEYFILE_PASSPHRASE_FILEOptional | Path of a file holding the keyfile passphrase (instead of AGENTWALLET_KEYFILE_PASSPHRASE; not both) |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.github.hifriendbot/agentwallet |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
