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
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install agent-wallet-cli - 安装完成后,直接呼叫该 Skill 的名称或使用
/agent-wallet-cli触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 904 次。
如何安装 Agent Wallet CLI?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-wallet-cli」即可一键安装,无需额外配置。
Agent Wallet CLI 是免费的吗?
是的,Agent Wallet CLI 完全免费(开源免费),可自由下载、安装和使用。
Agent Wallet CLI 支持哪些平台?
Agent Wallet CLI 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Agent Wallet CLI?
由 donald-jackson(@donald-jackson)开发并维护,当前版本 v1.4.0。