Agent Wallet CLI
by @donald-jackson
Manage crypto wallets (Ethereum, Solana, Polygon, Arbitrum, Base) via agent-wallet-cli. Use for checking balances, sending tokens (ETH/SOL/ERC-20/SPL), signi...
clawhub install agent-wallet-cliπ About This Skill
name: agent-wallet description: Manage crypto wallets (Ethereum, Solana, Polygon, Arbitrum, Base) via agent-wallet-cli. Use for checking balances, sending tokens (ETH/SOL/ERC-20/SPL), signing messages, managing approvals, viewing transaction history, x402 payments, and wallet lifecycle (init, unlock, lock, export). Supports HD wallets (BIP-39), session tokens for time-limited access, and JSON output for automation. Open source β https://github.com/donald-jackson/agent-wallet-cli metadata: {"openclaw":{"requires":{"bins":["agent-wallet-cli"],"env":["WALLET_PASSWORD (sensitive, optional): Wallet encryption password β passed via --password or piped via stdin. Only needed for init/import/unlock/export.","WALLET_SESSION_TOKEN (sensitive, optional): Time-limited session token (wlt_...) from unlock. Used for all operations via --token."]},"install":[{"id":"agent-wallet-cli","kind":"node","package":"agent-wallet-cli","bins":["agent-wallet-cli"],"label":"Install agent-wallet-cli (npm)"}],"source":{"repository":"https://github.com/donald-jackson/agent-wallet-cli","license":"MIT"}}}
Agent Wallet
Self-custodial crypto wallet CLI for AI agents. Your keys, your coins β the agent never sees your mnemonic after init.
Security Model
1. You create or import a wallet with a password β encrypted on disk in ~/.agent-wallet-cli/
2. You (or the agent) unlock with the password β get a time-limited session token (wlt_...)
3. The agent uses only the session token β it expires automatically (default 1hr, max 24hr)
4. 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:
npm info agent-wallet-cliSetup
npm install -g agent-wallet-cli
Verify installation: agent-wallet-cli --version
Workflow
1. Init (first time): agent-wallet-cli init --password "$WALLET_PASSWORD"
- Displays mnemonic ONCE β save it securely
2. Import (existing wallet): agent-wallet-cli import --password "$WALLET_PASSWORD" --mnemonic "word1 word2 ..."
3. Unlock: agent-wallet-cli unlock --password "$WALLET_PASSWORD" --duration 3600
- Returns session token (wlt_...) valid for specified duration
4. Use: Pass --token wlt_... to all commands (no password needed)
5. Lock: agent-wallet-cli lock when 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 (default: ~/.agent-wallet-cli)--quiet β suppress output--name β wallet name (default: "default")Commands
Wallet Management
agent-wallet-cli init [--password ] [--word-count 12|24] [--name ]
agent-wallet-cli import [--password ] [--mnemonic ""] [--name ]
agent-wallet-cli unlock [--password ] [--duration ] [--name ]
agent-wallet-cli lock [--name ]
agent-wallet-cli export [--password ] --confirm [--name ]
Addresses & Balances
agent-wallet-cli address --token [--chain ethereum|solana] [--account-index 0]
agent-wallet-cli balance --token --chain [--network ] [--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 --chain --to --amount --yes [--dry-run] [--no-relay]
ERC-20/SPL token
agent-wallet-cli send --token --chain --to --amount --token-address --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 : Target network (default: mainnet)x402 Payments
agent-wallet-cli x402 --token [--method GET] [--header "Key:Value"] [--body ] [--max-amount ] [--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 : 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 @filepath to read from fileApprovals (ERC-20/SPL)
agent-wallet-cli approve --token --chain --token-address --spender --amount --yes [--network ]
agent-wallet-cli allowance --chain --token-address --owner --spender [--network ]
agent-wallet-cli transfer-from --token --chain --token-address --from --to --amount --yes [--network ]
agent-wallet-cli approvals --token [--chain ethereum] [--network mainnet] [--limit 20]
Signing
agent-wallet-cli sign --token --chain --message "text"
agent-wallet-cli sign --token --chain --typed-data ''
agent-wallet-cli sign --token --chain --data
Transaction History
agent-wallet-cli history --token --chain [--network mainnet] [--limit 10]
Network Configuration
agent-wallet-cli networks # list all
agent-wallet-cli networks --set ethereum:mainnet --rpc-url # 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 .
--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
--dry-run before large transfersβοΈ Configuration
npm install -g agent-wallet-cli
Verify installation: agent-wallet-cli --version