@palmyr/cli 1.6.0 → 1.8.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 CHANGED
@@ -118,14 +118,46 @@ palmyr wallet create --name agent-prod
118
118
 
119
119
  # Managed: prints a setup link to send to a human
120
120
  palmyr wallet create --name treasury --managed
121
+
122
+ # Single-chain: skip the other chain's account
123
+ palmyr wallet create --name sol-only --solana
124
+ palmyr wallet create --name base-only --base
121
125
  ```
122
126
 
127
+ By default a wallet derives both Solana and Base/EVM accounts. Pass `--solana` or `--base` (not both) to materialize only one side. The mnemonic always derives both — `--solana` / `--base` controls *which addresses are surfaced and stored*, not which keys exist cryptographically.
128
+
123
129
  The managed flow returns a one-time URL. The recipient opens it in a browser, registers a WebAuthn passkey, and sets spending limits. From that point on, transactions inside the limit sign instantly; transactions over the limit emit an `approvalUrl` that the human visits to authenticate and approve.
124
130
 
131
+ ### Bulk creation with tags
132
+
133
+ Group many wallets under one folder-like tag, then cascade-delete them together when done — ideal for spinning up demo, agent-cohort, or test wallets:
134
+
135
+ ```bash
136
+ # Create 100 unmanaged wallets sharing one tag (~7s on Windows, batched DPAPI seal)
137
+ palmyr wallet create --tag palmyr-demo --count 100
138
+
139
+ # Custom name prefix; defaults to the tag if omitted → wallets named bot-001..bot-050
140
+ palmyr wallet create --tag agents --count 50 --name-prefix bot
141
+
142
+ # List, retag, untag
143
+ palmyr wallet list --tag palmyr-demo
144
+ palmyr wallet tag <WALLET_ID> palmyr-demo # assign / change
145
+ palmyr wallet tag <WALLET_ID> --clear # remove
146
+ palmyr wallet tags # all tags + counts + chains
147
+
148
+ # Cascade-delete every wallet under a tag (vault file + OS-credential-store secret)
149
+ palmyr wallet tag-delete palmyr-demo --confirm
150
+ ```
151
+
152
+ Bulk-create is unmanaged-only (managed wallets need per-wallet passkey setup) and capped at 500 per call. Names auto-suffix `-001..-N` with zero-padding based on count width.
153
+
125
154
  ### Importing an existing seed
126
155
 
127
156
  ```bash
128
157
  palmyr wallet import --mnemonic "twelve word seed phrase ..." --name imported
158
+
159
+ # Same chain / tag flags as create
160
+ palmyr wallet import --mnemonic "..." --name from-backup --tag restored --solana
129
161
  ```
130
162
 
131
163
  ### Exporting a seed
@@ -377,10 +409,13 @@ All wallet operations except `addresses`, `api-key`, `config`, and `request-appr
377
409
 
378
410
  | Command | Network | Notes |
379
411
  |---|---|---|
380
- | `palmyr wallet create [--name N] [--managed]` | local *(server only if `--managed`)* | New wallet. Stores session secret in OS credential store. |
381
- | `palmyr wallet import --mnemonic "..." [--name N] [--managed]` | local | Restore from BIP-39. |
382
- | `palmyr wallet list` | local | Lists wallets in the local vault. |
383
- | `palmyr wallet info <ID>` | local | Show one wallet (id, name, addresses, mode). |
412
+ | `palmyr wallet create [--name N] [--managed] [--solana\|--base] [--tag T] [--count N] [--name-prefix P]` | local *(server only if `--managed`)* | New wallet. Stores session secret in OS credential store. `--count > 1` bulk-creates N unmanaged wallets under a required `--tag` (max 500/call, batched DPAPI seal on Windows). `--solana` / `--base` materializes only one chain. |
413
+ | `palmyr wallet import --mnemonic "..." [--name N] [--managed] [--solana\|--base] [--tag T]` | local | Restore from BIP-39. Same chain / tag flags as `create`. |
414
+ | `palmyr wallet list [--tag T]` | local | Lists wallets in the local vault. `--tag` filters to one folder. |
415
+ | `palmyr wallet info <ID>` | local | Show one wallet (id, name, addresses, mode, tag). |
416
+ | `palmyr wallet tags` | local | List all tags with wallet count, chains, and date range. |
417
+ | `palmyr wallet tag <ID> <TAG>` / `palmyr wallet tag <ID> --clear` | local | Assign, change, or clear a wallet's tag. |
418
+ | `palmyr wallet tag-delete <TAG> --confirm` | local | Cascade-delete every wallet under the tag (vault file + OS-credential-store secret). Requires explicit `--confirm`. |
384
419
  | `palmyr wallet addresses <ID>` | API | Server-side derived addresses (multi-chain). |
385
420
  | `palmyr wallet sign-message <ID> --chain solana\|evm --msg "..."` | local | Sign an arbitrary message offline. |
386
421
  | `palmyr wallet api-key <ID> [--name N]` | API | Mint an agent API key bound to the wallet. |