WalletChan MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WALLETCHAN_MCP_VEIL_DIR | No | Override the directory for Veil MCP data (e.g. .env.veil and receipts). | |
| WALLETCHAN_MCP_RPC_OVERRIDES | No | Global RPC overrides, e.g. base=<url>. Inherited by Veil and name resolution. | |
| WALLETCHAN_MCP_AGENT_WALLET_DIR | No | Override the exact directory where agent wallets are stored. | |
| WALLETCHAN_MCP_WALLET_TRANSPORT | No | Default wallet transport for the managed RPC, e.g. metamask-connect. Equivalent to --wallet-transport. | |
| WALLETCHAN_MCP_AGENT_VAULT_SECRET | No | Advanced override for the agent wallet vault secret used to encrypt local agent keys and delegation payloads. | |
| WALLETCHAN_MCP_VEIL_PRIVATE_ACTIONS | No | Set to true to enable other private Veil relay tools (withdraw, transfer, UTXO consolidation) for explicit user-controlled flows. | |
| WALLETCHAN_MCP_AGENT_VAULT_SECRET_FILE | No | Advanced override for the file containing the agent wallet vault secret. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_pairing_uriA | Start or inspect the managed WalletChan RPC bridge and return the wallet pairing URI and local QR page URL when pairing is needed. The URI may be WalletConnect or MetaMask Connect depending on the managed RPC transport. When a pairing URI is available, the tool emits an MCP image content block with the QR code before the text fallback. |
| get_walletsC | Get approved WalletChan RPC accounts and configured chains. |
| resolve_nameB | Resolve a user-provided WalletChan-supported name to an EVM address. Supports ENS and subdomains, Basenames under .base.eth, WNS .wei, GNS .gwei, and MegaNames .mega. Uses MCP RPC overrides first, then WalletChan default RPCs. |
| resolve_namesC | Resolve multiple user-provided WalletChan-supported names to EVM addresses. Supports ENS/subdomains, Basenames, .wei, .gwei, and .mega. |
| list_execution_profilesB | List WalletChan execution profiles. walletconnect uses the existing WalletChan popup path; agent and agent-eoa profiles are local agent wallet profiles for delegated and raw execution. |
| get_default_execution_profileA | Get the stored default execution profile. Defaults to walletconnect when no explicit default is stored. |
| set_default_execution_profileA | Store the default execution profile for future mutating WalletChan MCP tools. Use walletconnect for the main WalletChan wallet, agent: for delegated agent execution, or agent-eoa: for raw local agent EOA execution. |
| clear_default_execution_profileA | Clear the stored default execution profile. Future mutating tools fall back to walletconnect. |
| agent_create_walletB | Create a local encrypted agent wallet. Creates a local vault-secret file automatically when needed. Returns address and profile IDs, never the private key. |
| agent_import_walletA | Import a local encrypted agent wallet private key. Creates a local vault-secret file automatically when needed. Returns address and profile IDs, never the private key. |
| agent_list_walletsA | List local agent wallet metadata and profile IDs. Does not decrypt or return private keys. |
| agent_get_walletA | Get one local agent wallet metadata record and its profile IDs. Does not decrypt or return the private key. |
| agent_delete_walletA | Delete a local encrypted agent wallet and its private key material. Requires confirm=true. |
| agent_reset_vaultA | Forget all local agent wallets, delegations, and default agent profile without decrypting the vault. Use this when you intentionally want a fresh agent-wallet setup, especially after removing an old env vault secret. Requires confirm=true and confirmationText=RESET_AGENT_VAULT. |
| agent_prepare_delegationA | Create a pending ERC-7710 delegation from the connected WalletChan wallet. Defaults to a 1Shot-compatible relayer delegation with a Base USDC daily spend scope. Stores the unsigned delegation payload encrypted in the agent vault. |
| agent_request_delegation_signatureA | Open a WalletChan eth_signTypedData_v4 request for a pending agent delegation. The user approves with the main WalletChan wallet in the popup. |
| agent_complete_delegationA | Complete a pending agent delegation after the WalletChan signature request is approved, verify the signer, and store the signed delegation encrypted in the agent vault. |
| agent_list_delegationsB | List local agent delegation metadata. Signed delegation payloads remain encrypted and are not returned. |
| agent_get_delegationA | Get one local agent delegation. By default returns metadata only; pass includePayload=true to include encrypted-vault payload after decrypting locally. |
| agent_delete_delegationA | Delete a locally stored agent delegation session. This does not revoke onchain permissions; it only removes MCP's local artifact. Requires confirm=true. |
| agent_oneshot_get_capabilitiesC | Fetch 1Shot public relayer capabilities for one or more chains. agent_prepare_delegation resolves targetAddress automatically when delegateMode is oneshot-relayer. |
| agent_oneshot_get_fee_dataC | Fetch 1Shot public relayer fee data for a chain/payment token pair. |
| agent_oneshot_relay_callsA | Build, estimate, or submit an ERC-7710 delegated transaction bundle through the 1Shot public relayer. Requires an active 1Shot-compatible agent delegation whose delegate equals the relayer targetAddress. Uses preview mode unless confirm=true. |
| agent_oneshot_get_statusB | Poll 1Shot public relayer status for a submitted task ID. |
| agent_x402_quoteA | Probe an x402-protected HTTPS resource without signing or submitting payment. Reports whether the endpoint offers ERC-7710 delegated x402 payment for agent profiles. |
| agent_x402_payB | Pay and fetch an x402-protected HTTPS resource. The default agent profile spends through the main wallet's ERC-7710 delegation; explicitly pass agent-eoa: only for raw agent-wallet payment. |
| agent_eoa_get_balanceA | Read native or ERC-20 balance for a raw local agent EOA profile. Does not require WalletConnect pairing. |
| agent_eoa_send_transactionA | Sign and broadcast a transaction directly from a raw local agent EOA. This bypasses WalletChan popup approval and should be used only when the user explicitly chose the raw agent wallet. |
| agent_eoa_send_callsA | Sign and broadcast calls sequentially from a raw local agent EOA. This path is not atomic and bypasses WalletChan popup approval. |
| send_callsB | Submit wallet calls through WalletChan RPC. Uses ERC-5792 wallet_sendCalls when the wallet supports it, otherwise sends the calls sequentially as individual user-approved transactions. |
| send_prepared_callsA | Normalize a Base plugin prepare response into wallet calls and submit it through WalletChan. Accepts common shapes like transactions[], calls[], {data:{to,value,data}}, and approval+action objects. Non-batching wallets get sequential transaction fallback. |
| get_portfolio_balancesB | Fetch WalletChan portfolio balances for an address or the connected WalletChan account, including tokens and DeFi positions. |
| get_swap_priceB | Fetch an indicative WalletChan swap price using the same first-party swap API as the extension. |
| swapB | Quote a WalletChan swap, build needed approval plus swap calls, and submit them to WalletChan for popup approval unless previewOnly is true. |
| get_bridge_quoteC | Fetch a WalletChan bridge quote using the same first-party Bungee proxy as the extension. |
| bridgeB | Quote a WalletChan bridge, build needed approval plus bridge calls, and submit them to WalletChan for popup approval unless previewOnly is true. |
| get_bridge_statusB | Fetch WalletChan bridge status by Bungee requestHash or source txHash. |
| get_request_statusC | Get the status of a WalletChan MCP request or wallet_sendCalls bundle. |
| web_requestB | Call an allowlisted HTTPS protocol API from the local WalletChan MCP process. Use this for Base plugin web_request paths when the host is allowed. |
| run_base_plugin_cliB | Run a pinned, allowlisted protocol CLI command from the local WalletChan MCP process. Supports configured Base plugin CLI runners and can submit prepared transaction output through WalletChan. |
| list_base_plugin_runnersA | List pinned protocol CLI runners and supported commands available inside WalletChan MCP. |
| list_remote_mcp_toolsB | List tools from an allowlisted protocol MCP profile. Currently supports the Virtuals ACP MCP profile. |
| call_remote_mcp_toolB | Call an allowlisted protocol MCP tool through WalletChan MCP. Login tools are blocked here; use the remote SIWE login helpers. |
| start_remote_mcp_siwe_loginA | Start an allowlisted remote MCP SIWE login, preserve the exact challenge, and open a WalletChan signature request. |
| complete_remote_mcp_siwe_loginB | Complete a remote MCP SIWE login after the WalletChan signature request has been approved. |
| list_protocolsB | List protocol integrations managed by WalletChan MCP, including local MCPs, CLIs, HTTP APIs, or future SDK adapters. |
| list_protocol_toolsC | List raw tools exposed by a managed protocol integration such as Veil MCP. |
| call_protocol_toolA | Call a raw allowlisted protocol tool. Prefer first-class WalletChan wrappers when available. |
| veil_init_keypairB | Generate a random local Veil keypair in WalletChan MCP's managed Veil data directory. Returns the public deposit key but never returns VEIL_KEY. |
| veil_statusB | Check local Veil key status, relay health, and optional owner registration/wallet status on Base. |
| veil_get_balancesB | Read public wallet balances, Veil queue balances, and private balances when the managed Veil key is available. |
| veil_deposit_statusC | Check one queued Veil deposit by pool and nonce. Owner defaults to the first approved WalletChan account. |
| veil_wait_for_depositB | Poll one queued Veil deposit until accepted, rejected, refunded, or timeout. |
| veil_prepare_registerB | Prepare unsigned Base calldata to register or rotate the managed Veil deposit key. Set submitPreparedCalls=true to submit through WalletChan popup approval. |
| veil_prepare_depositA | Prepare unsigned Base calldata for ETH or USDC Veil deposit. Set submitPreparedCalls=true to submit through WalletChan popup approval. |
| veil_x402_quoteB | Probe an x402 resource without funding or paying from private Veil USDC. |
| veil_pay_x402A | Pay a Veil-supported x402 v2 exact Base USDC resource from private Veil USDC. Requires maxPayment and confirm=true after explicit user approval because this submits through the Veil relay without a WalletChan popup. |
| veil_x402_receiptsC | List locally recorded Veil x402 payment receipts. |
| veil_x402_payer_balancesC | Inspect Base USDC balances held by deterministic x402 payer EOAs for the managed Veil key. |
| veil_subaccount_statusC | Read Veil subaccount status for a local Veil key slot. |
| sign_siweB | Validate an EIP-4361 SIWE message, then start a WalletChan personal_sign request for the exact message. |
| signB | Start a WalletChan signature request. The user approves in the WalletChan popup. |
| send_transactionC | Start a single eth_sendTransaction request through WalletChan RPC for user approval. |
| load_base_pluginC | Load an upstream Base MCP native plugin reference with WalletChan MCP execution overrides prepended. |
| list_skill_resourcesC | List WalletChan MCP skill and adapted Base plugin resources. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| WalletChan MCP Skill | WalletChan MCP usage and Base plugin compatibility rules |
| Base plugin: morpho | Morpho lending and vaults |
| Base plugin: moonwell | Moonwell lending |
| Base plugin: uniswap | Uniswap swaps and LP positions |
| Base plugin: avantis | Avantis perpetual futures |
| Base plugin: aerodrome | Aerodrome swaps and LP |
| Base plugin: virtuals | Virtuals SIWE auth and agent ops |
| Base plugin: bankr | Bankr token launch discovery |
| Base reference: batch-calls | Batched contract calls |
| Base reference: approval-mode | Approval flow |
| Base reference: custom-plugins | Custom plugin patterns |
| WalletChan Veil MCP Skill | WalletChan-adapted Veil Cash MCP usage |
| Veil plugin for WalletChan MCP | Veil Cash register, deposit, balance, and private relay guidance for WalletChan MCP |
TDQS
Scored across 65 tools
Many tools have overlapping or layered purposes, e.g., send_transaction/send_calls/send_prepared_calls/agent_eoa_send_transaction/agent_eoa_send_calls, veil_deposit_status vs veil_wait_for_deposit, resolve_name vs resolve_names, and separate veil vs agent x402 quote/pay paths. Descriptions help, but an agent must still disambiguate between nearly identical wallet, agent, and Veil execution routes.
Most names use snake_case, but the set mixes verb_noun (get_request_status), noun-only (swap, bridge, sign), and prefixed variants (veil_, agent_, list_, get_, send_). The conventions are readable but not predictable enough for a consistent naming score.
65 tools is an extreme mismatch for a single MCP server, far beyond the typical 3-15 well-scoped range. The surface includes many overlapping variants and layers, making the set difficult to navigate rather than each tool clearly earning its place.
The surface covers a broad domain: wallet signing, transactions, swaps, bridges, agent wallets, delegations, Veil privacy, x402 payments, and protocol integrations. However, notable lifecycle gaps remain, such as onchain delegation revocation, transaction history/update/cancel operations, and explicit approval management.