Agent Wallet CLI
/install agent-wallet-cli
Agent Wallet
Self-custodial crypto wallet CLI for AI agents. Your keys, your coins — the agent never sees your mnemonic after init.
- Open source: github.com/donald-jackson/agent-wallet-cli — audit before use
- npm package: npmjs.com/package/agent-wallet-cli
- Self-custodial: Keys encrypted locally with Argon2id + AES-256-GCM. No server, no third party.
- Session-based access: Agents use time-limited tokens, never your password directly.
- Multi-chain: Ethereum, Solana, Polygon, Arbitrum, Base — native coins and tokens.
Security Model
- You create or import a wallet with a password → encrypted on disk in
~/.agent-wallet-cli/ - You (or the agent) unlock with the password → get a time-limited session token (
wlt_...) - The agent uses only the session token — it expires automatically (default 1hr, max 24hr)
- No telemetry, no analytics, no server calls — only public blockchain RPCs for queries and transactions
Important: If you give the agent your WALLET_PASSWORD, it can perform any password-level operation (init, import, unlock, and export). For maximum security, unlock the wallet yourself and only give the agent the session token. Session tokens cannot export mnemonics or change passwords — they can only sign transactions and read balances.
Before trusting this skill with real funds:
- Audit the source: github.com/donald-jackson/agent-wallet-cli
- Verify the npm package matches the repo:
npm info agent-wallet-cli - Test with small amounts first
- Use short session durations (1hr default)
- Run in an isolated environment if possible
Setup
npm install -g agent-wallet-cli
Verify installation: agent-wallet-cli --version
Workflow
- Init (first time):
agent-wallet-cli init --password "$WALLET_PASSWORD"- Displays mnemonic ONCE — save it securely
- Import (existing wallet):
agent-wallet-cli import --password "$WALLET_PASSWORD" --mnemonic "word1 word2 ..." - Unlock:
agent-wallet-cli unlock --password "$WALLET_PASSWORD" --duration 3600- Returns session token (
wlt_...) valid for specified duration
- Returns session token (
- Use: Pass
--token wlt_...to all commands (no password needed) - Lock:
agent-wallet-cli lockwhen done
Note: --password and --mnemonic can be omitted to be prompted securely via stdin (recommended for interactive use). When using in automation, --password is accepted but will show a warning about shell history visibility.
Global Options
All commands accept:
--format json|text(default: json)--wallet-dir \x3Cpath>(default: ~/.agent-wallet-cli)--quiet— suppress output--name \x3Cname>— wallet name (default: "default")
Commands
Wallet Management
agent-wallet-cli init [--password \x3Cpw>] [--word-count 12|24] [--name \x3Cname>]
agent-wallet-cli import [--password \x3Cpw>] [--mnemonic "\x3Cphrase>"] [--name \x3Cname>]
agent-wallet-cli unlock [--password \x3Cpw>] [--duration \x3Csecs>] [--name \x3Cname>]
agent-wallet-cli lock [--name \x3Cname>]
agent-wallet-cli export [--password \x3Cpw>] --confirm [--name \x3Cname>]
Addresses & Balances
agent-wallet-cli address --token \x3Cwlt_...> [--chain ethereum|solana] [--account-index 0]
agent-wallet-cli balance --token \x3Cwlt_...> --chain \x3Cchain> [--network \x3Cnetwork>] [--token-address usdc]
Important: --chain is required for balance/send/history. --token is the session token (wlt_...), --token-address is the coin/token contract or alias.
L2 networks: For Base, Polygon, Arbitrum use --chain ethereum --network base (etc). Default network is mainnet.
Transfers
# Native (ETH/SOL)
agent-wallet-cli send --token \x3Cwlt_...> --chain \x3Cchain> --to \x3Caddr> --amount \x3Camt> --yes [--dry-run] [--no-relay]
# ERC-20/SPL token
agent-wallet-cli send --token \x3Cwlt_...> --chain \x3Cchain> --to \x3Caddr> --amount \x3Camt> --token-address \x3Caddr|alias> --yes [--no-relay]
--yes: Skip confirmation prompt (required for non-TTY/agent use)--dry-run: Simulate transaction without sending--no-relay: Disable gasless relay fallback--network \x3Cnetwork>: Target network (default: mainnet)
x402 Payments
agent-wallet-cli x402 \x3Curl> --token \x3Cwlt_...> [--method GET] [--header "Key:Value"] [--body \x3Cdata|@file>] [--max-amount \x3Camt>] [--dry-run] [--yes]
Make HTTP requests with automatic x402 payment. The CLI detects 402 Payment Required responses, pays the requested amount in stablecoins, and retries.
--max-amount \x3Camount>: Maximum willing to pay (human-readable, e.g. "0.10")--dry-run: Show payment requirements without paying--yes: Skip payment confirmation--header: Repeatable for multiple headers--body: Request body, or@filepathto read from file
Approvals (ERC-20/SPL)
agent-wallet-cli approve --token \x3Cwlt_...> --chain \x3Cchain> --token-address \x3Caddr> --spender \x3Caddr> --amount \x3Camt|unlimited> --yes [--network \x3Cnet>]
agent-wallet-cli allowance --chain \x3Cchain> --token-address \x3Caddr> --owner \x3Caddr> --spender \x3Caddr> [--network \x3Cnet>]
agent-wallet-cli transfer-from --token \x3Cwlt_...> --chain \x3Cchain> --token-address \x3Caddr> --from \x3Caddr> --to \x3Caddr> --amount \x3Camt> --yes [--network \x3Cnet>]
agent-wallet-cli approvals --token \x3Cwlt_...> [--chain ethereum] [--network mainnet] [--limit 20]
Signing
agent-wallet-cli sign --token \x3Cwlt_...> --chain \x3Cchain> --message "text"
agent-wallet-cli sign --token \x3Cwlt_...> --chain \x3Cchain> --typed-data '\x3Cjson|@file>'
agent-wallet-cli sign --token \x3Cwlt_...> --chain \x3Cchain> --data \x3Chex>
Transaction History
agent-wallet-cli history --token \x3Cwlt_...> --chain \x3Cchain> [--network mainnet] [--limit 10]
Network Configuration
agent-wallet-cli networks # list all
agent-wallet-cli networks --set ethereum:mainnet --rpc-url \x3Curl> # custom RPC
agent-wallet-cli networks --reset ethereum:mainnet # reset to default
Chains & Networks
| Chain | Networks |
|---|---|
| ethereum | mainnet, sepolia, polygon, arbitrum, base, base-sepolia |
| solana | mainnet, devnet |
EVM L2s (Base, Polygon, Arbitrum) use --chain ethereum --network \x3Cl2name>.
--chain is required for balance, send, history, approve, allowance, transfer-from, approvals, and sign.
Token Aliases
Use shorthand instead of contract addresses: usdc, usdt, dai, weth, wbtc
Security Notes
- Self-custodial — keys never leave your machine, encrypted at rest
- No analytics, no telemetry, no network calls except to public RPCs for blockchain queries
- Session tokens grant temporary fund access — treat as passwords
- Always
--dry-runbefore large transfers - Lock wallet when done
- Never log or share session tokens or mnemonics
- Audit the source: github.com/donald-jackson/agent-wallet-cli
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install agent-wallet-cli - After installation, invoke the skill by name or use
/agent-wallet-cli - Provide required inputs per the skill's parameter spec and get structured output
What is Agent Wallet CLI?
Manage crypto wallets (Ethereum, Solana, Polygon, Arbitrum, Base) via agent-wallet-cli. Use for checking balances, sending tokens (ETH/SOL/ERC-20/SPL), signi... It is an AI Agent Skill for Claude Code / OpenClaw, with 904 downloads so far.
How do I install Agent Wallet CLI?
Run "/install agent-wallet-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Agent Wallet CLI free?
Yes, Agent Wallet CLI is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Agent Wallet CLI support?
Agent Wallet CLI is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Agent Wallet CLI?
It is built and maintained by donald-jackson (@donald-jackson); the current version is v1.4.0.