@agentlayer.tech/wallet 0.1.32 → 0.1.34

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.
Files changed (36) hide show
  1. package/.openclaw/extensions/agent-wallet/dist/index.js +2 -59
  2. package/.openclaw/extensions/agent-wallet/index.ts +2 -59
  3. package/.openclaw/extensions/agent-wallet/openclaw.plugin.json +1 -4
  4. package/.openclaw/extensions/agent-wallet/package.json +1 -1
  5. package/CHANGELOG.md +66 -0
  6. package/README.md +2 -5
  7. package/RELEASING.md +56 -29
  8. package/VERSION +1 -0
  9. package/agent-wallet/.env.example +0 -1
  10. package/agent-wallet/README.md +0 -8
  11. package/agent-wallet/agent_wallet/__init__.py +5 -0
  12. package/agent-wallet/agent_wallet/config.py +0 -1
  13. package/agent-wallet/agent_wallet/openclaw_adapter.py +25 -324
  14. package/agent-wallet/agent_wallet/openclaw_cli.py +0 -5
  15. package/agent-wallet/agent_wallet/providers/bags.py +1 -58
  16. package/agent-wallet/agent_wallet/providers/jupiter.py +1 -64
  17. package/agent-wallet/agent_wallet/update_check.py +191 -0
  18. package/agent-wallet/agent_wallet/wallet_layer/base.py +0 -44
  19. package/agent-wallet/agent_wallet/wallet_layer/solana.py +0 -236
  20. package/agent-wallet/openclaw.plugin.json +1 -5
  21. package/agent-wallet/pyproject.toml +1 -1
  22. package/agent-wallet/skills/wallet-operator/SKILL.md +2 -5
  23. package/bin/openclaw-agent-wallet.mjs +419 -33
  24. package/claude-code/plugins/agent-wallet/.claude-plugin/plugin.json +1 -1
  25. package/claude-code/plugins/agent-wallet/scripts/run_mcp.sh +14 -1
  26. package/codex/plugins/agent-wallet/.codex-plugin/plugin.json +1 -1
  27. package/codex/plugins/agent-wallet/scripts/run_mcp.sh +18 -0
  28. package/codex/plugins/agent-wallet/server.py +39 -5
  29. package/hermes/plugins/agent_wallet/plugin.yaml +1 -1
  30. package/package.json +5 -1
  31. package/scripts/check_release_version.mjs +50 -20
  32. package/scripts/version_targets.mjs +60 -0
  33. package/wdk-btc-wallet/package.json +1 -1
  34. package/wdk-evm-wallet/README.md +3 -3
  35. package/wdk-evm-wallet/package.json +1 -1
  36. package/wdk-evm-wallet/src/wdk_evm_wallet.js +17 -2
@@ -897,47 +897,6 @@ const solanaToolDefinitions = [
897
897
  additionalProperties: false,
898
898
  },
899
899
  },
900
- {
901
- name: "get_bags_claimable_positions",
902
- description: "Get claimable Bags fee-share positions for a Solana wallet on mainnet.",
903
- parameters: {
904
- type: "object",
905
- properties: {
906
- wallet: {
907
- type: "string",
908
- description: "Optional wallet address override.",
909
- },
910
- },
911
- additionalProperties: false,
912
- },
913
- },
914
- {
915
- name: "get_bags_fee_analytics",
916
- description: "Get Bags fee analytics for a launched token, with optional claim event history.",
917
- parameters: {
918
- type: "object",
919
- properties: {
920
- token_mint: {
921
- type: "string",
922
- description: "Launched token mint address.",
923
- },
924
- include_claim_events: {
925
- type: "boolean",
926
- description: "If true, also fetch claim event history.",
927
- },
928
- mode: {
929
- type: "string",
930
- enum: ["offset", "time"],
931
- },
932
- limit: { type: "integer" },
933
- offset: { type: "integer" },
934
- from_ts: { type: "integer" },
935
- to_ts: { type: "integer" },
936
- },
937
- required: ["token_mint"],
938
- additionalProperties: false,
939
- },
940
- },
941
900
  {
942
901
  name: "get_flash_trade_markets",
943
902
  description: "List Flash Trade perpetual markets currently available on Solana mainnet.",
@@ -1144,22 +1103,6 @@ const solanaToolDefinitions = [
1144
1103
  additionalProperties: false,
1145
1104
  },
1146
1105
  },
