jaspervault_cli 1.0.29 → 1.0.31

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,135 +1,103 @@
1
1
  # JasperVault CLI
2
2
 
3
- Trade perpetuals on JasperVault through AI conversation. Install this CLI and connect your AI assistant (OpenClaw, Cursor, Claude Code) then just talk to place orders, set take-profits, and manage positions without touching the command line.
3
+ Trade perpetuals on JasperVault through your AI assistant. Install the CLI, connect your AI platform, and start trading with natural language no terminal commands needed.
4
4
 
5
5
  ---
6
6
 
7
7
  ## Quick Start
8
8
 
9
- ### 1. Install the CLI
9
+ ### 1. Install
10
10
 
11
11
  ```bash
12
12
  npm install -g jaspervault_cli
13
13
  ```
14
14
 
15
- Verify:
15
+ ### 2. Connect to Your AI
16
16
 
17
17
  ```bash
18
- jv --version
18
+ jv install --ai claude # Claude Code
19
+ jv install --ai cursor # Cursor
20
+ jv install --ai openclaw # OpenClaw
19
21
  ```
20
22
 
21
- ### 2. Install JasperVault to Your AI Platform
23
+ This registers the JasperVault MCP server (or skill) so your AI assistant can trade on your behalf.
22
24
 
23
- ```bash
24
- jv install --ai openclaw
25
- ```
26
-
27
- This installs the trading skill/MCP configuration for your chosen platform. For OpenClaw it writes to `~/.openclaw/skills/jasper-vault-cli/SKILL.md`; for Cursor and Claude Code it configures the MCP server.
28
-
29
- > To overwrite an existing installation, add `--force`:
30
- > ```bash
31
- > jv install --ai openclaw --force
32
- > ```
25
+ > Add `--force` to overwrite an existing installation.
33
26
 
34
- ### 3. Set Up Your Wallet (One-Time)
27
+ ### 3. Start Trading
35
28
 
36
- In your AI assistant, say:
29
+ Open your AI assistant and talk:
37
30
 
38
- > **"I want to start trading"**
31
+ > "Open a long BTC position with 100 USDC"
39
32
 
40
- The assistant will call `jv vault setup`, which opens a hosted web page in your browser. Connect your wallet there and confirm the delegation signature. Done — no private key export required.
33
+ That's it. The AI handles everything through MCP tools wallet setup, order placement, position management.
41
34
 
42
- Or run it manually in the terminal:
43
-
44
- ```bash
45
- jv vault setup --network jaspervault --pretty
46
- ```
35
+ ---
47
36
 
48
- ### 4. Start Trading
37
+ ## What You Can Do
49
38
 
50
- Just talk to your AI assistant. Examples:
39
+ Just tell your AI assistant what you want:
51
40
 
52
- - "Go long JBTC with 100 JUSDC, 50x leverage"
53
- - "Set take-profit for order 99 at 105000"
54
- - "Show my current positions"
41
+ | Say this | What happens |
42
+ |----------|-------------|
43
+ | "I want to start trading" | Sets up your wallet (one-time, browser signing) |
44
+ | "Open a long BTC position with 100 USDC" | Opens a market long on JBTC |
45
+ | "Go short ETH with 50 USDC at 3800" | Places a limit short on JETH |
46
+ | "Close my BTC position" | Queries your position, then closes it |
47
+ | "Set take-profit at 110000 for order 99" | Places a TP limit order |
48
+ | "Set stop-loss at 60000 for order 99" | Places a SL limit order |
49
+ | "Show my positions" | Lists all active positions |
50
+ | "What's the current BTC price?" | Fetches real-time price |
51
+ | "Deposit 500 USDC" | Opens browser to approve deposit |
52
+ | "Withdraw 100 USDC" | Opens browser to sign withdrawal |
53
+ | "Add PPO protection to order 42" | Adds hedge option to existing position |
55
54
 
56
55
  ---
57
56
 
58
- ## Multi-Platform Install
59
-
60
- ```bash
61
- jv install --ai openclaw # OpenClaw
62
- jv install --ai cursor # Cursor (current project)
63
- jv install --ai cursor --global # Cursor (user-level)
64
- jv install --ai claude # Claude Code (current project)
65
- jv install --ai claude --global # Claude Code (user-level)
66
- jv install # All platforms (global)
67
- ```
68
-
69
- Options:
70
- - `--ai <platform>` — Target a specific platform (`openclaw`, `cursor`, `claude`)
71
- - `--global` — Install to user home instead of current project (cursor/claude only)
72
- - `--force` — Overwrite existing installation without prompting
57
+ ## Platform Setup
73
58
 
