Encrypted local wallets stored in the Open Wallet Standard (OWS) vault at ~/.ows/, AES-256-GCM. Keys never leave the device.
If a zerion command fails with command not found, install once:
npm install -g zerion-cliRequires Node.js ≥ 20. For auth see the parent SKILL.md (Setup + Authentication).
- "Create a new wallet"
- "Import my wallet from a private key / mnemonic"
- "Show my wallets" / "list deposit addresses"
- "Back up my recovery phrase"
- "Export the raw private key" / "give me the 0x hex key" / "give me the Phantom-format secret"
- "Delete this wallet"
- "Sync my wallet to the Zerion mobile app"
For on-chain actions with a wallet → capabilities/trading.md. For agent-token setup on a wallet → capabilities/agent-management.md.
A mnemonic-derived wallet (created via wallet create or wallet import --mnemonic) holds both an EVM and a Solana account, so the same wallet can sign on either chain and act as a destination for cross-chain bridges in either direction.
A wallet imported from a single private key holds only one chain's account:
| Import flag | Account type | Can swap on | Can be cross-chain destination for |
|---|---|---|---|
--mnemonic |
EVM + Solana | both | both |
--evm-key |
EVM only | EVM chains | EVM chains |
--sol-key |
Solana only | Solana | Solana |
wallet list shows which accounts each wallet has. Use this when picking --to-wallet for a cross-chain bridge — the destination wallet must have an account on the target chain.
| Operation | Type | Notes |
|---|---|---|
wallet list, wallet fund |
Agent | Read-only. Safe to invoke autonomously. |
wallet create, wallet import, wallet backup, wallet export-key, wallet delete, wallet sync |
Manual | Require passphrase or interactive input. Humans must run these directly — agents must not call them. |
zerion wallet list # All wallets, addresses, active policies
zerion wallet list --search <query> # Filter by name or address
zerion wallet list --limit <n> --offset <n> # Paginate
zerion wallet fund --wallet <name> # Show EVM + Solana deposit addressesThese prompt for a passphrase, secret key, or confirmation. Do not invoke from an agent loop.
# Create a fresh encrypted wallet (EVM + Solana, generated locally)
zerion wallet create --name <name>
# Import from existing keys (interactive secret prompts — never expose keys in shell history)
zerion wallet import --name <name> --evm-key
zerion wallet import --name <name> --sol-key
zerion wallet import --name <name> --mnemonic
# Export the recovery phrase (passphrase required)
zerion wallet backup --wallet <name>
# Export raw private key(s) derived from the mnemonic (passphrase required)
# Output goes to stderr only — same safety stance as `wallet backup`.
zerion wallet export-key --wallet <name> # both chains, derivation index 0
zerion wallet export-key --wallet <name> --chain evm # EVM only — m/44'/60'/0'/0/0, 0x hex
zerion wallet export-key --wallet <name> --chain solana # Solana only — m/44'/501'/0'/0', base58 (Phantom format) + 32-byte ed25519 seed
zerion wallet export-key --wallet <name> --chain evm --index 1 # different derivation index
# Permanently delete (passphrase + confirmation)
zerion wallet delete <name>
# Sync to the Zerion mobile app via a one-time QR code
zerion wallet sync --wallet <name>
zerion wallet sync --allWallet-related config is set with zerion config:
zerion config set defaultWallet <name> # Used when --wallet is omitted
zerion config get defaultWallet
zerion config unset defaultWallet # Resets to "no default"
zerion config list # Show all config (sensitive values redacted)~/.zerion/config.json is created with mode 0o600.
# 1. Create wallet (passphrase prompt; offers agent-token setup at the end)
zerion wallet create --name agent-bot
# 2. Fund it
zerion wallet fund --wallet agent-bot
# → prints EVM and Solana deposit addresses
# 3. Set as default so future commands omit --wallet
zerion config set defaultWallet agent-bot
# 4. (Optional) sync to mobile
zerion wallet sync --wallet agent-botAfter step 1's agent-token prompt, the wallet is ready for autonomous trading via capabilities/trading.md. To configure agent tokens or policies later → capabilities/agent-management.md.
| Code | Cause | Fix |
|---|---|---|
wallet_exists |
Wallet name already taken | Choose a different name or wallet delete first |
wallet_not_found |
Name not in OWS vault | zerion wallet list to see existing |
bad_passphrase |
Wrong passphrase entered | Retry; passphrase is set at creation |
bad_mnemonic |
Invalid recovery phrase format | Re-enter; must be valid BIP-39 |
bad_evm_key |
Invalid 0x-prefixed hex | Should be 64 hex chars after 0x |
bad_sol_key |
Invalid base58 keypair | Solana keys are base58, ≥87 chars |