zerion
Zerion
Unified API + CLI for crypto wallets across 14 EVM chains and Solana. The zerion binary ships from npm; this skill is the entry point for install, authentication, and routing to specific capability skills.
Install
# Run without installing
npx zerion --help
# Or install globally
npm install -g zerion
Requires Node.js ≥ 20.
Authentication
Three modes. Pick one for analytics; trading always uses an API key.
A) API key (recommended)
export ZERION_API_KEY="zk_dev_..."
Get yours at dashboard.zerion.io. Dev keys begin with zk_dev_. Limits: 120 req/min, 5K req/day.
B) x402 pay-per-call (no signup, analytics only)
Pays $0.01 USDC per request via the x402 protocol. EVM (Base) or Solana.
export WALLET_PRIVATE_KEY="0x..." # EVM (Base) — 0x-prefixed hex
export WALLET_PRIVATE_KEY="5C1y..." # Solana — base58 keypair
zerion portfolio <address> --x402
# Or enable globally
export ZERION_X402=true
Both chains at once:
export EVM_PRIVATE_KEY="0x..."
export SOLANA_PRIVATE_KEY="5C1y..."
export ZERION_X402_PREFER_SOLANA=true # optional
C) MPP pay-per-call (analytics only, EVM Tempo)
Pays $0.01 USDC per request via MPP on Tempo.
export TEMPO_PRIVATE_KEY="0x..." # or reuse WALLET_PRIVATE_KEY
zerion portfolio <address> --mpp
# Or enable globally
export ZERION_MPP=true
Trading commands (
swap,bridge,send) always use the API key + an agent token, regardless ofZERION_X402/ZERION_MPP.
Which skill for which task
| Intent | Skill |
|---|---|
| What's in this wallet? portfolio, positions, history, PnL, watchlist | zerion-analyze |
| Swap / bridge / send tokens | zerion-trading |
| Sign a message or EIP-712 typed data (no broadcast) | zerion-sign |
| Create / import / list / backup / delete wallets | zerion-wallet |
| Set up agent tokens + policies for autonomous trading | zerion-agent-management |
Output contract
All commands emit JSON to stdout (default — agent-friendly). Errors emit structured JSON to stderr:
{ "error": { "code": "missing_api_key", "message": "..." } }
Flags: --json (default), --pretty (auto-enabled for TTY), --quiet.
Supported chains
ethereum, base, arbitrum, optimism, polygon, binance-smart-chain, avalanche, gnosis, scroll, linea, zksync-era, zora, blast, solana.
Use zerion chains for the live catalog with metadata.
Common error codes
| Code | Cause | Fix |
|---|---|---|
missing_api_key |
No ZERION_API_KEY set |
Set env var or use --x402 for analytics |
no_agent_token |
No agent token for trading/signing | See zerion-agent-management skill |
no_wallet |
No wallet specified, no default | --wallet <name> or set defaultWallet config |
wallet_not_found |
Wallet not in local vault | zerion wallet list to check |
unsupported_chain |
Invalid --chain value |
zerion chains for valid IDs |
api_error 401 |
Invalid API key | Check key at dashboard.zerion.io |
api_error 429 |
Rate limited | Wait, lower frequency, or switch to x402 |
Key management
Wallets are encrypted with AES-256-GCM via the Open Wallet Standard (OWS) vault at ~/.ows/. Private keys never leave the device; signing happens locally. The Zerion API never sees keys.
~/.zerion/config.json (mode 0o600) stores agent tokens, default wallet, default chain, and slippage.
Resources
- API docs: developers.zerion.io
- Dashboard: dashboard.zerion.io
- x402 protocol: x402.org
- CLI source: github.com/zeriontech/zerion-cli