zoa-wallet 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +172 -0
- package/dist/index.mjs +48678 -0
- package/package.json +63 -0
package/README.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# ZOA Wallet CLI
|
|
2
|
+
|
|
3
|
+
**API-First Crypto Wallet for Developers & AI Agents**
|
|
4
|
+
|
|
5
|
+
ZOA is a multi-chain crypto wallet designed for programmatic access. Manage wallets, check balances, send tokens, and more — all from your terminal or scripts.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Install globally
|
|
11
|
+
npm install -g zoa-wallet
|
|
12
|
+
|
|
13
|
+
# Or use directly with npx
|
|
14
|
+
npx zoa-wallet
|
|
15
|
+
|
|
16
|
+
# Or with pnpm
|
|
17
|
+
pnpm add -g zoa-wallet
|
|
18
|
+
|
|
19
|
+
# Or with yarn
|
|
20
|
+
yarn global add zoa-wallet
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Create a new wallet
|
|
27
|
+
zoa init
|
|
28
|
+
|
|
29
|
+
# Check balances across all chains
|
|
30
|
+
zoa balance
|
|
31
|
+
|
|
32
|
+
# Show receive addresses with QR codes
|
|
33
|
+
zoa receive
|
|
34
|
+
|
|
35
|
+
# View supported networks
|
|
36
|
+
zoa chains
|
|
37
|
+
|
|
38
|
+
# Check live token prices
|
|
39
|
+
zoa prices
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Commands
|
|
43
|
+
|
|
44
|
+
| Command | Description |
|
|
45
|
+
|---------|-------------|
|
|
46
|
+
| `zoa init` | Create a new wallet or import from recovery phrase |
|
|
47
|
+
| `zoa balance` | Check balances across all supported networks |
|
|
48
|
+
| `zoa send` | Send tokens to an address |
|
|
49
|
+
| `zoa receive` | Show wallet addresses with QR codes |
|
|
50
|
+
| `zoa history` | View transaction history |
|
|
51
|
+
| `zoa export` | Export private keys or recovery phrase |
|
|
52
|
+
| `zoa chains` | List all supported blockchain networks |
|
|
53
|
+
| `zoa prices` | View live token prices |
|
|
54
|
+
| `zoa config` | Manage configuration (~/.zoa/config.json) |
|
|
55
|
+
| `zoa api` | Manage API keys for programmatic access |
|
|
56
|
+
|
|
57
|
+
## JSON Mode (for Scripts & AI Agents)
|
|
58
|
+
|
|
59
|
+
Every command supports `--json` for machine-readable output:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Create wallet non-interactively
|
|
63
|
+
zoa --json init --mnemonic "your twelve word phrase here ..." --password "securepass"
|
|
64
|
+
|
|
65
|
+
# Get balances as JSON
|
|
66
|
+
zoa --json balance --password "securepass"
|
|
67
|
+
|
|
68
|
+
# Filter by chain
|
|
69
|
+
zoa --json balance --password "securepass" --chain solana
|
|
70
|
+
|
|
71
|
+
# Get supported chains
|
|
72
|
+
zoa --json chains
|
|
73
|
+
|
|
74
|
+
# Get prices
|
|
75
|
+
zoa --json prices --tokens "ethereum,solana,bitcoin"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Example JSON Output
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
$ zoa --json chains
|
|
82
|
+
```
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"chains": [
|
|
86
|
+
{ "name": "Ethereum", "symbol": "ETH", "chainId": 1 },
|
|
87
|
+
{ "name": "Base", "symbol": "ETH", "chainId": 8453 },
|
|
88
|
+
{ "name": "Solana", "symbol": "SOL", "chainId": -1 },
|
|
89
|
+
...
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Non-Interactive Mode
|
|
95
|
+
|
|
96
|
+
All commands accept flags for fully non-interactive usage — perfect for CI/CD, scripts, and AI agents:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Init without prompts
|
|
100
|
+
zoa init --mnemonic "..." --password "..." --word-count 24
|
|
101
|
+
|
|
102
|
+
# Balance without prompts
|
|
103
|
+
zoa balance --password "..." --chain base
|
|
104
|
+
|
|
105
|
+
# Send without prompts
|
|
106
|
+
zoa send --password "..." --to 0x... --amount 0.1 --chain base --yes
|
|
107
|
+
|
|
108
|
+
# Export without prompts
|
|
109
|
+
zoa export --password "..." --type key --chain evm
|
|
110
|
+
zoa export --password "..." --type mnemonic
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Supported Networks
|
|
114
|
+
|
|
115
|
+
| Network | Symbol | Type |
|
|
116
|
+
|---------|--------|------|
|
|
117
|
+
| Ethereum | ETH | EVM |
|
|
118
|
+
| Base | ETH | EVM |
|
|
119
|
+
| BNB Smart Chain | BNB | EVM |
|
|
120
|
+
| Polygon | POL | EVM |
|
|
121
|
+
| Arbitrum One | ETH | EVM |
|
|
122
|
+
| Optimism | ETH | EVM |
|
|
123
|
+
| Solana | SOL | Non-EVM |
|
|
124
|
+
| Hyperliquid | HYPE | Non-EVM |
|
|
125
|
+
|
|
126
|
+
## Configuration
|
|
127
|
+
|
|
128
|
+
ZOA stores configuration in `~/.zoa/`:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# View config
|
|
132
|
+
zoa config show
|
|
133
|
+
|
|
134
|
+
# Set default chain
|
|
135
|
+
zoa config set defaultChain base
|
|
136
|
+
|
|
137
|
+
# Set API key
|
|
138
|
+
zoa api set zoa_sk_your_key_here
|
|
139
|
+
|
|
140
|
+
# Set custom API URL
|
|
141
|
+
zoa config set apiUrl https://api.zoa.fun
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## SDK
|
|
145
|
+
|
|
146
|
+
For programmatic usage in your applications, use the ZOA SDK:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import { ZoaWallet } from '@zoa/sdk';
|
|
150
|
+
|
|
151
|
+
// Create a new wallet
|
|
152
|
+
const wallet = await ZoaWallet.create();
|
|
153
|
+
console.log(wallet.evmAddress); // 0x...
|
|
154
|
+
console.log(wallet.solanaAddress); // ABC...
|
|
155
|
+
|
|
156
|
+
// Sign data
|
|
157
|
+
const sig = await wallet.sign(data, 'evm');
|
|
158
|
+
|
|
159
|
+
// Export keys
|
|
160
|
+
const pk = wallet.exportPrivateKey('evm');
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Security
|
|
164
|
+
|
|
165
|
+
- Wallet data is encrypted with AES-256-GCM (PBKDF2 600k iterations)
|
|
166
|
+
- Private keys are held in memory only during the session
|
|
167
|
+
- Vault is stored locally at `~/.zoa/vault.json`
|
|
168
|
+
- No data is sent to any server unless you explicitly use API features
|
|
169
|
+
|
|
170
|
+
## License
|
|
171
|
+
|
|
172
|
+
MIT
|