1147
- {
1148
- name: "claim_bags_fees",
1149
- description: "Preview, prepare, or execute a Bags fee-share claim for the connected wallet on mainnet. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1150
- optional: true,
1151
- parameters: {
1152
- type: "object",
1153
- properties: {
1154
- token_mint: { type: "string" },
1155
- mode: { type: "string", enum: ["preview", "prepare", "execute"] },
1156
- purpose: { type: "string" },
1157
- user_intent: { type: "boolean" },
1158
- },
1159
- required: ["token_mint", "mode", "purpose"],
1160
- additionalProperties: false,
1161
- },
1162
- },
1163
1106
  {
1164
1107
  name: "launch_bags_token",
1165
1108
  description: "Preview, prepare, or execute a Bags token launch with fee-share config on mainnet. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
@@ -1748,7 +1691,7 @@ const evmToolDefinitions = [
1748
1691
  },
1749
1692
  {
1750
1693
  name: "get_evm_swap_quote",
1751
- description: "Get a read-only Velora quote for an ERC-20 to ERC-20 swap on supported EVM mainnet networks. This does not approve or execute a swap.",
1694
+ description: "Get a read-only Velora quote for an ERC-20 or native ETH swap on supported EVM mainnet networks. This does not approve or execute a swap.",
1752
1695
  parameters: {
1753
1696
  type: "object",
1754
1697
  properties: {
@@ -1763,7 +1706,7 @@ const evmToolDefinitions = [
1763
1706
  },
1764
1707
  {
1765
1708
  name: "swap_evm_tokens",
1766
- description: "Preview, prepare, or execute an ERC-20 to ERC-20 swap through Velora on supported EVM mainnet networks. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1709
+ description: "Preview, prepare, or execute an ERC-20 or native ETH swap through Velora on supported EVM mainnet networks. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1767
1710
  optional: true,
1768
1711
  parameters: {
1769
1712
  type: "object",
@@ -897,47 +897,6 @@ const solanaToolDefinitions = [
897
897
  additionalProperties: false,
898
898
  },
899
899
  },
900
- {
901
- name: "get_bags_claimable_positions",
902
- description: "Get claimable Bags fee-share positions for a Solana wallet on mainnet.",
903
- parameters: {
904
- type: "object",
905
- properties: {
906
- wallet: {
907
- type: "string",
908
- description: "Optional wallet address override.",
909
- },
910
- },
911
- additionalProperties: false,
912
- },
913
- },
914
- {
915
- name: "get_bags_fee_analytics",
916
- description: "Get Bags fee analytics for a launched token, with optional claim event history.",
917
- parameters: {
918
- type: "object",
919
- properties: {
920
- token_mint: {
921
- type: "string",
922
- description: "Launched token mint address.",
923
- },
924
- include_claim_events: {
925
- type: "boolean",
926
- description: "If true, also fetch claim event history.",
927
- },
928
- mode: {
929
- type: "string",
930
- enum: ["offset", "time"],
931
- },
932
- limit: { type: "integer" },
933
- offset: { type: "integer" },
934
- from_ts: { type: "integer" },
935
- to_ts: { type: "integer" },
936
- },
937
- required: ["token_mint"],
938
- additionalProperties: false,
939
- },
940
- },
941
900
  {
942
901
  name: "get_flash_trade_markets",
943
902
  description: "List Flash Trade perpetual markets currently available on Solana mainnet.",
@@ -1144,22 +1103,6 @@ const solanaToolDefinitions = [
1144
1103
  additionalProperties: false,
1145
1104
  },
1146
1105
  },
1147
- {
1148
- name: "claim_bags_fees",
1149
- description: "Preview, prepare, or execute a Bags fee-share claim for the connected wallet on mainnet. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1150
- optional: true,
1151
- parameters: {
1152
- type: "object",
1153
- properties: {
1154
- token_mint: { type: "string" },
1155
- mode: { type: "string", enum: ["preview", "prepare", "execute"] },
1156
- purpose: { type: "string" },
1157
- user_intent: { type: "boolean" },
1158
- },
1159
- required: ["token_mint", "mode", "purpose"],
1160
- additionalProperties: false,
1161
- },
1162
- },
1163
1106
  {
1164
1107
  name: "launch_bags_token",
1165
1108
  description: "Preview, prepare, or execute a Bags token launch with fee-share config on mainnet. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
@@ -1748,7 +1691,7 @@ const evmToolDefinitions = [
1748
1691
  },
1749
1692
  {
1750
1693
  name: "get_evm_swap_quote",
1751
- description: "Get a read-only Velora quote for an ERC-20 to ERC-20 swap on supported EVM mainnet networks. This does not approve or execute a swap.",
1694
+ description: "Get a read-only Velora quote for an ERC-20 or native ETH swap on supported EVM mainnet networks. This does not approve or execute a swap.",
1752
1695
  parameters: {
1753
1696
  type: "object",
1754
1697
  properties: {
@@ -1763,7 +1706,7 @@ const evmToolDefinitions = [
1763
1706
  },
1764
1707
  {
1765
1708
  name: "swap_evm_tokens",
1766
- description: "Preview, prepare, or execute an ERC-20 to ERC-20 swap through Velora on supported EVM mainnet networks. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1709
+ description: "Preview, prepare, or execute an ERC-20 or native ETH swap through Velora on supported EVM mainnet networks. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
1767
1710
  optional: true,
1768
1711
  parameters: {
1769
1712
  type: "object",
@@ -2,16 +2,13 @@
2
2
  "id": "agent-wallet",
3
3
  "name": "Agent Wallet",
4
4
  "description": "Official OpenClaw plugin bridge for the agent-wallet backends, including Solana, local BTC, and local EVM.",
5
- "version": "0.1.0",
5
+ "version": "0.1.34",
6
6
  "contracts": {
7
7
  "tools": [
8
- "claim_bags_fees",
9
8
  "close_empty_token_accounts",
10
9
  "flash_trade_close_position",
11
10
  "flash_trade_open_position",
12
11
  "get_active_wallet_backend",
13
- "get_bags_claimable_positions",
14
- "get_bags_fee_analytics",
15
12
  "get_btc_fee_rates",
16
13
  "get_btc_max_spendable",
17
14
  "get_btc_transfer_history",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentlayertech/agent-wallet-plugin",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "OpenClaw plugin bridge for the AgentLayer wallet runtime.",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN ../../../LICENSE",
package/CHANGELOG.md CHANGED
@@ -2,6 +2,72 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v0.1.34 - 2026-06-02
6
+
7
+ - Added native ETH support to EVM (Velora) swaps in the wallet runtime.
8
+
9
+ - Single source of truth for the project version across every framework.
10
+ - Added a canonical root `VERSION` file. All other manifests (npm
11
+ `package.json`, `pyproject.toml`, Python `__version__`, the OpenClaw
12
+ extension, and the Codex / Claude Code / Hermes / wdk plugin manifests) are
13
+ now derived targets, stamped from `VERSION` via `scripts/sync_version.mjs`
14
+ (`npm run version:sync`). This realigned 7 manifests that had drifted to an
15
+ old `0.1.0`.
16
+ - `scripts/check_release_version.mjs` now verifies all 11 manifests against
17
+ `VERSION` (and against the `v*` tag on release), so version drift cannot be
18
+ merged or published. Shared logic lives in `scripts/version_targets.mjs`.
19
+ - `npm run release:local -- <version>` bumps, stamps, verifies, and reinstalls
20
+ the runtime into every local framework (OpenClaw, Codex, Claude Code) from
21
+ the working tree — the same files that ship to npm/ClawHub. `--dry-run`
22
+ previews the steps without changing anything.
23
+ - `wallet status` / `wallet doctor` gained a `runtime_in_sync` signal flagging
24
+ when the installed runtime lags the repo/CLI version (informational; never
25
+ flips doctor's overall ok).
26
+
27
+ - Added a background "update available" check so agents (and the humans behind
28
+ them) learn when a newer agent-wallet version is published.
29
+ - `agent_wallet/update_check.py` compares the installed `__version__` against
30
+ the latest version on the npm registry. The network call runs in a daemon
31
+ thread and only refreshes a cache (`OPENCLAW_HOME/agent-wallet-runtime/
32
+ update-check.json`) at most once/day for the *next* start — it never blocks
33
+ server startup, and any failure is silently ignored (fail-open).
34
+ - The MCP server (`server.py`) appends a one-time notice to its `instructions`
35
+ when a newer version is cached. Because instructions are read once per
36
+ session, the agent sees it at most once per usage cycle, and a per-version
37
+ daily throttle prevents repeats across sessions.
38
+ - `wallet status` now includes an `update_available` block and `wallet doctor`
39
+ adds an informational `update_available` check (with a ready `fix` command);
40
+ neither flips doctor's overall `ok`.
41
+ - Opt out entirely with `AGENT_WALLET_DISABLE_UPDATE_CHECK=1`.
42
+ - `agent_wallet/__init__.py` now carries `__version__`, and
43
+ `scripts/check_release_version.mjs` enforces that it stays in sync with
44
+ `package.json` / `pyproject.toml` on release.
45
+
46
+ ## v0.1.33 - 2026-06-01
47
+
48
+ - Hardened runtime resolution end-to-end so a broken or stale runtime can no
49
+ longer surface as an opaque MCP `-32000`.
50
+ - `run_mcp.sh` (Codex + Claude Code) now self-checks the resolved `server.py`
51
+ with `py_compile` and emits a structured, actionable JSON error (with a
52
+ `fix` command) when the server is missing or fails to parse, instead of
53
+ silently handing a broken file to Python. JSON errors are emitted safely so
54
+ arbitrary paths cannot produce invalid JSON.
55
+ - `doctor` / `doctor --deep` now validate the live `current` runtime — symlink
56
+ integrity, venv python, `server.py` parse, a real MCP `initialize` handshake
57
+ (under `--deep`), and per-editor resolution — and attach a `fix` command to
58
+ every failing check (output is a structured `checks[]` array).
59
+ - `install` / `update` now verify the newly-activated release via an MCP
60
+ handshake and auto-rollback `current → previous` on failure, with guidance
61
+ classified as `broken_release` (our side — you stay safe on the previous
62
+ version) vs `local_env` (fixable locally). A first install with no previous
63
+ version leaves no broken runtime active and does not park the broken release
64
+ under `previous`.
65
+ - `codex install` / `claude-code install` pin the resolved `OPENCLAW_HOME`
66
+ into the editor `.mcp.json` env (bundle and, for Claude Code, existing
67
+ version-keyed cache copies), eliminating launcher/installer home divergence.
68
+ The venv python is intentionally not pinned so it stays correct across
69
+ runtime upgrades.
70
+
5
71
  ## v0.1.32 - 2026-06-01
6
72
 
7
73
  - Fixed a `SyntaxError` in `codex/plugins/agent-wallet/server.py` introduced by
package/README.md CHANGED
@@ -218,13 +218,10 @@ Flash Trade integration adds a managed perpetuals surface on Solana mainnet:
218
218
  - `flash_trade_open_position` - preview, prepare, or execute a perp position open.
219
219
  - `flash_trade_close_position` - preview, prepare, or execute a perp position close.
220
220
 
221
- ### Bags launch and fee-share
221
+ ### Bags launch
222
222
 
223
- Bags-backed tools cover token launch and post-launch fee analytics:
223
+ Bags-backed tools currently cover token launch:
224
224
 
225
- - `get_bags_claimable_positions` - inspect claimable Bags fee-share positions for a Solana wallet.
226
- - `get_bags_fee_analytics` - fetch analytics and optional claim history for a launched token.
227
- - `claim_bags_fees` - preview, prepare, or execute a Bags fee-share claim.
228
225
  - `launch_bags_token` - preview, prepare, or execute a Bags token launch with fee-share configuration.
229
226
 
230
227
  ### EVM DeFi integrations
package/RELEASING.md CHANGED
@@ -29,54 +29,74 @@ example `v0.1.10`.
29
29
  The same tag workflow also creates a GitHub Release on the repository's
30
30
  Releases page after npm publish succeeds.
31
31
 
32
- The tag version must match both source version files:
32
+ ## Version Single Source of Truth
33
+
34
+ The canonical version lives in **one** file at the repo root:
33
35
 
34
36
  ```text
35
- package.json
36
- agent-wallet/pyproject.toml
37
+ VERSION
37
38
  ```
38
39
 
39
- If those versions do not match the tag, the workflow fails before publishing.
40
- The same `v*` tag can also trigger the ClawHub plugin publish workflow, so keep
41
- the root installer versions aligned with the ClawHub plugin package versions
42
- when you want one GitHub release to ship both surfaces together.
40
+ Every other manifest (npm `package.json`, `agent-wallet/pyproject.toml`, the
41
+ Python `__version__`, the OpenClaw extension, and the Codex / Claude Code /
42
+ Hermes / wdk plugin manifests) is a *derived* target. Do not edit them by hand —
43
+ stamp them from `VERSION`:
43
44
 
44
- ## Stable Release
45
+ ```bash
46
+ npm run version:sync # stamp VERSION into all manifests
47
+ # or bump + stamp in one step:
48
+ node scripts/sync_version.mjs 0.1.34
49
+ ```
45
50
 
46
- Use a stable release when users should get it from the default install command.
51
+ `npm run check:release-version` verifies that `VERSION`, every derived manifest,
52
+ and (on a tag) the `v*` tag all agree. It runs on every PR/push, so drift cannot
53
+ be merged. The `v*` tag also triggers the ClawHub plugin publish workflow; since
54
+ all manifests are stamped from `VERSION`, one tag ships every surface in lockstep.
47
55
 
48
- Example: publish `0.1.10` as npm `latest`.
56
+ ### Local release (install into all frameworks)
49
57
 
50
- 1. Update `package.json`:
58
+ To make your own OpenClaw / Codex / Claude Code editors run a freshly bumped
59
+ version from the working tree (bump → stamp → verify → reinstall everywhere):
51
60
 
52
- ```json
53
- "version": "0.1.10"
61
+ ```bash
62
+ npm run release:local -- 0.1.34 # do it
63
+ npm run release:local -- 0.1.34 --dry-run # preview the steps, change nothing
54
64
  ```
55
65
 
56
- 2. Update `agent-wallet/pyproject.toml`:
66
+ `wallet doctor` and `wallet status` report `runtime_in_sync`, flagging when the
67
+ installed runtime lags the repo version (i.e. you bumped but forgot to reinstall).
57
68
 
58
- ```toml
59
- version = "0.1.10"
69
+ ## Stable Release
70
+
71
+ Use a stable release when users should get it from the default install command.
72
+
73
+ Example: publish `0.1.10` as npm `latest`.
74
+
75
+ 1. Bump the canonical version and stamp every manifest:
76
+
77
+ ```bash
78
+ node scripts/sync_version.mjs 0.1.10
60
79
  ```
61
80
 
62
- 3. Run local checks:
81
+ 2. Run local checks:
63
82
 
64
83
  ```bash
65
84
  npm run check
66
85
  GITHUB_REF_NAME=v0.1.10 npm run check:release-version
67
86
  python3 agent-wallet/tests/smoke_npm_installer.py
68
87
  python3 agent-wallet/tests/smoke_install_agent_wallet.py
88
+ python3 agent-wallet/tests/smoke_version_consistency.py
69
89
  npm --cache /tmp/npm-cache pack --dry-run
70
90
  ```
71
91
 
72
- 4. Commit the version change:
92
+ 3. Commit the version change (VERSION + all stamped manifests):
73
93
 
74
94
  ```bash
75
- git add package.json agent-wallet/pyproject.toml
95
+ git add -A
76
96
  git commit -m "Release npm installer 0.1.10"
77
97
  ```
78
98
 
79
- 5. Create and push the release tag:
99
+ 4. Create and push the release tag:
80
100
 
81
101
  ```bash
82
102
  git tag -a v0.1.10 -m "v0.1.10"
@@ -84,7 +104,7 @@ git push origin main
84
104
  git push origin v0.1.10
85
105
  ```
86
106
 
87
- 6. Check npm after GitHub Actions finishes:
107
+ 5. Check npm after GitHub Actions finishes:
88
108
 
89
109
  ```bash
90
110
  npm view @agentlayer.tech/wallet dist-tags
@@ -104,16 +124,16 @@ The GitHub Releases page should also contain a new release named `v0.1.10`.
104
124
  Use a beta release when you want to test npm publishing without changing the
105
125
  default user install command.
106
126
 
107
- Example: publish `0.1.11-beta.1` as npm `beta`.
127
+ Beta is the "earlier than users" channel: it publishes a real artifact to the
128
+ npm `beta` dist-tag (and a GitHub prerelease) without moving `latest`, so you can
129
+ test exactly what users would get before promoting it.
108
130
 
109
- 1. Set both version files to the beta version:
131
+ Example: publish `0.1.11-beta.1` as npm `beta`.
110
132
 
111
- ```json
112
- "version": "0.1.11-beta.1"
113
- ```
133
+ 1. Bump + stamp the beta version:
114
134
 
115
- ```toml
116
- version = "0.1.11-beta.1"
135
+ ```bash
136
+ node scripts/sync_version.mjs 0.1.11-beta.1
117
137
  ```
118
138
 
119
139
  2. Run checks:
@@ -127,7 +147,7 @@ npm --cache /tmp/npm-cache pack --dry-run
127
147
  3. Commit, tag, and push:
128
148
 
129
149
  ```bash
130
- git add package.json agent-wallet/pyproject.toml
150
+ git add -A
131
151
  git commit -m "Release npm installer 0.1.11-beta.1"
132
152
  git tag -a v0.1.11-beta.1 -m "v0.1.11-beta.1"
133
153
  git push origin main
@@ -144,6 +164,13 @@ npx @agentlayer.tech/wallet@beta doctor
144
164
  The GitHub Releases page should contain a new prerelease named
145
165
  `v0.1.11-beta.1`.
146
166
 
167
+ ### Promote a beta to stable
168
+
169
+ Once a beta checks out, ship the same version as a stable `latest` release by
170
+ following the **Stable Release** steps with the promoted version number (e.g.
171
+ `0.1.11`). The update notice that runtimes show to agents reads the `latest`
172
+ dist-tag, so users are only nudged toward promoted releases, never betas.
173
+
147
174
  ## What Ships
148
175
 
149
176
  The npm package is intentionally limited to the wallet installer runtime:
package/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.34
@@ -43,7 +43,6 @@ SOLANA_AGENT_KEYPAIR_PATH=
43
43
  JUPITER_API_BASE_URL=https://lite-api.jup.ag/swap/v1
44
44
  JUPITER_ULTRA_API_BASE_URL=https://lite-api.jup.ag/ultra/v1
45
45
  JUPITER_PRICE_API_BASE_URL=https://lite-api.jup.ag/price/v3
46
- JUPITER_PORTFOLIO_API_BASE_URL=https://api.jup.ag/portfolio/v1
47
46
  JUPITER_API_KEY=
48
47
 
49
48
  # LI.FI cross-chain routing. API key is optional for basic read-only quote/status calls.
@@ -106,12 +106,6 @@ Current safe tools:
106
106
  - `x402_preview_request`
107
107
  - `x402_pay_request`
108
108
 
109
- Temporarily disabled but kept in the codebase for later re-enable:
110
-
111
- - `get_jupiter_portfolio_platforms`
112
- - `get_jupiter_portfolio`
113
- - `get_jupiter_staked_jup`
114
-
115
109
  The signing tool still requires explicit `user_confirmed=true`.
116
110
  Transfer, native staking, swap, and Aave position-management tools support `preview`, `prepare`, and `execute` modes. The safe operational path is still preview-first. `prepare` now returns an execution plan only and never exposes signed transaction bytes to the agent. `execute` works only when the backend has a signer and `sign_only=false`.
117
111
 
@@ -491,8 +485,6 @@ Operational notes:
491
485
 
492
486
  - Jupiter `Earn` can use the hosted or self-hosted provider gateway for shared onboarding-friendly access.
493
487
  - Ordinary Jupiter swap routing remains direct and does not go through the provider gateway.
494
- - Jupiter `Portfolio` implementation remains in the backend, but the agent-facing tools are temporarily disabled.
495
- - The Jupiter config fields and provider code are intentionally kept so these surfaces can be restored later without rebuilding the integration from scratch.
496
488
 
497
489
  ## Flash Trade coverage
498
490
 
@@ -1,11 +1,16 @@
1
1
  """OpenClaw agent wallet package."""
2
2
 
3
+ # Keep in sync with package.json, pyproject.toml, and the npm installer version.
4
+ # scripts/check_release_version.mjs enforces this on release.
5
+ __version__ = "0.1.34"
6
+
3
7
  __all__ = [
4
8
  "config",
5
9
  "exceptions",
6
10
  "models",
7
11
  "openclaw_runtime",
8
12
  "providers",
13
+ "update_check",
9
14
  "validation",
10
15
  "wallet_layer",
11
16
  ]
@@ -48,7 +48,6 @@ class Settings(BaseSettings):
48
48
  jupiter_swap_v2_api_base_url: str = "https://api.jup.ag/swap/v2"
49
49
  jupiter_ultra_api_base_url: str = "https://lite-api.jup.ag/ultra/v1"
50
50
  jupiter_price_api_base_url: str = "https://lite-api.jup.ag/price/v3"
51
- jupiter_portfolio_api_base_url: str = "https://api.jup.ag/portfolio/v1"
52
51
  jupiter_api_key: str = ""
53
52
  lifi_api_base_url: str = "https://li.quest/v1"
54
53
  lifi_api_key: str = ""