@agentlayer.tech/wallet 0.1.91 → 0.1.92

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
@@ -1,577 +1,173 @@
1
1
  ![AgentLayer](logo+name.png)
2
2
 
3
-
4
3
  [![npm version](https://img.shields.io/npm/v/%40agentlayer.tech%2Fwallet)](https://www.npmjs.com/package/@agentlayer.tech/wallet)
5
4
  [![npm downloads](https://img.shields.io/npm/dm/%40agentlayer.tech%2Fwallet)](https://www.npmjs.com/package/@agentlayer.tech/wallet)
6
5
  [![Node 24.x](https://img.shields.io/badge/node-24.x-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
7
6
  [![docs](https://img.shields.io/badge/docs-agent--layer.tech-blue)](https://docs.agent-layer.tech/)
8
7
 
9
- Install AgentLayer for the agent frameworks already present on the machine:
10
-
11
- ```bash
12
- npx @agentlayer.tech/wallet install --yes
13
- ```
14
-
15
- The installer detects OpenClaw, Codex, Claude Code, and Hermes, installs the
16
- shared local runtime once, and connects every detected host. Without `--yes`,
17
- an interactive terminal asks about each detected host.
18
-
19
- To choose hosts explicitly:
20
-
21
- ```bash
22
- npx @agentlayer.tech/wallet install --yes --hosts codex,claude-code
23
- npx @agentlayer.tech/wallet install --yes --hosts detected --exclude hermes
24
- npx @agentlayer.tech/wallet install --yes --runtime-only
25
- npx @agentlayer.tech/wallet detect --json
26
- ```
27
-
28
- The legacy `wallet codex install`, `wallet claude-code install`, and
29
- `wallet hermes install` commands remain supported as explicit repair/install
30
- commands.
31
-
32
- On a machine with an existing AgentLayer runtime, a plain `wallet install`
33
- touches only already-managed hosts. To enroll a framework installed later, run
34
- `wallet install --yes --hosts detected` or name it explicitly.
35
-
36
- Or install entirely from inside the Claude Code CLI, via the plugin marketplace
37
- (no terminal/npx needed) — two commands, then restart:
38
-
39
- ```text
40
- /plugin marketplace add lopushok9/Agent-Layer
41
- /plugin install agent-wallet@agentlayer
42
- ```
43
-
44
- AgentLayer is a beta local-first wallet and finance stack for agents.
45
-
46
- The repository includes:
47
-
48
- - `agent-wallet/` - the main wallet backend for AgentLayer
49
- - `.openclaw/` - the local AgentLayer bridge layer for the OpenClaw wallet integration
50
- - `hermes/` - optional Hermes Agent plugin bridge for the same wallet backend
51
- - `codex/` - optional Codex plugin bridge for the same wallet backend
52
- - `wdk-btc-wallet/` - the local Bitcoin wallet service
53
- - `wdk-evm-wallet/` - the local EVM wallet service
54
- - `provider-gateway/` - shared provider access for Solana RPC, Bags, and related finance reads
55
- - `mcp-server/` - the finance and crypto MCP layer
56
-
57
- The goal is simple:
58
-
59
- - keep wallet secrets local
60
- - let agents use constrained wallet capabilities
61
- - support real onchain flows without giving agents direct key ownership
62
-
63
- ## Beta
64
-
65
- This project is in beta.
66
-
67
- Do not treat it as a finished production wallet stack. Test every flow before relying on it.
68
-
69
- ## Quick install
70
-
71
- System prerequisites:
72
-
73
- - `python3`
74
- - `node` `24.x`
75
- - `npm`
76
-
77
- Install the local runtime and connect detected agent frameworks:
8
+ ## Install
9
+ Run one command:
78
10
 
79
11
  ```bash
80
- npx @agentlayer.tech/wallet install --yes
12
+ npx --yes @agentlayer.tech/wallet@latest install
81
13
  ```
14
+ It works with:
82
15
 
83
- Install the native OpenClaw plugin from ClawHub:
16
+ - Codex
17
+ - Claude Code
18
+ - OpenClaw
19
+ - Hermes
84
20
 
85
- ```bash
86
- openclaw plugins install clawhub:@agentlayertech/agent-wallet-plugin
87
- ```
21
+ You need:
88
22
 
89
- The ClawHub package does not replace the npm installer. `npx @agentlayer.tech/wallet install --yes` installs the local runtime, Python backend, and helper services. ClawHub only installs the OpenClaw plugin surface that points at that runtime.
23
+ - Node.js 24
24
+ - npm
25
+ - Python 3
90
26
 
91
- Or install the CLI globally for shorter commands:
27
+ AgentLayer detects the supported agent frameworks on your machine and asks
28
+ where you want to install the plugin.
92
29
 
93
- ```bash
94
- npm install -g @agentlayer.tech/wallet
95
- wallet install --yes
96
- ```
30
+ Restart the selected applications after installation.
97
31
 
98
- > **Why install globally?** Without the global install, `wallet` is not in your `PATH` and commands like `wallet update --yes` return `zsh: command not found: wallet`. The global install adds the `wallet` binary once; after that all `wallet <cmd>` shortcuts work. If you skip the global install, prefix every command with `npx @agentlayer.tech/wallet` instead (see the Updating section below).
32
+ ### Install automatically
99
33
 
100
- The CLI uses a versioned runtime layout:
34
+ To install into every detected framework without questions:
101
35
 
102
36
  ```bash
103
- ~/.openclaw/agent-wallet-runtime/releases/<version> # immutable per-version snapshots
104
- ~/.openclaw/agent-wallet-runtime/current # symlink → active release
37
+ npx --yes @agentlayer.tech/wallet@latest install --yes
105
38
  ```
106
39
 
107
- `~/.openclaw` remains the shared AgentLayer runtime root even when OpenClaw is
108
- not installed. A Codex-only or Claude-only install creates the runtime there
109
- but does not create or patch `openclaw.json`.
110
-
111
- On first install, `--yes` generates local runtime secrets. The installer stores
112
- `master_key` and `approval_secret` in `~/.openclaw/sealed_keys.json`. The boot
113
- key needed to unlock that sealed bundle uses `AGENT_WALLET_KEYSTORE_BACKEND=auto`
114
- by default: it prefers the native OS keystore and falls back to a local `0600`
115
- file only when the native backend is unavailable. On macOS this means the login
116
- Keychain (`service=ai.agentlayer.wallet`, `account=boot_key`). macOS may show a
117
- Keychain access or password confirmation depending on the current Keychain
118
- state; approve it only when you initiated the AgentLayer install or update.
119
- Existing installs keep the same boot-key value during upgrades.
120
-
121
- Useful CLI commands (require the global install above):
40
+ ### Choose frameworks explicitly
122
41
 
123
42
  ```bash
124
- wallet status # show active runtime version and health
125
- wallet doctor # diagnose common config problems
126
- wallet detect --json # show detected and already-managed hosts
127
- wallet update --yes # upgrade to the latest published version
128
- wallet update --yes --dry-run # preview the upgrade without applying it
129
- wallet rollback # revert to the previous release
130
- wallet hermes install --yes # (re)connect Hermes to the current runtime
131
- wallet codex install --yes # (re)connect Codex to the current runtime
43
+ npx --yes @agentlayer.tech/wallet@latest install --yes --hosts codex,claude-code
132
44
  ```
133
45
 
134
- `wallet update --yes` fetches the latest npm package, installs it under
135
- `releases/<version>`, and flips the `current` symlink. Updates repair only hosts
136
- already recorded as AgentLayer-managed; a newly detected framework is never
137
- silently enrolled during update. Python and Node dependency snapshots are
138
- reused when the dependency fingerprint has not changed, so subsequent updates
139
- are fast. All frameworks that read from `current/` (Claude Code, Codex, Hermes)
140
- pick up the new code automatically on their next session start; OpenClaw
141
- requires a gateway restart to reload its TypeScript extension.
142
-
143
- ## Native OpenClaw plugin installs
144
-
145
- Use ClawHub when you want the plugin installed through OpenClaw:
146
-
147
- ```bash
148
- openclaw plugins install clawhub:@agentlayertech/agent-wallet-plugin
149
- ```
46
+ Supported host names are:
150
47
 
151
- Recommended order:
152
-
153
- 1. Install or update the local runtime with `npx @agentlayer.tech/wallet install --yes`.
154
- 2. Install the plugin package from ClawHub with `openclaw plugins install clawhub:...`.
155
- 3. Restart the OpenClaw gateway and enable/configure the plugin entry in `openclaw.json`.
156
-
157
- The `agent-wallet` ClawHub plugin checks the standard runtime path at:
158
-
159
- ```bash
160
- ~/.openclaw/agent-wallet-runtime/current/agent-wallet
48
+ ```text
49
+ codex
50
+ claude-code
51
+ openclaw
52
+ hermes
161
53
  ```
162
54
 
163
- If your runtime lives elsewhere, set `plugins.entries.agent-wallet.config.packageRoot` explicitly.
164
-
165
- Install from a local clone:
55
+ To see what AgentLayer detects:
166
56
 
167
57
  ```bash
168
- sh ./setup.sh
58
+ npx --yes @agentlayer.tech/wallet@latest detect --json
169
59
  ```
170
60
 
171
- ## Updating
61
+ ## Update
172
62
 
173
- If your installed CLI is `0.1.22` or newer, use:
63
+ If the `wallet` command is available:
174
64
 
175
65
  ```bash
176
- wallet update --yes --dry-run
177
66
  wallet update --yes
178
67
  ```
179
68
 
180
- If your installed CLI is older than `0.1.22`, or `wallet` is missing, use:
69
+ If the CLI is missing or outdated:
181
70
 
182
71
  ```bash
183
- npx --yes @agentlayer.tech/wallet@latest update --yes --dry-run
184
72
  npx --yes @agentlayer.tech/wallet@latest update --yes
185
73
  ```
186
74
 
187
- After updating, verify the active runtime:
188
-
189
- ```bash
190
- npx --yes @agentlayer.tech/wallet@latest status --verbose
191
- ```
192
-
193
- This flow keeps wallet files and `sealed_keys.json` in place, upgrades the runtime under `~/.openclaw/agent-wallet-runtime/releases/<version>`, and reuses shared Python and Node dependency snapshots when possible.
194
-
195
-
196
- ## Wallet capabilities through external services
197
-
198
- AgentLayer keeps keys, approvals, and signing local, but the wallet can still operate through a set of registered provider-backed tools. These tools are exposed through the OpenClaw wallet plugin as explicit service integrations rather than raw shell access, config editing, or backend switching.
199
-
200
- ### x402 paid APIs
201
-
202
- The x402 bundle turns the wallet into a buyer for metered APIs and paid HTTP endpoints:
203
-
204
- - `x402_search_services` - search x402-paid services through discovery providers such as CDP Bazaar and Agentic Market without spending funds.
205
- - `x402_get_service_details` - resolve one discovered service or resource into a normalized detail payload before attempting payment.
206
- - `x402_preview_request` - make an unpaid request, detect `402 Payment Required`, and summarize payment terms and supported payment options.
207
- - `x402_pay_request` - prepare or execute the paid retry through the active wallet backend. The current flow executes the Solana exact-buyer path and keeps EVM as prepare-only.
208
-
209
- This gives the wallet a direct bridge from service discovery to paid API consumption while preserving approval-token checks before execution.
210
-
211
- ### LI.FI cross-chain routing
212
-
213
- The LI.FI bundle covers discovery, quote inspection, transfer tracking, and routed execution across Solana, Ethereum, and Base:
214
-
215
- - `get_lifi_supported_chains` - list the chains currently allowed for LI.FI routing in the wallet surface.
216
- - `get_lifi_quote` - fetch a read-only cross-chain quote before any execution planning.
217
- - `get_lifi_transfer_status` - inspect a routed transfer by transaction hash or LI.FI step id.
218
- - `swap_solana_lifi_cross_chain_tokens` - preview, prepare, or execute a Solana-origin cross-chain route into Ethereum or Base.
219
- - `swap_evm_lifi_cross_chain_tokens` - preview, prepare, or execute an EVM-origin cross-chain route across Ethereum, Base, and Solana when LI.FI returns a route.
220
-
221
- ### Jupiter trading and yield
222
-
223
- On Solana, Jupiter-backed tools cover market pricing, swaps, and Jupiter Earn vault flows:
224
-
225
- - `get_solana_token_prices` - fetch current Solana token pricing through Jupiter.
226
- - `swap_solana_tokens` - preview, prepare, or execute a Jupiter-routed Solana token swap.
227
- - `get_jupiter_earn_tokens` - list Jupiter Earn vault assets currently supported on mainnet.
228
- - `get_jupiter_earn_positions` - inspect wallet positions in Jupiter Earn vaults.
229
- - `get_jupiter_earn_earnings` - fetch earnings for one or more Jupiter Earn positions.
230
- - `jupiter_earn_deposit` - preview, prepare, or execute a Jupiter Earn deposit.
231
- - `jupiter_earn_withdraw` - preview, prepare, or execute a Jupiter Earn withdrawal.
232
-
233
- ### Houdini private payouts
234
-
235
- For privacy-preserving Solana payout flows, the wallet exposes a Houdini-backed bundle:
236
-
237
- - `swap_solana_privately` - create a preview or approved private payout through Houdini routing. The current MVP supports same-token flows such as `SOL -> SOL` and `USDC -> USDC`.
238
- - `continue_solana_private_swap` - continue a previously created Houdini order and submit the local funding transfer to the returned deposit address.
239
- - `get_solana_private_swap_status` - check Houdini status for an existing private payout.
240
- - `list_pending_solana_private_swaps` - list cached pending Houdini orders for the current OpenClaw session.
241
-
242
- This flow is intentionally optimized for `preview -> execute` rather than adding a no-op prepare step.
243
-
244
- ### Kamino lending
245
-
246
- Kamino integration gives the wallet a structured Solana lending surface:
247
-
248
- - `get_kamino_lend_markets` - list Kamino lending markets available on Solana mainnet.
249
- - `get_kamino_lend_market_reserves` - inspect reserve metrics for one Kamino market.
250
- - `get_kamino_lend_user_obligations` - inspect the wallet's obligations inside a Kamino market.
251
- - `get_kamino_lend_user_rewards` - fetch the wallet's Kamino rewards summary.
252
- - `get_kamino_open_positions` - aggregate all open Kamino positions across markets with loan details, reserve APYs, and rewards.
253
- - `kamino_lend_deposit` - preview, prepare, or execute a lending deposit.
254
- - `kamino_lend_withdraw` - preview, prepare, or execute a lending withdrawal.
255
- - `kamino_lend_borrow` - preview, prepare, or execute a borrow.
256
- - `kamino_lend_repay` - preview, prepare, or execute a repay.
257
-
258
- ### Flash Trade perps
259
-
260
- Flash Trade integration adds a managed perpetuals surface on Solana mainnet:
261
-
262
- - `get_flash_trade_markets` - list currently available Flash Trade markets.
263
- - `get_flash_trade_positions` - inspect the wallet's open Flash Trade positions.
264
- - `flash_trade_open_position` - preview, prepare, or execute a perp position open.
265
- - `flash_trade_close_position` - preview, prepare, or execute a perp position close.
266
-
267
- ### Bags launch
268
-
269
- Bags-backed tools currently cover token launch:
270
-
271
- - `launch_bags_token` - preview, prepare, or execute a Bags token launch with fee-share configuration.
272
-
273
- ### EVM DeFi integrations
274
-
275
- The EVM wallet surface includes named DeFi integrations on `ethereum` and `base`, without exposing arbitrary calldata execution.
276
-
277
- Velora swap routing:
278
-
279
- - `get_evm_swap_quote` - fetch a read-only EVM swap quote.
280
- - `swap_evm_tokens` - preview, prepare, or execute a routed EVM token swap.
281
-
282
- Aave V3:
283
-
284
- - `get_evm_aave_account` - inspect the wallet's Aave account state.
285
- - `get_evm_aave_reserves` - fetch reserve data for supported Aave markets.
286
- - `get_evm_aave_positions` - inspect the wallet's open Aave positions.
287
- - `manage_evm_aave_position` - preview, prepare, or execute Aave position changes through the managed wallet flow.
288
-
289
- Lido:
290
-
291
- - `get_evm_lido_overview` - fetch Lido protocol overview data relevant to the wallet surface.
292
- - `get_evm_lido_positions` - inspect the wallet's Lido positions.
293
- - `get_evm_lido_withdrawal_requests` - inspect outstanding Lido withdrawal requests.
294
- - `manage_evm_lido_position` - preview, prepare, or execute a Lido staking position change.
295
- - `manage_evm_lido_withdrawal` - preview, prepare, or execute a Lido withdrawal management action.
296
-
297
- Across these service-backed flows, read operations remain directly callable, while write operations stay behind preview, explicit intent, and host-issued approval tokens before execution.
298
-
299
- For the default Solana flow, run the installer directly:
300
-
301
- ```bash
302
- npx @agentlayer.tech/wallet install --yes
303
- ```
304
-
305
- That installs the runtime, connects each detected framework, generates local
306
- runtime secrets when missing, and creates the first encrypted per-user Solana
307
- mainnet wallet. `openclaw.json` is patched only when OpenClaw is selected. The
308
- agent receives the public address and guarded wallet tools, not the private key.
309
-
310
- BTC and EVM are separate host-side setup flows.
311
-
312
- Bitcoin:
313
-
314
- ```bash
315
- sh agent-wallet/scripts/setup_btc_wallet.sh
316
- ```
317
-
318
- EVM:
319
-
320
- ```bash
321
- sh agent-wallet/scripts/setup_evm_wallet.sh
322
- ```
323
-
324
- That host-side bootstrap can auto-start the local `wdk-evm-wallet` service, create or unlock the vault wallet, bind both `base` and `ethereum` for the same local user, and patch OpenClaw config to `backend=wdk_evm_local`.
325
-
326
- Advanced operators can still supply their own runtime provisioning secrets
327
- instead of using `--yes` auto-generation:
328
-
329
- ```bash
330
- export AGENT_WALLET_BOOT_KEY="$(openssl rand -base64 32)"
331
- export AGENT_WALLET_MASTER_KEY="$(openssl rand -base64 32)"
332
- export AGENT_WALLET_APPROVAL_SECRET="$(openssl rand -base64 32)"
333
- npx @agentlayer.tech/wallet install --no-auto-secrets
334
- ```
335
-
336
- If you prefer Python instead of `openssl`:
75
+ An update refreshes the shared runtime and the frameworks already connected to
76
+ AgentLayer. It does not add a newly installed framework without your choice.
337
77
 
338
- ```bash
339
- python3 -c "import secrets; print(secrets.token_urlsafe(32))"
340
- ```
341
-
342
- Run it three times and assign the outputs to:
343
-
344
- - `AGENT_WALLET_BOOT_KEY`
345
- - `AGENT_WALLET_MASTER_KEY`
346
- - `AGENT_WALLET_APPROVAL_SECRET`
347
-
348
- These variables are provisioning inputs only. Runtime secrets are sealed into
349
- `~/.openclaw/sealed_keys.json`; normal runtime execution should use
350
- `AGENT_WALLET_BOOT_KEY` or `AGENT_WALLET_BOOT_KEY_FILE`, not direct
351
- `AGENT_WALLET_MASTER_KEY` / `AGENT_WALLET_APPROVAL_SECRET` env loading.
352
-
353
- ## Connect the MCP server
354
-
355
- ```json
356
- {
357
- "mcpServers": {
358
- "agent-layer": {
359
- "url": "https://agent-layer-production-852f.up.railway.app/mcp"
360
- }
361
- }
362
- }
363
- ```
364
-
365
- ## Connect Hermes Agent
366
-
367
- OpenClaw remains the primary local environment, but the repo also ships an optional Hermes Agent bridge at:
78
+ To update only selected frameworks:
368
79
 
369
80
  ```bash
370
- hermes/plugins/agent_wallet
81
+ npx --yes @agentlayer.tech/wallet@latest update --yes --hosts codex,claude-code
371
82
  ```
372
83
 
373
- It exposes a thin bridge, not a separate wallet implementation:
374
-
375
- - `agent_wallet_tools`
376
- - `agent_wallet_invoke`
377
- - `agent_wallet_approve`
378
- - `agent_wallet_evm_status`
379
- - `agent_wallet_evm_setup`
380
-
381
- Install it by symlinking the plugin directory into Hermes:
84
+ Preview an update without applying it:
382
85
 
383
86
  ```bash
384
- npx @agentlayer.tech/wallet hermes install --yes
385
- ```
386
-
387
- That command installs the Hermes plugin, runs `hermes plugins enable agent-wallet`, writes non-secret runtime paths into `~/.hermes/.env`, and points Hermes at a local boot-key file. Secrets stay in the protected OpenClaw runtime paths, especially `~/.openclaw/sealed_keys.json`; do not put wallet secrets into Hermes tool config.
388
-
389
- ## What you get after install
390
-
391
- If you install through npm, the runtime is extracted under:
392
-
393
- ```bash
394
- ~/.openclaw/agent-wallet-runtime/current
395
- ```
396
-
397
- The installer then:
398
-
399
- - creates `agent-wallet/.env` from `agent-wallet/.env.example` if it does not exist
400
- - creates `agent-wallet/.runtime-venv` and installs the Python backend
401
- - installs Node dependencies for `wdk-btc-wallet`, `wdk-evm-wallet`, and `flash-sdk-bridge`
402
- - if the required secrets are already present, writes or updates `~/.openclaw/sealed_keys.json`
403
- - detects OpenClaw, Codex, Claude Code, and Hermes before changing host config
404
- - connects the selected hosts to `agent-wallet-runtime/current`
405
- - creates or patches `~/.openclaw/openclaw.json` only when OpenClaw is selected
406
- - records non-secret ownership metadata so later updates repair only managed hosts
407
-
408
- When the installer reaches the final config step, the default plugin config is:
409
-
410
- - `backend=solana_local`
411
- - `network=mainnet`
412
-
413
- For a fresh Solana install, `wallet install --yes` also provisions the first local mainnet
414
- wallet for the configured local `userId`. The wallet secret stays encrypted under
415
- `~/.openclaw/users/.../wallets/`; the agent-facing surface only receives the public
416
- address and guarded wallet tools.
417
-
418
- ## What is not done automatically
419
-
420
- The installer does not:
421
-
422
- - create a BTC wallet
423
- - unlock a BTC wallet
424
- - create an EVM wallet
425
- - unlock an EVM wallet
426
- - start the local `wdk-btc-wallet` service
427
- - start the local `wdk-evm-wallet` service
428
- - expose seed phrases to the agent
429
- - install `python3`, `node`, or `npm` for you
430
-
431
- For existing Solana installs, the runtime keeps the current identity precedence:
432
-
433
- - read-only mode: `SOLANA_AGENT_PUBLIC_KEY`
434
- - signing mode: a sealed `private_key` or `SOLANA_AGENT_KEYPAIR_PATH`
435
- - otherwise: the encrypted per-user local wallet created by onboarding
436
-
437
- Optional private Solana payout routing is also available through Houdini. To enable it, add the Houdini partner credentials to the wallet runtime:
438
-
439
- - `HOUDINI_API_KEY`
440
- - `HOUDINI_API_SECRET`
441
- - `HOUDINI_USER_IP`
442
-
443
- The first supported flow is intentionally narrow: same-token private Solana payouts (`SOL->SOL` and `USDC->USDC`) through the existing preview/prepare/execute safety model. The runtime binds execute to the approved Houdini `quoteId`, creates a single private exchange, and then sends the exact deposit locally from the wallet. That removes the extra Solana batch-tx relay step and keeps signing local.
444
-
445
- For production, prefer placing the Houdini partner secrets on `provider-gateway` and exposing only the authenticated Houdini relay endpoints to `agent-wallet`. That keeps `HOUDINI_API_KEY` and `HOUDINI_API_SECRET` out of end-user runtimes while preserving local signing.
446
-
447
- ## BTC setup
448
-
449
- The BTC path already has a one-command host bootstrap wrapper:
450
-
451
- ```bash
452
- sh agent-wallet/scripts/setup_btc_wallet.sh
453
- ```
454
-
455
- That flow:
456
-
457
- - prompts for `user-id`
458
- - prompts for `mainnet`, `testnet`, or `regtest`
459
- - defaults to `http://127.0.0.1:8080`
460
- - can auto-start `wdk-btc-wallet/run-local.sh` if the local service is not already healthy
461
- - creates or unlocks the local BTC wallet binding
462
- - patches OpenClaw config to `backend=wdk_btc_local`
463
-
464
- BTC setup only supports localhost service URLs. The local BTC service is protected by a bearer token stored at:
465
-
466
- ```bash
467
- ~/.openclaw/wdk-btc-wallet/local-auth-token
87
+ wallet update --yes --dry-run
468
88
  ```
469
89
 
470
- If you need to reveal the BTC seed phrase later, that remains a host-side step:
90
+ ## Check the installation
471
91
 
472
92
  ```bash
473
- sh agent-wallet/scripts/reveal_btc_seed.sh
93
+ wallet status
94
+ wallet doctor
474
95
  ```
475
96
 
476
- ## EVM setup
477
-
478
- The EVM runtime is installed by `setup.sh`, and the host-side onboarding now has the same one-command shape as BTC:
97
+ If the global CLI is not installed:
479
98
 
480
99
  ```bash
481
- sh agent-wallet/scripts/setup_evm_wallet.sh
100
+ npx --yes @agentlayer.tech/wallet@latest status
101
+ npx --yes @agentlayer.tech/wallet@latest doctor
482
102
  ```
483
103
 
484
- That flow:
485
-
486
- - prompts for `user-id`
487
- - prompts for `ethereum`, `base`, `sepolia`, or `base-sepolia`
488
- - defaults to `http://127.0.0.1:8081`
489
- - can auto-start `wdk-evm-wallet/run-local.sh` if the local service is not already healthy
490
- - creates or unlocks the local EVM wallet binding
491
- - also binds the paired EVM network by default: `ethereum <-> base`, `sepolia <-> base-sepolia`
492
- - patches OpenClaw config to `backend=wdk_evm_local`
104
+ After an install or update, restart the connected agent applications when
105
+ `wallet status` shows `restart_required: true`.
493
106
 
494
- You can still use the lower-level CLI if needed:
107
+ ## Common commands
495
108
 
496
109
  ```bash
497
- printf '%s\n' 'your-local-evm-password' | \
498
- agent-wallet/.venv/bin/python -m agent_wallet.openclaw_cli evm-wallet-create \
499
- --user-id your-user-id \
500
- --password-stdin \
501
- --config-json '{"backend":"wdk_evm_local","network":"base","wdkEvmServiceUrl":"http://127.0.0.1:8081"}'
110
+ wallet detect --json
111
+ wallet status
112
+ wallet doctor
113
+ wallet update --yes
114
+ wallet rollback
502
115
  ```
503
116
 
504
- Important EVM notes:
117
+ ## What AgentLayer provides
505
118
 
506
- - only localhost service URLs are supported for the OpenClaw EVM flow
507
- - the local EVM service uses a bearer token at `~/.openclaw/wdk-evm-wallet/local-auth-token`
508
- - the agent-facing EVM surface is intentionally narrow: balances, fee rates, receipts, transfers, Velora swaps, Aave V3 account/reserve/position flows, and Lido staking/withdrawal flows
509
- - Velora swap and Aave V3 support are currently limited to `ethereum` and `base`
510
- - Lido support is currently limited to `ethereum` and exposes read-only staking APR data from Lido's public API in the overview response
119
+ AgentLayer connects supported agents to one local wallet runtime. The agent can:
511
120
 
512
- ## Solana notes
121
+ - view balances and portfolio positions
122
+ - send and receive supported assets
123
+ - swap tokens
124
+ - use supported DeFi services
125
+ - access paid APIs through x402
126
+ - work with Solana, Ethereum, Base, and Bitcoin
513
127
 
514
- The installer defaults the plugin to `solana_local` on `devnet`.
128
+ Read operations are available directly. Operations that move funds remain
129
+ protected by wallet policy and approval checks.
515
130
 
516
- The Solana runtime uses hardened local secrets:
517
131
 
518
- - `AGENT_WALLET_BOOT_KEY` is required by the runtime
519
- - `master_key` and `approval_secret` should live in `~/.openclaw/sealed_keys.json`
520
- - `AGENT_WALLET_MASTER_KEY` and `AGENT_WALLET_APPROVAL_SECRET` are provisioning inputs for installer/admin flows, not long-term runtime env
132
+ ## Claude Code marketplace
521
133
 
522
- Read-only Solana mode:
134
+ Claude Code users can also install the plugin from its marketplace:
523
135
 
524
- ```bash
525
- export SOLANA_AGENT_PUBLIC_KEY='...'
136
+ ```text
137
+ /plugin marketplace add lopushok9/Agent-Layer
138
+ /plugin install agent-wallet@agentlayer
526
139
  ```
527
140
 
528
- Signing Solana mode can use either:
529
-
530
- - a sealed `private_key` stored in `sealed_keys.json`
531
- - `SOLANA_AGENT_KEYPAIR_PATH`
532
-
533
- The default shared path already includes:
141
+ Restart Claude Code after installation.
534
142
 
535
- - hosted provider-gateway defaults
536
- - shared Solana RPC path unless you override it
143
+ ## OpenClaw plugin
537
144
 
538
- You only need to bring your own RPC if you want to override the default route. Supported override paths are:
539
-
540
- - `SOLANA_RPC_URL`
541
- - `SOLANA_RPC_URLS`
542
- - `ALCHEMY_API_KEY`
543
- - `HELIUS_API_KEY`
544
-
545
- The legacy global keypair auto-create flag still exists for compatibility, but normal
546
- OpenClaw onboarding should use the encrypted per-user wallet path created by the installer:
145
+ OpenClaw users can also install the native plugin from ClawHub:
547
146
 
548
147
  ```bash
549
- SOLANA_AUTO_CREATE_WALLET=false
148
+ openclaw plugins install clawhub:@agentlayertech/agent-wallet-plugin
550
149
  ```
551
150
 
552
- ## Security model
553
-
554
- The core rule is:
555
-
556
- the agent gets wallet capabilities, not wallet ownership.
151
+ The universal npm installer is still required to prepare the local wallet
152
+ runtime.
557
153
 
558
- That means:
154
+ ## Security
559
155
 
560
- - secret material stays local
561
- - signing stays in the wallet layer
562
- - risky writes require approval
563
- - BTC and EVM password-gated wallet operations remain host-side
156
+ The agent receives wallet capabilities, not wallet keys.
564
157
 
565
- ## License and community use
158
+ - Keys and signing stay on the user's machine.
159
+ - Wallet secrets are encrypted locally.
160
+ - Updates preserve existing wallets and identities.
161
+ - Transactions remain subject to wallet policy and approvals.
566
162
 
567
- This repository is public and source-available under the `PolyForm Small Business License 1.0.0`.
163
+ On macOS, AgentLayer uses the login Keychain by default. macOS may ask for
164
+ Keychain access during an install or update. Approve it only when you initiated
165
+ the AgentLayer command.
568
166
 
569
- If you are an individual developer, researcher, student, security reviewer, or hobbyist, you can:
167
+ Keep a secure offline copy of your recovery key.
570
168
 
571
- - read and audit the code
572
- - fork the repo
573
- - run it locally
574
- - modify it for yourself
575
- - open issues and send pull requests
169
+ ## License
576
170
 
577
- If you are using the project for a company, the license allows use for small businesses covered by the PolyForm thresholds. If you need rights beyond that, reach out for a separate commercial license.
171
+ This repository is available under the PolyForm Small Business License 1.0.0.
172
+ Individuals, researchers, students, security reviewers, hobbyists, and eligible
173
+ small businesses may use and modify it under the terms of that license.
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.91
1
+ 0.1.92
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Keep in sync with package.json, pyproject.toml, and the npm installer version.
4
4
  # scripts/check_release_version.mjs enforces this on release.
5
- __version__ = "0.1.91"
5
+ __version__ = "0.1.92"
6
6
 
7
7
  __all__ = [
8
8
  "config",