74
- When `--ai` is omitted, `jv install` installs to all supported platforms at the global level.
59
+ | Platform | Command | What it does |
60
+ |----------|---------|-------------|
61
+ | Claude Code | `jv install --ai claude` | Configures MCP server (project-level) |
62
+ | Claude Code (global) | `jv install --ai claude --global` | Configures MCP server (user-level) |
63
+ | Cursor | `jv install --ai cursor` | Configures MCP server (project-level) |
64
+ | Cursor (global) | `jv install --ai cursor --global` | Configures MCP server (user-level) |
65
+ | OpenClaw | `jv install --ai openclaw` | Installs trading skill |
66
+ | All platforms | `jv install` | Installs to all platforms (global) |
75
67
 
76
68
  ---
77
69
 
78
70
  ## Configuration
79
71
 
80
- All configuration is done via environment variables. For most users, **no configuration is needed** — the CLI connects to the JasperVault test environment by default.
72
+ All configuration is via environment variables. **No configuration is needed for most users** — the CLI connects to the JasperVault test environment by default.
81
73
 
82
74
  | Variable | Required | Description | Default |
83
75
  |----------|----------|-------------|---------|
84
76
  | `JV_API_URL` | No | Trading API base URL | `https://trading-api-test.jaspervault.pro` |
85
77
  | `JV_API_KEY` | No | Bearer token for API authentication | — |
86
78
  | `JV_TIMEOUT` | No | Request timeout in ms | `30000` |
87
- | `JV_DELEGATION_KEY` | No | Delegation wallet private key override; auto-generated on first `vault init` | from `~/.jaspervault/keys.json` |
88
- | `JV_BASE_RPC_URL` | No | Base chain RPC URL override (for deposit) | built-in |
79
+ | `JV_DELEGATION_KEY` | No | Delegation wallet private key override | from `~/.jaspervault/keys.json` |
80
+ | `JV_BASE_RPC_URL` | No | Base chain RPC URL override | built-in |
89
81
  | `JV_JASPERVAULT_RPC_URL` | No | JasperVault chain RPC URL override | built-in |
90
82
  | `JV_SUBGRAPH_URL` | No | Subgraph endpoint override | built-in per network |
91
- | `PRIVATE_KEY` | No | EOA wallet private key; for CI/automation only — enables direct signing without the browser flow | — |
83
+ | `PRIVATE_KEY` | No | EOA wallet private key (CI/automation only) | — |
92
84
 
93
- ### Connecting to a Different Environment
85
+ ### How Credentials Work
94
86
 
95
- Add to `~/.zshrc` or `~/.bashrc`:
96
-
97
- ```bash
98
- export JV_API_URL=https://your-api-endpoint.example.com
99
- ```
100
-
101
- Then restart your terminal or run `source ~/.zshrc`.
102
-
103
- ### How Credentials Are Stored
104
-
105
- After the first successful `jv vault init` or `jv vault setup`, the delegation wallet is saved to `~/.jaspervault/keys.json` and your vault profile to `~/.jaspervault/profile.json`. The CLI reads these automatically — no manual configuration needed for subsequent operations.
87
+ After the first wallet setup (triggered by your AI or manually via `jv vault setup`), the delegation wallet is saved to `~/.jaspervault/keys.json` and your vault profile to `~/.jaspervault/profile.json`. Everything is automatic after that.
106
88
 
107
89
  ---
108
90
 
109
- ## Funding Your Account (Optional)
110
-
111
- To deposit tokens from Base to JasperVault, tell your AI assistant:
91
+ ## CLI Reference
112
92
 
113
- > **"Deposit 100 JUSDC into my vault"**
114
-
115
- Or run it directly:
93
+ For advanced users who prefer the terminal:
116
94
 
117
95
  ```bash
118
- jv deposit --token jusdc --amount 100 --pretty
96
+ jv --help
119
97
  ```
120
98
 
121
- The CLI auto-detects how to sign:
122
- - **`PRIVATE_KEY` set** signs and sends the transaction directly (CI/automation)
123
- - **No `PRIVATE_KEY`** → opens a hosted web page in your browser to approve the transaction
124
-
125
- ---
126
-
127
- ## Full Command Reference
128
-
129
- For a complete list of available commands and trading examples, see the documentation:
130
-
131
- - [User Guide](docs/USER_GUIDE.md) — Full CLI reference including all commands and options
132
- - [OpenClaw Setup Guide](docs/OPENCLAW_GUIDE.md) — Detailed walkthrough for OpenClaw users
99
+ - [User Guide](docs/USER_GUIDE.md) Full CLI command reference
100
+ - [OpenClaw Guide](docs/OPENCLAW_GUIDE.md) Detailed OpenClaw setup walkthrough
133
101
 
134
102
  ---
135
103
 
@@ -1,3 +1,4 @@
1
+ import { join } from 'node:path';
1
2
  import { ethers } from 'ethers';
2
3
  import { loadConfig } from '../utils/config.js';
3
4
  import { ENDPOINTS } from '../utils/endpoints.js';
@@ -7,6 +8,9 @@ import { getNetworkConfig } from '../services/chain-config.js';
7
8
  import { loadOrGenerateDelegationKey, saveDelegationKey } from '../services/key-manager.js';
8
9
  import { saveVaultProfile } from '../services/vault-profile.js';
9
10
  import { pollSession } from '../services/session-poller.js';
11
+ function getJvDir() {
12
+ return join(process.env.HOME || process.env.USERPROFILE || '', '.jaspervault');
13
+ }
10
14
  const PERPS_OPTION_MODULE_ABI = [
11
15
  'function getUserDelegationWhiteListNonce(address wallet) view returns (uint256)',
12
16
  ];
@@ -142,22 +146,27 @@ export function registerVaultCommand(program) {
142
146
  vault
143
147
  .command('setup')
144
148
  .description('Set up vault via hosted web page — generates a URL for the user to sign in their browser (no PRIVATE_KEY needed)')
145
- .option('--network <name>', 'Network name (signing happens on Base)', 'base_uat')
146
149
  .option('--vault-types <types>', 'Comma-separated vault types', '33,37')
147
150
  .option('--timeout <seconds>', 'Polling timeout in seconds', '900')
148
151
  .option('--pretty', 'Pretty-print JSON output')
149
152
  .action(async (opts) => {
150
153
  const config = loadConfig();
151
- const net = getNetworkConfig(opts.network);
152
- const { privateKey: delegationKey, address: delegationAddress, wasGenerated } = loadOrGenerateDelegationKey(opts.network);
154
+ // EIP-712 domain uses Base chain (wallet is on Base)
155
+ const baseNet = getNetworkConfig('base_uat');
156
+ // Nonce + vault operations use JasperVault chain (where manager executes)
157
+ const jvNet = getNetworkConfig('jaspervault');
158
+ const { privateKey: delegationKey, address: delegationAddress, wasGenerated } = loadOrGenerateDelegationKey('jaspervault');
153
159
  const delegationWallet = new ethers.Wallet(delegationKey);
154
- const provider = new ethers.JsonRpcProvider(net.rpcUrl);
160
+ const jvProvider = new ethers.JsonRpcProvider(jvNet.rpcUrl);
161
+ // Session template for the browser page:
162
+ // - domain: Base chain (chainId 8453 + Base Diamond) — matches wallet's active chain
163
+ // - nonce: read from JasperVault chain — matches where manager executes
155
164
  const delegationSignDataTemplate = {
156
165
  domain: {
157
166
  name: 'jasperVault',
158
167
  version: '1.0',
159
- chainId: net.chainId,
160
- verifyingContract: net.contracts.diamond,
168
+ chainId: baseNet.chainId,
169
+ verifyingContract: baseNet.contracts.diamond,
161
170
  },
162
171
  types: {
163
172
  SignerWhiteListData: [
@@ -177,16 +186,15 @@ export function registerVaultCommand(program) {
177
186
  deadline: '',
178
187
  name: 'jasperVaultDelegateDemo',
179
188
  },
180
- vaultFactory: net.contracts.vaultFactory,
181
- perpsOptionModuleHandle: net.contracts.perpsOptionModuleHandle,
182
- rpcUrl: net.rpcUrl,
189
+ perpsOptionModuleHandle: jvNet.contracts.perpsOptionModuleHandle,
190
+ rpcUrl: jvNet.rpcUrl,
183
191
  };
184
192
  const vaultTypes = opts.vaultTypes.split(',').map((s) => parseInt(s.trim(), 10));
185
193
  const apiClient = new ApiClient(config);
186
194
  const sessionBody = {
187
195
  type: 'vault_setup',
188
- network: opts.network,
189
- chainId: net.chainId,
196
+ network: 'jaspervault',
197
+ chainId: baseNet.chainId,
190
198
  delegationAddress,
191
199
  delegationSignData: delegationSignDataTemplate,
192
200
  };
@@ -198,6 +206,7 @@ export function registerVaultCommand(program) {
198
206
  exitWithError(`Failed to create session: ${err.message}`, EXIT_CODES.HTTP_ERROR);
199
207
  }
200
208
  const { sessionId, url, expiresAt } = sessionRes.data;
209
+ // Output the URL for the agent to send to the user
201
210
  printJson({
202
211
  status: 'session_created',
203
212
  sessionId,
@@ -205,15 +214,18 @@ export function registerVaultCommand(program) {
205
214
  expiresAt,
206
215
  message: 'Open this URL in your browser to connect wallet and complete setup',
207
216
  }, opts.pretty);
217
+ // Poll for completion
208
218
  const timeoutMs = parseInt(opts.timeout, 10) * 1000 || 900_000;
209
219
  const result = await pollSession(apiClient, sessionId, { timeoutMs });
210
220
  if (result.status === 'completed' && result.result) {
211
221
  const walletAddress = result.result.walletAddress;
212
222
  const delegationSig = result.result.delegationSignature;
213
223
  const delegationMsg = result.result.delegationMessage;
214
- const { createVaultSignData, signatureList } = await generateVaultSignatures(walletAddress, delegationWallet, vaultTypes, net.contracts.vaultFactory, provider);
224
+ // Generate vault signatures with delegation key (JasperVault factory)
225
+ const { createVaultSignData, signatureList } = await generateVaultSignatures(walletAddress, delegationWallet, vaultTypes, jvNet.contracts.vaultFactory, jvProvider);
226
+ // Request body chainId = Base (8453) — for contract EIP-712 signature verification
215
227
  const vaultInitBody = {
216
- chainId: String(net.chainId),
228
+ chainId: String(baseNet.chainId),
217
229
  delegationSignature: {
218
230
  message: delegationMsg,
219
231
  signature: delegationSig,
@@ -230,9 +242,10 @@ export function registerVaultCommand(program) {
230
242
  process.exit(EXIT_CODES.BUSINESS_ERROR);
231
243
  }
232
244
  if (wasGenerated) {
233
- saveDelegationKey(delegationKey, delegationAddress, opts.network);
245
+ saveDelegationKey(delegationKey, delegationAddress, 'jaspervault');
234
246
  }
235
- const vaultFactory = new ethers.Contract(net.contracts.vaultFactory, ['function getAddress(address wallet, uint256 salt) view returns (address)'], provider);
247
+ // Compute vault addresses from JasperVault factory
248
+ const vaultFactory = new ethers.Contract(jvNet.contracts.vaultFactory, ['function getAddress(address wallet, uint256 salt) view returns (address)'], jvProvider);
236
249
  const getAddr = vaultFactory.getFunction('getAddress');
237
250
  const marginAccount = (await getAddr(walletAddress, 1));
238
251
  const vaultEntries = await Promise.all(vaultTypes.map(async (type) => {
@@ -242,7 +255,7 @@ export function registerVaultCommand(program) {
242
255
  saveVaultProfile({
243
256
  eoa: walletAddress,
244
257
  delegationAddress,
245
- network: opts.network,
258
+ network: 'jaspervault',
246
259
  vaults: vaultEntries,
247
260
  marginAccount,
248
261
  });
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/commands/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/commands/vault.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,10 @@ export const TOOLS = [
3
3
  {
4
4
  name: 'create_order',
5
5
  description: 'Create a market or limit order. For market orders, omit limit_price. ' +
6
- 'To close a position, create an opposite-side order. ' +
6
+ 'CLOSING A POSITION: You MUST first call list_orders to find the current position side and margin. ' +
7
+ 'Then create an order with the OPPOSITE side and the SAME margin for full close (or smaller margin for partial close). ' +
8
+ 'Example: position is LONG 60 USDC on JBTC → close with { side: "short", symbol: "JBTC", margin: 60 }. ' +
9
+ 'NEVER close without querying the position first. ' +
7
10
  'Returns jobId (market) or limitOrderId (limit).',
8
11
  inputSchema: {
9
12
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@
3
3
  * Generates a multi-file skill structure:
4
4
  * SKILL.md — compact core rules + activation + intent table
5
5
  * references/ — detailed docs loaded on demand by the agent
6
- * scripts/ — helper scripts
7
6
  *
8
7
  * All content is read from skill-content/ directory (independent .md files).
9
8
  */
@@ -3,7 +3,6 @@
3
3
  * Generates a multi-file skill structure:
4
4
  * SKILL.md — compact core rules + activation + intent table
5
5
  * references/ — detailed docs loaded on demand by the agent
6
- * scripts/ — helper scripts
7
6
  *
8
7
  * All content is read from skill-content/ directory (independent .md files).
9
8
  */
@@ -75,7 +74,6 @@ export function buildSkillContent(platform) {
75
74
  'references/onboarding.md': readContent('references/onboarding.md'),
76
75
  'references/trading.md': readContent('references/trading.md'),
77
76
  'references/queries.md': readContent('references/queries.md'),
78
- 'scripts/check-init.sh': readContent('scripts/check-init.sh'),
79
77
  };
80
78
  }
81
79
  //# sourceMappingURL=skill-body.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-body.js","sourceRoot":"","sources":["../../../src/templates/skill-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CACzC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CACzC,CAAC;AAEzB,sEAAsE;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;wBAcE,WAAW;;CAElC,CAAC,IAAI,EAAE,CAAC;AAIT,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAErD,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,SAAS,cAAc,CAAC,QAAgB;IACtC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,CAAC,+CAA+C;QAC5D;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,OAAe,CAAC;IACpB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,wBAAwB,GAAG,QAAQ,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO;QACnB,0BAA0B,EAAE,WAAW,CAAC,0BAA0B,CAAC;QACnE,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;QAC7D,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;QAC7D,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;KAC9D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"skill-body.js","sourceRoot":"","sources":["../../../src/templates/skill-body.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CACzC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,OAAO,CAAC,CACzC,CAAC;AAEzB,sEAAsE;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;wBAcE,WAAW;;CAElC,CAAC,IAAI,EAAE,CAAC;AAIT,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAErD,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,SAAS,cAAc,CAAC,QAAgB;IACtC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC,uBAAuB,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC,CAAC,+CAA+C;QAC5D;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,IAAI,OAAe,CAAC;IACpB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,wBAAwB,GAAG,QAAQ,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO;QACnB,0BAA0B,EAAE,WAAW,CAAC,0BAA0B,CAAC;QACnE,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;QAC7D,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;KAC9D,CAAC;AACJ,CAAC"}
@@ -1,58 +1,116 @@
1
1
  # JasperVault Trading Skill
2
2
 
3
- Trade perpetual contracts on JasperVault using the `jasper-vault` MCP tools. No private key is ever required the user signs in their browser.
3
+ Trade perpetual contracts on JasperVault. All operations use `jasper-vault` MCP tools — no shell commands, no private keys.
4
4
 
5
- ## How It Works
5
+ ## CRITICAL RULES
6
6
 
7
- JasperVault provides MCP tools (via `jasper-vault` MCP server) for all trading operations. These tools handle timeouts, polling, and error recovery automatically. Always use MCP tools never run `jv` shell commands directly, because long-running operations like wallet setup will be killed by shell timeouts.
7
+ 1. **MCP tools ONLY.** Never run `jv` shell commands. Never use Bash/terminal to execute CLI commands. The MCP server handles everything — timeouts, polling, error recovery. Shell commands will be killed by timeouts on long-running operations.
8
8
 
9
- ## Important Behaviors
9
+ 2. **Never ask for private keys.** The system uses a delegation wallet. `wallet_setup` creates and saves it automatically. If you find yourself thinking "the user needs a private key" — STOP. That thought is wrong. The delegation key is auto-generated and stored locally. The user never sees or touches it.
10
10
 
11
- 1. **Browser signing**: `wallet_setup` and `deposit_via_browser` return a URL. Display it as a clickable link — the user opens it in their browser to connect their wallet and sign. The tool polls automatically and returns the result when done (up to 16 minutes).
11
+ 3. **`wallet_setup` success = fully initialized.** After `wallet_setup` returns success, the vault IS ready. You can immediately call `list_orders`, `create_order`, `get_price`, or any other tool. There is no "second step" or "additional initialization". One setup, everything works.
12
12
 
13
- 2. **Real-time prices**: Always call `get_price` before any price-dependent operation. Never guess prices they change every second.
13
+ 4. **Browser signing flow.** `wallet_setup`, `deposit_via_browser`, and `withdraw_via_browser` return a `url` field. Display it as a **clickable link** with the expiry info. The tool polls automatically (up to 16 minutes) and returns the result. Don't tell the user to run anything else while waiting.
14
14
 
15
- 3. **PPO auto-cancellation**: The smart contract automatically cancels existing PPO hedge options when you execute any position operation (reduce, close, add size) without `ppo: true`. There is no separate "cancel PPO" tool. Attempting a separate cancellation risks unintended position closures.
15
+ 5. **Real-time prices.** Always call `get_price` before any price-dependent operation (opening positions, setting TP/SL). Never guess or remember old prices.
16
16
 
17
- 4. **Standalone PPO**: To add hedge protection to an existing position, use `protect_order`. Don't use `create_order` with `ppo: true` for this — that adds position size. `create_order` with `ppo` is only for opening new positions or adding size with protection.
18
-
19
- 5. **Market order result**: `create_order` (without `limit_price`) auto-waits up to 60s for the on-chain result. If `status === "completed"`, the order is executed — don't retry or place another order. The `operation` field contains raw on-chain data in wei — don't interpret it. Use `list_orders` to verify the actual position with human-readable fields.
17
+ ## Getting Started
20
18
 
21
- 6. **Deposit flow**: `deposit_via_browser` returns a URL for the user to open in their browser. The tool polls automatically. If `arrived` is false after completion, tokens may still be in transit — tell the user to wait a few minutes.
19
+ When the user wants to trade, first check if their vault is ready:
22
20
 
23
- ## Getting Started
21
+ 1. Call `list_orders` (no parameters needed).
22
+ 2. **If it succeeds** → vault is initialized, proceed with the user's request.
23
+ 3. **If it fails** with "delegation key not found" / "vault not initialized" / "no profile" → vault needs setup:
24
+ - Call `wallet_setup`
25
+ - Display the returned URL as a clickable link
26
+ - Wait for the tool to return success
27
+ - Then proceed — the vault is now fully ready
24
28
 
25
- Check if vault is initialized by calling `list_orders`. If it fails with errors like "delegation key not found" or "vault not initialized" or "no profile":
26
- - Tell the user their vault needs initialization — they'll sign in their browser, no private key needed.
27
- - Call `wallet_setup` and display the returned URL as a clickable link.
28
- - Wait for the tool to return success, then proceed.
29
+ **After `wallet_setup` succeeds, ALL tools work immediately.** Do not ask for private keys. Do not suggest additional setup steps. Do not say "CLI needs initialization". Just start using the tools.
29
30
 
30
- ## Intent → MCP Tool Reference
31
+ ## Intent → MCP Tool
31
32
 
32
- | User Intent | MCP Tool | Key Parameters | Details |
33
- |-------------|----------|----------------|---------|
33
+ | User Intent | MCP Tool | Required Params | Reference |
34
+ |---|---|---|---|
34
35
  | Initialize wallet | `wallet_setup` | — | [onboarding](references/onboarding.md) |
35
36
  | Deposit tokens | `deposit_via_browser` | `token`, `amount` | [onboarding](references/onboarding.md) |
36
37
  | Withdraw tokens | `withdraw_via_browser` | `token`, `amount` | [onboarding](references/onboarding.md) |
37
- | Get current price | `get_price` | `symbol` | [queries](references/queries.md) |
38
+ | Get price | `get_price` | `symbol` | [queries](references/queries.md) |
38
39
  | Open position (market) | `create_order` | `side`, `symbol`, `margin` | [trading](references/trading.md) |
39
40
  | Open position (limit) | `create_order` | + `limit_price` | [trading](references/trading.md) |
40
- | Close position | `create_order` | opposite `side` | [trading](references/trading.md) |
41
+ | Close/reduce position | `create_order` | opposite `side` | [trading](references/trading.md) |
41
42
  | Add size | `create_order` | same `side` | [trading](references/trading.md) |
42
43
  | Set take-profit | `set_take_profit` | `order_id`, `price`, `symbol` | [trading](references/trading.md) |
43
44
  | Set stop-loss | `set_stop_loss` | `order_id`, `price`, `symbol` | [trading](references/trading.md) |
44
- | Add PPO to existing | `protect_order` | `order_id`, `symbol` | [trading](references/trading.md) |
45
+ | Add PPO hedge | `protect_order` | `order_id`, `symbol` | [trading](references/trading.md) |
45
46
  | Open with PPO | `create_order` | + `ppo: true` | [trading](references/trading.md) |
46
- | Remove hedge | `create_order` | without `ppo` | [trading](references/trading.md) |
47
47
  | List positions | `list_orders` | — | [queries](references/queries.md) |
48
48
  | Get position detail | `get_order` | `order_id` | [queries](references/queries.md) |
49
49
  | Portfolio stats | `get_order_stats` | — | [queries](references/queries.md) |
50
- | Job status | `get_job_status` | `job_id` | [queries](references/queries.md) |
50
+ | Check job status | `get_job_status` | `job_id` | [queries](references/queries.md) |
51
51
  | List limit orders | `list_limit_orders` | `wallet` | [queries](references/queries.md) |
52
52
  | Cancel limit order | `cancel_limit_order` | `limit_order_id` | [queries](references/queries.md) |
53
53
 
54
+ ## Key Behaviors
55
+
56
+ **Market orders** (no `limit_price`): The tool auto-waits up to 60s for on-chain confirmation. If `status === "completed"`, the order IS executed — don't retry. Use `list_orders` to see the position with human-readable fields.
57
+
58
+ **Limit orders** (`limit_price` set): Returns immediately with `limitOrderId`. The order waits for price to trigger.
59
+
60
+ **PPO auto-cancellation**: The contract automatically cancels existing PPO when you execute any position operation without `ppo: true`. There is no "cancel PPO" tool.
61
+
62
+ **Standalone PPO**: Use `protect_order` to add hedge to an existing position. Don't use `create_order` with `ppo: true` for this — that changes position size.
63
+
64
+ **Deposit arrival**: If `arrived: false` after deposit completes, tokens are still bridging cross-chain. Tell the user to wait a few minutes.
65
+
66
+ ## Closing a Position — MANDATORY STEPS
67
+
68
+ Closing a position is the most error-prone operation. Follow these steps exactly:
69
+
70
+ ### Step 1: Query the current position
71
+ Call `list_orders` (or `get_order` if you have the order ID) to get:
72
+ - The position **side** (LONG or SHORT)
73
+ - The position **margin** amount
74
+ - The **symbol**
75
+
76
+ ### Step 2: Create the closing order
77
+ Call `create_order` with:
78
+ - **side**: the OPPOSITE of the current position (LONG → `short`, SHORT → `long`)
79
+ - **margin**: the SAME margin for full close, or SMALLER margin for partial close
80
+ - **symbol**: the same symbol
81
+
82
+ ### Step 3: Verify
83
+ Call `list_orders` to confirm the position is closed or reduced.
84
+
85
+ ### Examples
86
+
87
+ **Full close of a LONG position:**
88
+ 1. `list_orders` → finds: side=LONG, margin=60, symbol=JBTC
89
+ 2. `create_order` → `{ side: "short", symbol: "JBTC", margin: 60 }`
90
+ 3. `list_orders` → position no longer active
91
+
92
+ **Partial close (reduce by half):**
93
+ 1. `list_orders` → finds: side=LONG, margin=60, symbol=JBTC
94
+ 2. `create_order` → `{ side: "short", symbol: "JBTC", margin: 30 }`
95
+ 3. `list_orders` → margin reduced to ~30
96
+
97
+ **NEVER guess the margin or side. ALWAYS query first.**
98
+
99
+ ## Red Flags — STOP If You Think This
100
+
101
+ | Wrong Thought | Reality |
102
+ |---|---|
103
+ | "User needs to provide a private key" | NEVER. Delegation key is auto-generated by `wallet_setup`. |
104
+ | "I should run `jv` in the terminal" | NEVER. Use MCP tools only. |
105
+ | "Vault setup completed but CLI needs separate init" | WRONG. `wallet_setup` does everything in one step. |
106
+ | "I need to set environment variables" | WRONG. MCP tools handle all config internally. |
107
+ | "GraphQL queries need private key authentication" | WRONG. Delegation key handles auth automatically. |
108
+ | "I should suggest the web interface instead" | NO. MCP tools give you full functionality. Use them. |
109
+ | "Let me check if jv is installed" | IRRELEVANT. MCP server runs CLI internally. |
110
+ | "I'll close the position without checking current margin" | WRONG. Always call `list_orders` first to get the exact side and margin before closing. |
111
+
54
112
  ## Security
55
113
 
56
114
  - Never log or display private keys, signatures, or API keys.
57
- - The system signs orders via a delegation wallet stored in `~/.jaspervault/keys.json`.
115
+ - Delegation wallet is stored in `~/.jaspervault/keys.json` — never read or display this file.
58
116
  - Never ask the user to set `PRIVATE_KEY` — that's for CI/automation only.
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  name: jasper-vault-cli
3
- description: "Trade perpetual contracts (perps) on JasperVault using the jasper-vault MCP tools — open/close positions, set TP/SL, manage limit orders, deposit/withdraw, and query portfolio. Initialize wallet via browser signing (no private key needed). Use this skill whenever the user mentions JasperVault, perps trading, opening positions, setting stop-loss or take-profit, depositing crypto, or checking their portfolio."
3
+ description: "Use when the user mentions JasperVault, perps trading, perpetual contracts, opening/closing positions, setting take-profit or stop-loss, depositing or withdrawing crypto, checking portfolio or positions, PPO hedge options, or wallet setup. Covers all trading operations via jasper-vault MCP tools no private keys needed."
4
4
  ---
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: jasper-vault-cli
3
- description: "Trade perpetual contracts (perps) on JasperVault using the jasper-vault MCP tools — open/close positions, set TP/SL, manage limit orders, deposit/withdraw, and query portfolio. Initialize wallet via browser signing (no private key needed). Use this skill whenever the user mentions JasperVault, perps trading, opening positions, setting stop-loss or take-profit, depositing crypto, or checking their portfolio."
4
- trigger: "jaspervault|jasper vault|jasper trading|jv|jv trade|jv order|在jasper交易|jasper 交易|初始化钱包|连接钱包|开仓|平仓|做多|做空|止盈|止损|查看持仓|永续合约"
3
+ description: "Use when the user mentions JasperVault, perps trading, perpetual contracts, opening/closing positions, setting take-profit or stop-loss, depositing or withdrawing crypto, checking portfolio or positions, PPO hedge options, or wallet setup. Covers all trading operations via jasper-vault MCP tools no private keys needed."
4
+ trigger: "jaspervault|jasper vault|jasper trading|jv|jv trade|jv order|在jasper交易|jasper 交易|初始化钱包|连接钱包|开仓|平仓|做多|做空|止盈|止损|查看持仓|永续合约|充值|提款|存款|deposit|withdraw|price|行情|对冲|PPO|hedge"
5
5
  tools: [mcp]
6
6
  metadata:
7
7
  openclaw:
@@ -1,5 +1,7 @@
1
1
  # Onboarding Reference
2
2
 
3
+ > All tools below are MCP tools. Call them directly — never run `jv` shell commands.
4
+
3
5
  ## 1. Wallet Initialization — `wallet_setup`
4
6
 
5
7
  Initialize the JasperVault delegation wallet. The user signs in their browser — no private key needed.
@@ -30,19 +32,35 @@ Initialize the JasperVault delegation wallet. The user signs in their browser
30
32
  }
31
33
  ```
32
34
 
33
- The tool automatically saves the delegation key and vault profile locally.
35
+ ### What Happens on Success
36
+
37
+ The tool automatically:
38
+ - Generates a delegation key and saves it to `~/.jaspervault/keys.json`
39
+ - Saves the vault profile (EOA, delegation address, vault addresses) to `~/.jaspervault/profile.json`
40
+ - Creates vaults on-chain
41
+
42
+ **After this, ALL tools work immediately.** You can call `list_orders`, `create_order`, `get_price`, or any other tool right away. There is no second initialization step. Do NOT ask for private keys, wallet addresses, or environment variables.
34
43
 
35
44
  ### Error Handling
36
45
 
37
46
  | Error | Cause | Action |
38
47
  |-------|-------|--------|
39
- | Session expired/failed | User didn't complete signing in time | Call `wallet_setup` again |
40
- | Failed to create session | Network/API issue | Check internet connection, retry |
48
+ | Session expired/failed | User didn't sign in time | Call `wallet_setup` again |
49
+ | Failed to create session | Network/API issue | Retry |
41
50
 
42
- ### Important
51
+ ### Common Mistakes — DO NOT DO THESE
52
+
53
+ | Mistake | Why It's Wrong |
54
+ |---------|---------------|
55
+ | Asking user for private key after setup | Delegation key is auto-generated. User never provides keys. |
56
+ | Saying "profile.json is empty" | `wallet_setup` saves profile automatically on success. |
57
+ | Suggesting `vault init` | That's for CI/automation with PRIVATE_KEY env var. Never suggest it. |
58
+ | Saying "CLI needs separate initialization" | `wallet_setup` IS the initialization. One step, fully done. |
59
+ | Running `jv orders list` in terminal | Use `list_orders` MCP tool instead. |
60
+
61
+ ### Delegation Key Expiry
43
62
 
44
- - Never suggest `vault init` that requires `PRIVATE_KEY` and is for CI/automation only.
45
- - The delegation key expires after 1 week. If tools start failing, call `wallet_setup` again.
63
+ The delegation key expires after 1 week. If tools start failing with auth errors after working previously, call `wallet_setup` again to re-authorize.
46
64
 
47
65
  ---
48
66
 
@@ -1,5 +1,8 @@
1
1
  # Queries Reference
2
2
 
3
+ > All tools below are MCP tools. Call them directly — never run `jv` shell commands.
4
+ > These tools require no setup beyond `wallet_setup`. No private keys, no environment variables.
5
+
3
6
  ## 1. List Positions — `list_orders`
4
7
 
5
8
  Query active or historical positions.
@@ -161,4 +164,14 @@ Check execution status of an async job (market order, option creation, etc.).
161
164
 
162
165
  ## Error Handling
163
166
 
164
- When a tool call fails with errors like "delegation key not found" or "vault not initialized" or "no profile", the vault needs initialization. Guide the user to run `wallet_setup`.
167
+ When a tool fails, check the error message:
168
+
169
+ | Error Pattern | Meaning | Action |
170
+ |--------------|---------|--------|
171
+ | "delegation key not found" | Vault not initialized | Call `wallet_setup` |
172
+ | "vault not initialized" | Vault not initialized | Call `wallet_setup` |
173
+ | "no profile" / "profile not found" | Vault not initialized | Call `wallet_setup` |
174
+ | "delegation expired" | Key expired (1 week limit) | Call `wallet_setup` again |
175
+ | Network/timeout errors | Transient issue | Retry the tool call |
176
+
177
+ **NEVER respond to these errors by asking for private keys or suggesting environment variables.** The answer is always `wallet_setup`.
@@ -1,5 +1,7 @@
1
1
  # Trading Reference
2
2
 
3
+ > All tools below are MCP tools. Call them directly — never run `jv` shell commands.
4
+
3
5
  ## 1. Create Order — `create_order`
4
6
 
5
7
  Open, close, reduce, or add size to perpetual positions.
@@ -56,6 +58,38 @@ The tool returns the final execution result:
56
58
 
57
59
  Tell the user: "Limit order placed. ID: {limitOrderId}."
58
60
 
61
+ ### Closing a Position — MANDATORY STEPS
62
+
63
+ Closing a position means creating a reverse order. You **MUST** query the current position first.
64
+
65
+ **Why query first?** The margin amount must match the current position for a full close. Guessing wrong leads to partial closes or over-allocation.
66
+
67
+ **Required flow:**
68
+
69
+ 1. **Query**: Call `list_orders` to find the position. Note the `side` (LONG/SHORT), `margin`, and `symbol`.
70
+ 2. **Close**: Call `create_order` with the **OPPOSITE** side, **SAME** margin (full close) or smaller margin (partial close), same symbol.
71
+ 3. **Verify**: Call `list_orders` to confirm the position is closed or reduced.
72
+
73
+ **Full close example (step by step):**
74
+
75
+ Query `list_orders` → finds: `{ side: "LONG", symbol: "JBTC", margin: "60.00" }`
76
+
77
+ Close order:
78
+ ```json
79
+ { "side": "short", "symbol": "JBTC", "margin": 60 }
80
+ ```
81
+
82
+ **Partial close example:**
83
+
84
+ Query `list_orders` → finds: `{ side: "SHORT", symbol: "JETH", margin: "200.00" }`
85
+
86
+ Reduce by 25%:
87
+ ```json
88
+ { "side": "long", "symbol": "JETH", "margin": 50 }
89
+ ```
90
+
91
+ **WARNING: NEVER close a position without first calling `list_orders` or `get_order`. Guessing the side or margin leads to incorrect operations.**
92
+
59
93
  ### Common Patterns
60
94
 
61
95
  **Open a long position (market):**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jaspervault_cli",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "description": "JasperVault CLI for interacting with the JasperVault Manager API",
5
5
  "type": "module",
6
6
  "bin": {