hypergrok-trading-desk 1.7.1 → 1.7.2
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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.grok-plugin/marketplace.json +2 -2
- package/.grok-plugin/plugin.json +1 -1
- package/CHANGELOG.md +10 -0
- package/CONTRIBUTING.md +13 -3
- package/README.md +7 -6
- package/SETUP.md +4 -4
- package/docs/ACCOUNT_READ.md +84 -0
- package/docs/ARCHITECTURE.md +5 -2
- package/docs/FAQ.md +2 -2
- package/docs/FORK_REVIEW.md +10 -0
- package/docs/GROK_BOT_TEMPLATE.md +9 -1
- package/docs/PROVENANCE.md +16 -0
- package/docs/RESEARCH_DATASETS.md +1 -1
- package/docs/STOP_COST.md +1 -1
- package/docs/hyperliquid-claude-code.md +2 -2
- package/docs/hyperliquid-codex.md +2 -2
- package/docs/hyperliquid-cursor.md +2 -2
- package/docs/hyperliquid-gemini-cli.md +2 -2
- package/docs/hyperliquid-grok-build.md +4 -4
- package/gemini-extension.json +1 -1
- package/hooks/exchange_write_gate.py +112 -23
- package/package.json +4 -1
- package/plugin.json +1 -1
- package/scripts/account_read.py +352 -0
- package/scripts/check.sh +1 -0
- package/scripts/check_grok_template.py +15 -2
- package/scripts/check_npm_package.py +3 -3
- package/scripts/cli_journeys.py +80 -6
- package/scripts/desk_doctor.py +7 -1
- package/scripts/stop_cost.py +2 -1
- package/scripts/test_account_read.py +205 -0
- package/scripts/test_check_grok_template.py +80 -12
- package/scripts/test_desk_doctor.py +30 -1
- package/scripts/test_exchange_write_gate.py +64 -0
- package/scripts/test_order_rounding.py +16 -0
- package/scripts/test_stop_cost.py +11 -0
- package/skills/hypergrok-bootstrap/SKILL.md +4 -4
- package/skills/hyperliquid-api-reference/SKILL.md +6 -6
- package/skills/hyperliquid-market-data/SKILL.md +2 -2
- package/template/grok-bot.json +9 -9
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Hyperliquid trading desk roles and skills for Claude Code",
|
|
9
|
-
"version": "1.7.
|
|
9
|
+
"version": "1.7.2"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "hypergrok",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "Turn your agent into a 7-role Hyperliquid trading desk: research, risk, execution and review.",
|
|
16
|
-
"version": "1.7.
|
|
16
|
+
"version": "1.7.2",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Galleon Labs"
|
|
19
19
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypergrok",
|
|
3
3
|
"description": "Turn your agent into a Hyperliquid trading desk: seven specialist roles with full system prompts and seventeen skills for research, risk, execution and review.",
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Galleon Labs",
|
|
7
7
|
"url": "https://galleonlabs.io"
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"source": {
|
|
13
13
|
"source": "url",
|
|
14
14
|
"url": "https://github.com/galleonlabs/hypergrok-trading-desk.git",
|
|
15
|
-
"ref": "v1.7.
|
|
15
|
+
"ref": "v1.7.2"
|
|
16
16
|
},
|
|
17
17
|
"homepage": "https://github.com/galleonlabs/hypergrok-trading-desk",
|
|
18
18
|
"keywords": ["hypergrok", "hyperliquid", "trading desk", "grok bot"],
|
|
19
|
-
"version": "1.7.
|
|
19
|
+
"version": "1.7.2",
|
|
20
20
|
"author": {
|
|
21
21
|
"name": "Galleon Labs"
|
|
22
22
|
},
|
package/.grok-plugin/plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypergrok",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Hyperliquid trading desk roles and skills for Grok Bot and Grok Build.",
|
|
5
5
|
"author": {"name": "Galleon Labs", "url": "https://galleonlabs.io"},
|
|
6
6
|
"homepage": "https://github.com/galleonlabs/hypergrok-trading-desk",
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.7.2 - 2026-11-12
|
|
6
|
+
|
|
7
|
+
+ The Claude Code exchange-write gate missed writes that a literal `cd`, a shell script, a case-variant `hyperliquid.xyz` host, `ex.order` / `hl.cancel`, or `getattr(..., "order")` kept out of its matcher. Those now ask. A named script that is too large or unreadable to scan asks as well. A 32-byte hex key in a named script path is redacted in the prompt, which still omits the command and the file body. `scripts/desk_doctor.py` previously reported a desk record as clean when it held that key shape with no "private key" label; it now fails the record without printing the value. An account address, commit or bare hash still passes.
|
|
8
|
+
+ Correct stale Hyperliquid facts in the API reference and market-data skill. Funding is capped at 0.5% per hour. CEX `predictedFundings` intervals are 1, 4 or 8 hours per coin, or omitted. Mark price uses the median of best bid, best ask and last trade, not the book mid. Market-order notionals follow the four official leverage bands.
|
|
9
|
+
+ An incomplete `scripts/account_read.py` total is no longer labelled "at least" when an omitted balance is negative. Prices in the sum are positive, so a negative omitted balance makes the partial total an upper bound ("at most"); mixed signs are printed as incomplete. `equity.bound` is `exact`, `lower`, `upper` or `unknown` in standard mode, and null when the mode is not summed. Zero collateral units stay zero USD when that token has no USDC pair.
|
|
10
|
+
+ Add `scripts/account_read.py`, a keyless read of one account across the main perp DEX, every HIP-3 DEX listed by `perpDexs` (such as `xyz`) and spot, because a plain `clearinghouseState` read omits HIP-3 positions and margin. It reports positions and per-DEX equity, converts non-USDC collateral and spot tokens at their USDC pair, and sums total equity only in the standard account mode; shared-collateral modes report the parts with no total. The address comes from `--address` or `HYPERGROK_ACCOUNT`. It shares the read-only `--schema`, `--json` and error contract, and two loopback journeys cover a HIP-3 short, a USDH-collateral DEX, an empty DEX and a unified account. Documented in `docs/ACCOUNT_READ.md`.
|
|
11
|
+
+ Publish and independently inspect the 1.7.1 native Grok Bot template on a new share. The 1.7.0 share keeps installing 1.7.0.
|
|
12
|
+
+ Refresh release pins and skill hashes for 1.7.2. The native Grok Bot share stays on its independently verified 1.7.1 bootstrap pending an authorized native update; direct pinned and package installs carry this release.
|
|
13
|
+
+ Refresh the public fork review: 61 listed repositories, 59 accessible, 73 branches, two new heads. Ignore environment files and local desk state in clones, as forks suggested. Decline to name a third-party weekend reference in the market-data skill. No instruction file changed.
|
|
14
|
+
|
|
5
15
|
## 1.7.1 - 2026-11-01
|
|
6
16
|
|
|
7
17
|
+ Explain HIP-3 equity readings while the underlying market is closed: distinguish API price references from an official close, pair mark/oracle divergence with liquidity, retain DEX identity and hourly funding history, and preserve zero versus unavailable external rates. Keep observations separate from executable prices and return claims.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -23,9 +23,9 @@ HyperGrok is instructions and resources for a user's Grok Bot, not software the
|
|
|
23
23
|
bash scripts/check.sh
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
The required check runs structural validation, retained release/security/financial contracts, and
|
|
26
|
+
The required check runs structural validation, retained release/security/financial contracts, and 19 real CLI journeys against an isolated loopback API. The tool unit suites for Opening Bell, research datasets and the doctor remain available through `python3 -m unittest discover -s scripts -p 'test_*.py'`; prefer end-to-end journeys or boundary contracts for new coverage. CI runs the same script.
|
|
27
27
|
|
|
28
|
-
Retained contracts and reasons: manifest/npm/template checks and their negative fixtures protect installation and publication; release-bump fixtures protect immutable tags and scoped writes; exchange-write-gate fixtures protect approval and single-writer boundaries; stop-cost and order-rounding fixtures protect financial arithmetic. The CLI journeys exercise schema/errors without network, offline diagnostics, market reads, risk sizing, dataset collection, offline replay and tamper refusal. No signing, keys, account data or exchange request is used. CI-only changes do not change the pinned user instruction release.
|
|
28
|
+
Retained contracts and reasons: manifest/npm/template checks and their negative fixtures protect installation and publication; release-bump fixtures protect immutable tags and scoped writes; exchange-write-gate fixtures protect approval and single-writer boundaries; stop-cost and order-rounding fixtures protect financial arithmetic. The CLI journeys exercise schema/errors without network, offline diagnostics, market reads, every-DEX account reads in standard and shared-collateral modes, risk sizing, dataset collection, offline replay and tamper refusal. No signing, keys, real account data or exchange request is used. CI-only changes do not change the pinned user instruction release.
|
|
29
29
|
|
|
30
30
|
Structural validation includes:
|
|
31
31
|
|
|
@@ -46,7 +46,17 @@ Structural validation includes:
|
|
|
46
46
|
|
|
47
47
|
5. Run `bash scripts/check.sh`, then commit, then tag: `git tag -a vX.Y.Z -m "..." && git push origin main vX.Y.Z`.
|
|
48
48
|
6. Publish a GitHub release for the tag, re-author the public Grok Bot template from `template/grok-bot.json` (`templateSkillNames` lists the exported bootstrap; `skills` retains all seventeen files installed from the release), and run `python3 scripts/check_public_template.py --live` so its logged-out profile and deep link are proved against the same release contract. When the share link changes, also set it as the GitHub repository homepage (`gh repo edit galleonlabs/hypergrok-trading-desk --homepage <link>`). Gemini CLI installs the latest GitHub release and, when that release has exactly one asset, installs the asset instead of the tagged source; it extracts only `.tar.gz` and `.zip`. Do not attach the npm archive as a release's only asset.
|
|
49
|
-
7.
|
|
49
|
+
7. Publish the npm resource package through the `publish.yml` workflow, which authenticates with npm trusted publishing and uses no npm token. It runs only from `main`, requires successful CI on the exact commit and, for a real publish, the `vX.Y.Z` tag on that commit, so run it before `main` moves on. It packs the archive, verifies its contents and bytes with `scripts/check_npm_package.py`, runs `scripts/check.sh` in the unpacked package, publishes that archive and compares the registry integrity with it. Check first with the default dry run: `gh workflow run publish.yml -R galleonlabs/hypergrok-trading-desk`, then add `-f dry_run=false`. The npm package is instructions/resources, not an exchange executor, and has no install lifecycle hooks or dependencies.
|
|
50
|
+
|
|
51
|
+
**First release under trusted publishing:** the owner creates the trusted publisher with 2FA, then the release must follow within 2 days, because npm expires a configuration that has not completed a publish by then. A 2FA-bypass token cannot do this. From the home directory, not the personal workspace, whose `.npmrc` would override the login:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
U=$(mktemp); npm login --userconfig "$U" --auth-type=web && npm trust github hypergrok-trading-desk --userconfig "$U" --repo galleonlabs/hypergrok-trading-desk --file publish.yml --env npm-release --allow-publish --yes; rm -f "$U"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Once that release has landed, set the package's npm **Settings → Publishing access** to "Require two-factor authentication and disallow tokens".
|
|
58
|
+
|
|
59
|
+
If Actions is unavailable, stage the reviewed archive from dappnode with `npx -y npm@11.21.1 stage publish <archive> --access public`; it goes live only when the owner approves it with 2FA on npmjs.com. npm removes direct publishing by 2FA-bypass tokens around January 2027.
|
|
50
60
|
8. Verify the published instructions actually work by running section 1 verbatim in an empty directory: clone the tag, then `bash scripts/check.sh` inside it.
|
|
51
61
|
|
|
52
62
|
The tag must contain a `SETUP.md` that pins to that same tag. If step 4 is skipped, the release ships instructions pointing at the previous one, so the check enforces it rather than leaving it to whoever cuts the release: step 2 without step 4 fails the build, and so does a pin that names a moving branch or no ref at all.
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ HyperGrok gives your AI agents a shared process for Hyperliquid research, risk,
|
|
|
19
19
|
## Try it now, no keys
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
git clone --depth 1 --branch v1.7.
|
|
22
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
23
23
|
cd hypergrok-trading-desk
|
|
24
24
|
python3 scripts/opening_bell.py --coin ETH
|
|
25
25
|
```
|
|
@@ -36,9 +36,9 @@ Recorded from the command above on 25 October 2026 at 13:09 UTC. The figures are
|
|
|
36
36
|
|
|
37
37
|
For the seven-Bot desk with a shared Trading Floor, open Grok Bot and paste:
|
|
38
38
|
|
|
39
|
-
> Set up the HyperGrok trading desk from https://github.com/galleonlabs/hypergrok-trading-desk/blob/v1.7.
|
|
39
|
+
> Set up the HyperGrok trading desk from https://github.com/galleonlabs/hypergrok-trading-desk/blob/v1.7.2/skills/hypergrok-bootstrap/SKILL.md. Follow the bootstrap skill, use https://github.com/galleonlabs/hypergrok-trading-desk/blob/v1.7.2/SETUP.md for the complete runbook, and finish with its evidence receipt.
|
|
40
40
|
|
|
41
|
-
Or add the [public HyperGrok Desk Lead template](https://x.ai/bot/
|
|
41
|
+
Or add the [public HyperGrok Desk Lead template](https://x.ai/bot/2GeaOwIsmTEOD_WGzmghC), then send **Start the desk.** Its 1.7.1 bootstrap installs the complete seventeen-skill release. See the [publication and native content checks](docs/GROK_BOT_TEMPLATE.md#publication-verification---2026-11-03).
|
|
42
42
|
|
|
43
43
|
The Desk Lead runs Opening Bell, installs the shared skills, prepares the team and returns a setup receipt. The desk starts in research mode. Add a testnet API wallet when you want to practise with play money; mainnet uses the same ticket process after its approval controls are verified. See the [full setup runbook](SETUP.md) for each step.
|
|
44
44
|
|
|
@@ -177,7 +177,7 @@ npm exec --package=skills@1.5.23 -- skills add galleonlabs/hypergrok-trading-des
|
|
|
177
177
|
The complete resources also install from npm:
|
|
178
178
|
|
|
179
179
|
```bash
|
|
180
|
-
npm install --save-exact --ignore-scripts hypergrok-trading-desk@1.7.
|
|
180
|
+
npm install --save-exact --ignore-scripts hypergrok-trading-desk@1.7.2
|
|
181
181
|
python3 node_modules/hypergrok-trading-desk/scripts/desk_doctor.py --offline
|
|
182
182
|
```
|
|
183
183
|
|
|
@@ -194,8 +194,8 @@ SETUP.md what your Grok Bot follows to build the desk
|
|
|
194
194
|
agents/ seven roles: Bot profile card + full system prompt
|
|
195
195
|
skills/ seventeen skills (bootstrap, hyperliquid-*, desk-*)
|
|
196
196
|
template/ exact public Grok Bot profile and skill hashes
|
|
197
|
-
scripts/ zero-key market, history
|
|
198
|
-
docs/ how it works, FAQ, install pages, stop cost, provenance
|
|
197
|
+
scripts/ zero-key market, history, stop-cost and every-DEX account reads, offline verification, release checks
|
|
198
|
+
docs/ how it works, FAQ, install pages, stop cost, account read, provenance
|
|
199
199
|
assets/ the mascot, logo, README graphics and their generator
|
|
200
200
|
```
|
|
201
201
|
|
|
@@ -205,6 +205,7 @@ assets/ the mascot, logo, README graphics and their generator
|
|
|
205
205
|
| [FAQ](docs/FAQ.md) | keys, approvals, testnet, customising the team |
|
|
206
206
|
| [Research datasets](docs/RESEARCH_DATASETS.md) | collect, verify and hand off historical evidence |
|
|
207
207
|
| [Stop cost](docs/STOP_COST.md) | what a triggered stop costs, from the live book |
|
|
208
|
+
| [Account read](docs/ACCOUNT_READ.md) | positions and equity across the main DEX, every HIP-3 DEX and spot |
|
|
208
209
|
| [Skills index](skills/README.md) | every skill and who uses it |
|
|
209
210
|
| [Grok Bot template](docs/GROK_BOT_TEMPLATE.md) | public profile, publish contract and clean-install evaluation |
|
|
210
211
|
| [Provenance](docs/PROVENANCE.md) | sources and licences |
|
package/SETUP.md
CHANGED
|
@@ -6,11 +6,11 @@ In Grok Bot, if your runtime loaded this repository as a plugin, invoke `hypergr
|
|
|
6
6
|
|
|
7
7
|
## 1. Get the repository onto the desk computer
|
|
8
8
|
|
|
9
|
-
If `/workspace/hypergrok` already contains a Git checkout, preserve it. Its `plugin.json` must name version `1.7.
|
|
9
|
+
If `/workspace/hypergrok` already contains a Git checkout, preserve it. Its `plugin.json` must name version `1.7.2`, and `git rev-parse HEAD` must equal `git rev-parse 'refs/tags/v1.7.2^{commit}'`. If the tag is unavailable or either comparison fails, report the existing version and commit and stop dependent setup without overwriting, resetting or switching the checkout. An older release passing its own structural check is insufficient. For a matching existing checkout, run only the final `cd`, commit and structural-check line below; otherwise clone:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
mkdir -p /workspace && cd /workspace
|
|
13
|
-
git clone --depth 1 --branch v1.7.
|
|
13
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git hypergrok
|
|
14
14
|
cd /workspace/hypergrok && git rev-parse HEAD && bash scripts/check.sh
|
|
15
15
|
```
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ That pin is a release tag, not a moving branch: the desk you build is the desk t
|
|
|
20
20
|
|
|
21
21
|
`scripts/check.sh` is the desk's own structural check: it runs offline, touches no keys and no network, and confirms the skills, agents and manifests are intact and internally consistent. If it fails, stop and tell the user; do not build a desk from a tree that does not check out.
|
|
22
22
|
|
|
23
|
-
Before using any agent profile or System prompt, run `git diff --exit-code refs/tags/v1.7.
|
|
23
|
+
Before using any agent profile or System prompt, run `git diff --exit-code refs/tags/v1.7.2 -- agents/` in the checkout. HEAD matching the tag does not prove the working files are unchanged. If the command reports differences or fails, name the affected paths, stop dependent setup and preserve the user's files.
|
|
24
24
|
|
|
25
25
|
Record the commit `git rev-parse HEAD` printed. It goes into `desk.md` in section 8 as `instructions commit`, so the desk can always say which version of these rules it is running and the user can diff it later.
|
|
26
26
|
|
|
@@ -71,7 +71,7 @@ For each Bot:
|
|
|
71
71
|
- **Avatar:** the desk mascot at `/workspace/hypergrok/assets/mascot.jpg` (attach it from the computer, or let the user pick their own).
|
|
72
72
|
- Then send the new Bot its full **System prompt** section as its first message, prefixed with: "These are your standing instructions. Confirm you have read them and state your job in one sentence." Ask it to keep the instructions in memory and to re-read its file at `/workspace/hypergrok/agents/<name>.md` whenever it is unsure.
|
|
73
73
|
|
|
74
|
-
Read back the native Name, Job and Description and compare them exactly with the profile. Before reuse or after creation, verify the complete standing System prompt through supported native readback. If a full persistent instruction field is not exposed, acceptable separate evidence is readback of the exact full System prompt delivered as a standing-instructions message, the Bot's acknowledgement that it follows the pinned agent file, and that local file's hash matching the expected bytes from `git show 'refs/tags/v1.7.
|
|
74
|
+
Read back the native Name, Job and Description and compare them exactly with the profile. Before reuse or after creation, verify the complete standing System prompt through supported native readback. If a full persistent instruction field is not exposed, acceptable separate evidence is readback of the exact full System prompt delivered as a standing-instructions message, the Bot's acknowledgement that it follows the pinned agent file, and that local file's hash matching the expected bytes from `git show 'refs/tags/v1.7.2:agents/<name>.md'`. Hashing an arbitrary local file is insufficient. Record this as `delivery-and-pointer`, with the limitation that delivery and the checked target do not establish byte-identical persistent memory. A matching Description, summarized memory or file pointer alone is insufficient.
|
|
75
75
|
|
|
76
76
|
If an existing seat differs, is missing or lacks both proof methods, create a separate Bot and verify it. Preserve the existing Bots and unrelated desks' profiles, prompts and memories. Record the selected native Bot IDs; names alone do not identify the intended seats. Grok Bot lets existing Bots create focused Bots. If a needed creation step or both supported verification methods are unavailable, give the user the exact profile card and full standing prompt for each affected role as labelled copy-and-paste blocks, and keep readiness pending until verified. The Grok Bot desk uses seven separate Bots, with one designated exchange writer.
|
|
77
77
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Every-DEX account read
|
|
2
|
+
|
|
3
|
+
Hyperliquid runs builder-deployed (HIP-3) perp DEXs, such as `xyz`, beside the main one. Each DEX has its own clearinghouse, so a plain `clearinghouseState` read shows only the main DEX: HIP-3 positions and the margin behind them are missing, and equity comes out too low.
|
|
4
|
+
|
|
5
|
+
`scripts/account_read.py` reads one account across the main DEX, every HIP-3 DEX and spot, then reports positions and per-DEX and total equity. It uses Python 3's standard library and the public `/info` endpoint. It needs the account address, never a key, and it signs nothing.
|
|
6
|
+
|
|
7
|
+
## Run it
|
|
8
|
+
|
|
9
|
+
From the root of a checkout, pass the account (main wallet) address, not an API wallet's address:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
python3 scripts/account_read.py --address 0xYOUR_ACCOUNT_ADDRESS
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Or set it once for the shell, so it stays out of command history and shared transcripts:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
export HYPERGROK_ACCOUNT=0xYOUR_ACCOUNT_ADDRESS
|
|
19
|
+
python3 scripts/account_read.py
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Output from the synthetic test account, a standard-mode account with a short on `xyz` and margin on a USDH-collateral DEX:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
HYPERGROK ACCOUNT READ · 0x1111...1111 · DEFAULT MODE
|
|
26
|
+
READ ONLY · CUSTOM · 2024-01-01T00:00:00Z
|
|
27
|
+
Sources: Hyperliquid /info perpDexs, userAbstraction, clearinghouseState x4, spotClearinghouseState, spotMetaAndAssetCtxs, meta
|
|
28
|
+
|
|
29
|
+
DEX collateral account value USD positions
|
|
30
|
+
main USDC 1,000.00 $1,000.00 1
|
|
31
|
+
xyz USDC 500.00 $500.00 1
|
|
32
|
+
flx USDH 200.00 $199.80 0
|
|
33
|
+
1 other DEX empty.
|
|
34
|
+
|
|
35
|
+
Positions
|
|
36
|
+
ETH long 0.1 @ 3,000.00 · value 300.10 · uPnL +0.10 · cross 20x · liq none
|
|
37
|
+
xyz:TSLA short 2.0 @ 250.00 · value 490.00 · uPnL +10.00 · isolated 10x · liq 300.00
|
|
38
|
+
|
|
39
|
+
Spot $180.00 across 2 balances
|
|
40
|
+
Equity perps $1,699.80 + spot $180.00 = $1,879.80
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## What it reads
|
|
44
|
+
|
|
45
|
+
1. `perpDexs` lists the DEXs: `null` for the main one, then each builder DEX by name.
|
|
46
|
+
2. `userAbstraction` gives the account mode, which decides whether a total can be summed.
|
|
47
|
+
3. `clearinghouseState` once per DEX, with `"dex": "<name>"` for each builder DEX. Every DEX is read, so a new one appears without a code change.
|
|
48
|
+
4. `spotClearinghouseState` for spot balances, and `spotMetaAndAssetCtxs` for token names and prices.
|
|
49
|
+
5. `meta` with the DEX name, only for a DEX that holds a balance or position, to find its `collateralToken`.
|
|
50
|
+
|
|
51
|
+
A failed or malformed read fails the whole command (exit 1, `source_unavailable`). It never prints a partial total that silently leaves a DEX out. About fifteen requests make one read, well inside the public rate limit.
|
|
52
|
+
|
|
53
|
+
## How equity is computed
|
|
54
|
+
|
|
55
|
+
Hyperliquid's [account abstraction modes](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/account-abstraction-modes) decide how balances add up.
|
|
56
|
+
|
|
57
|
+
In the standard mode (`default`, also `disabled`), spot and each perp DEX keep separate balances. The script sums:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
dex_usd = marginSummary.accountValue x USD price of the DEX's collateral token
|
|
61
|
+
spot_usd = sum of balance total x USD price of the token (total includes amounts on hold)
|
|
62
|
+
total_usd = sum of dex_usd over every DEX + spot_usd
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`accountValue` already includes unrealized PnL and isolated margin, so positions are not added again. USDC counts as exactly $1. Any other token, including a DEX collateral such as USDH or USDT0, is priced at the mid of its USDC spot pair, or the mark when the book has no mid. Zero collateral units are zero USD even when that token has no price. A nonzero balance with no USDC pair is listed as unpriced and left out, and the total is marked incomplete. Those prices are positive, so the partial total is a lower bound printed as "at least" when every omitted balance is positive, and an upper bound printed as "at most" when every omitted balance is negative. Mixed signs are printed as "incomplete". JSON reports that choice in `equity.bound`: `exact`, `lower`, `upper` or `unknown` for a standard-mode account, and null when the mode is not summed.
|
|
66
|
+
|
|
67
|
+
In the `unifiedAccount` and `portfolioMargin` modes, one balance backs spot and perps, and Hyperliquid documents that `spotClearinghouseState` then holds all balances and that per-DEX user states are not meaningful. Adding them would count collateral twice, so the script reports the positions, per-DEX states and spot value with `total_usd` null. It does the same for any other mode, including the discontinued DEX abstraction.
|
|
68
|
+
|
|
69
|
+
Not included: staked HYPE, vault deposits and sub-accounts, which have their own reads in `hyperliquid-account`. Reads are sequential, so prices can move between them.
|
|
70
|
+
|
|
71
|
+
## Comparing with the Hyperliquid app
|
|
72
|
+
|
|
73
|
+
The total is designed to match the app's equity for a standard-mode account read at the same moment. That match has not been checked against the app; the arithmetic and request shapes were checked against the official [perpetuals](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals) and [spot](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot) references and live public responses. Small differences can come from spot prices (the app may value a token differently from its USDC pair mid), from illiquid tokens whose mid value cannot be realized, and from the seconds between reads. Treat a large gap as a reason to compare the per-DEX rows.
|
|
74
|
+
|
|
75
|
+
## For scripts and agents
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
python3 scripts/account_read.py --schema
|
|
79
|
+
python3 scripts/account_read.py --json
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`--schema` describes the JSON without touching the network. `--json` returns decimal strings in the same versioned contract as the other read-only tools: exit 0 for a result, 1 when a read fails (`source_unavailable`) and 2 for invalid arguments, including a missing or malformed address. `--testnet` reads the testnet account, which is a different account from mainnet's at the same address.
|
|
83
|
+
|
|
84
|
+
The read is a fact source for sizing and reconciliation, not authority to act. The desk's Risk PASS, the user's exact ticket approval and the single writer still govern every exchange action, and this script never sends one.
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -21,7 +21,7 @@ computer: /workspace/hypergrok (this repo) /workspace/trading-desk (the desk'
|
|
|
21
21
|
secret: HYPERLIQUID_PRIVATE_KEY - a trade-only API wallet, from Grok Bot's secure secret store
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
The shared Desk Lead starts on the read plane. `hypergrok-bootstrap` installs the pinned release, runs `scripts/opening_bell.py` against public `/info`, prepares the desk, creates the team when the product allows it, and finishes with `scripts/desk_doctor.py`. None of those first-run paths reads a key or
|
|
24
|
+
The shared Desk Lead starts on the read plane. `hypergrok-bootstrap` installs the pinned release, runs `scripts/opening_bell.py` against public `/info`, prepares the desk, creates the team when the product allows it, and finishes with `scripts/desk_doctor.py`. None of those first-run paths calls `/exchange` or reads an API wallet. The doctor reads the desk record and fails it, without printing the value, when that record contains a private-key label or a 32-byte hex key.
|
|
25
25
|
|
|
26
26
|
The six-Bot group limit leaves the Trade Reviewer outside the Floor. Bots share the computer and skills, so role separation is a working convention rather than credential isolation. Native approval controls and the secret store provide separate controls; setup verifies their availability.
|
|
27
27
|
|
|
@@ -45,6 +45,7 @@ Working files live under `/workspace/trading-desk/`; chat supplies context, whil
|
|
|
45
45
|
| `risk-limits.md` | your limits, versioned; only you change it |
|
|
46
46
|
| `proposals/HG-*.md` | one file per trade idea, appended through its life: ticket, sign-off, approval, send, reconciliation, review |
|
|
47
47
|
| `journal/*.md` | the desk diary, append-only |
|
|
48
|
+
| `journal/incidents/` | one file per incident; the doctor requires this folder |
|
|
48
49
|
| `briefs/`, `research/`, `strategies/`, `data/`, `watch/` | working material |
|
|
49
50
|
|
|
50
51
|
## Research evidence
|
|
@@ -55,6 +56,8 @@ The Market Analyst hands the complete bundle to the Strategist, who runs offline
|
|
|
55
56
|
|
|
56
57
|
`scripts/stop_cost.py` runs on the read plane too. It reads public market metadata and the L2 book and applies the `desk-risk-limits` sizing arithmetic to a plan and equity the user types, so it prices a stop without an account read.
|
|
57
58
|
|
|
59
|
+
`scripts/account_read.py` is the read plane's account view. Given an address, it lists every perp DEX with `perpDexs`, reads `clearinghouseState` for each, including HIP-3 DEXs such as `xyz`, and reads spot balances. It sums total equity only in the standard account mode, where balances are separate, and leaves the total null for shared-collateral modes. It needs no key and cannot sign. See [Account read](ACCOUNT_READ.md).
|
|
60
|
+
|
|
58
61
|
Data completeness, statistical evidence, Risk PASS and a user's exact ticket approval are separate decisions. The dataset tool does not supply historical oracle prices, reconstruct intrabar fills, read an account or touch an exchange write path.
|
|
59
62
|
|
|
60
63
|
## Trust boundaries
|
|
@@ -87,4 +90,4 @@ Each runtime guide contains installation commands and observed support limits:
|
|
|
87
90
|
|
|
88
91
|
The Grok and Codex marketplace entries pin the reviewed repository tag. Claude Code resolves this repository through its own marketplace index. Gemini CLI installs the latest GitHub release; `GEMINI.md` repeats the desk rule's approval paragraph, which the manifest check compares for drift.
|
|
89
92
|
|
|
90
|
-
Only Claude Code loads `hooks/exchange-write-gate.json`. Its `PreToolUse` hook asks for confirmation when a Bash command or a named script matches an SDK write method or raw `/exchange` POST.
|
|
93
|
+
Only Claude Code loads `hooks/exchange-write-gate.json`. Its `PreToolUse` hook asks for confirmation when a Bash command or a named script matches an SDK write method or raw `/exchange` POST, including a shell script and a path after a literal `cd`. Host case does not hide the exchange URL. A named script that is too large or unreadable to scan also asks. A command that names more than 32 scripts asks without reading them. The prompt redacts a 32-byte hex key. The hook never returns `allow`, does not follow imports, expand globs or variable `cd` targets, and cannot bind a request to the approved ticket. It is a confirmation backstop; each runtime still needs verified native approval coverage before an API wallet is provisioned.
|
package/docs/FAQ.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
The release contains seven role profiles, seventeen skills and read-only Python tools. In Grok Bot, setup builds seven Bots, a six-Bot Trading Floor and a desk record. Other runtimes load the roles as subagents or labelled passes. Ask for a market brief, a sized ticket, a backtest or a review; each role reports its evidence.
|
|
5
5
|
|
|
6
6
|
**What do I need to start?**
|
|
7
|
-
For a terminal demo, run the [keyless Opening Bell](../README.md#try-it-now-no-keys) with Python 3. For the Grok Bot desk, add the [public HyperGrok Desk Lead template](https://x.ai/bot/
|
|
7
|
+
For a terminal demo, run the [keyless Opening Bell](../README.md#try-it-now-no-keys) with Python 3. For the Grok Bot desk, add the [public HyperGrok Desk Lead template](https://x.ai/bot/2GeaOwIsmTEOD_WGzmghC), then send **Start the desk.** It carries the 1.7.1 bootstrap. The [pinned bootstrap in the README](../README.md#start) is also available; see [publication evidence](GROK_BOT_TEMPLATE.md). The desk starts in research mode and proves public market access without asking for a key. Add a testnet API wallet only when you want to practise; add a mainnet one when you decide to trade real money.
|
|
8
8
|
|
|
9
9
|
**What does the desk doctor inspect?**
|
|
10
|
-
The release version
|
|
10
|
+
The release version, the SETUP tag pin, the presence of every published skill and role, each skill's bytes against the release manifest, the desk folders and record when `--desk-root` is set, and a public Hyperliquid `allMids` response. When it reads that record, a private-key label or a 32-byte hex key fails the check, and the doctor does not print the value. An account address, a commit or a bare hash still passes. It does not read environment variables, the secret store or account state, and it never calls the exchange write endpoint.
|
|
11
11
|
|
|
12
12
|
**How does the desk trade?**
|
|
13
13
|
Through a Hyperliquid API (agent) wallet you create in the Hyperliquid app and hand over through Grok Bot's secure secret card. It can place, modify and cancel orders. Withdrawals, transfers and bridging stay in the app with your main wallet.
|
package/docs/FORK_REVIEW.md
CHANGED
|
@@ -98,6 +98,16 @@ All adaptations use original prose. No fork runtime, hook, strategy or signing c
|
|
|
98
98
|
|
|
99
99
|
The thysmans hook was reconsidered as a confirmation-only backstop and rewritten as original code in `hooks/exchange_write_gate.py`. The objections above are addressed or kept explicit: it has no automatic allow for any class of send, it also scans script files the command names, and it matches the TypeScript client and raw `/exchange` POSTs as well as the Python SDK. It still cannot bind a send to an account, network, ticket, standing scope or expiry, and it does not follow imports, so it remains a backstop that does not satisfy native approval coverage. The strategy playbooks and personal cadence stay rejected.
|
|
100
100
|
|
|
101
|
+
## Addendum - 2026-11-03
|
|
102
|
+
|
|
103
|
+
Swept the network again against upstream [`12b3097`](https://github.com/galleonlabs/hypergrok-trading-desk/commit/12b3097). GitHub listed 61 repositories including the one descendant; 59 were accessible, with 73 branches at 32 distinct heads. Fifty-six branches had no unique commits and 17 branches at 13 heads did. Eleven of those heads are the exact ones already assessed in this document. `SyxonQ-Dev/hypergrok-trading-desk` and now `03Trash-Panda31/hypergrok-trading-desk` returned HTTP 404, so their current content could not be reviewed. No fork code was executed, no account was read and no order was placed.
|
|
104
|
+
|
|
105
|
+
**The two new heads.** [igor-olikh `main`](https://github.com/igor-olikh/hypergrok-trading-desk/commit/0d9500c8655d) is a merge of upstream with no new work of its own. [peepo-squid `docs/hip3-weekend-reference`](https://github.com/peepo-squid/hypergrok-trading-desk/commit/9be3f751f8ee), open as [PR #56](https://github.com/galleonlabs/hypergrok-trading-desk/pull/56), names a third-party weekend gap board run by its author, who disclosed that. The feed responded and labels its Friday reference as an approximation. It was not adopted: the skill already reports an exchange-close comparison as unavailable without a separately sourced official close, and naming an unaudited JSON and MCP endpoint in a skill would make one operator's service part of the desk's evidence path.
|
|
106
|
+
|
|
107
|
+
**Rechecked older findings.** The [jawndiego audit matrix](https://github.com/jawndiego/hypergrok-trading-desk/blob/067b4d0ecdc37aa6f24fae1b21f2adf4189ab66c/docs/hypergrok_audit_matrix.md) was compared with the current skills on partial-close cleanup, grouped-leg client ids, dead-man's-switch stops and WebSocket recovery; each is now covered. Its claim that the maximum market order is $15M does not match the official [contract specifications](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/contract-specifications) read on this date, which state $30M at 25x and above, as `hyperliquid-api-reference` does. Its broader call for a deterministic signer and transactional store remains a different product.
|
|
108
|
+
|
|
109
|
+
**Adopted.** Defence-in-depth ignore rules for environment files and local desk state, following the `.gitignore` changes in [igor-olikh](https://github.com/igor-olikh/hypergrok-trading-desk/commit/c820c3bd) and the same finding in the jawndiego matrix. They protect a clone from an accidental commit; they do not replace the secret store. No instruction file changed, so this does not move the pinned release.
|
|
110
|
+
|
|
101
111
|
## Validation and distribution
|
|
102
112
|
|
|
103
113
|
Run `bash scripts/check.sh` and `validate-agent-skills skills`; all seventeen skills, seven roles, release pointers and template hashes remain part of the distribution contract. The risk examples demonstrate that $40 of position risk plus $80 of pending risk plus a $100 candidate exceeds a $200 cap, and a confirmed $30/$50 partial-fill split still consumes the original $80 reservation. Independently review the changed approval, reservation and recovery paths. Never test these instructions by placing a live trade.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`template/grok-bot.json` is the release contract for the public **HyperGrok Desk Lead** template. It records the exact public profile, source release, avatar, exported bootstrap skill and complete reviewed release inventory. `templateSkillNames` lists the skills carried by the share; `skills` contains all seventeen files and hashes that setup must install and verify.
|
|
4
4
|
|
|
5
|
-
**Release state — 2026-11-
|
|
5
|
+
**Release state — 2026-11-03:** The [1.7.1 public template](https://x.ai/bot/2GeaOwIsmTEOD_WGzmghC) is published. Its complete exported bootstrap was independently read back in the native UI and matched the reviewed source. The earlier 1.7.0 share keeps installing 1.7.0. Earlier receipts below apply only to their named releases.
|
|
6
6
|
|
|
7
7
|
**Prior release — 2026-10-25:** The [1.7.0 public template](https://x.ai/bot/qgVMePFoWotJTUtl3gkdZ) is published. Its complete exported bootstrap was independently read back in the native UI and matched the reviewed source. Source and package checks are recorded separately. Earlier receipts below apply only to their named releases.
|
|
8
8
|
|
|
@@ -76,6 +76,14 @@ The Desk Lead follows `hypergrok-bootstrap`. A passing result has:
|
|
|
76
76
|
|
|
77
77
|
Do not describe the template as a zero-interaction installer. **Add to Grok Bot** creates the Desk Lead; **Start the desk.** runs the reviewed setup. The public path is one click and one message.
|
|
78
78
|
|
|
79
|
+
## Publication verification - 2026-11-03
|
|
80
|
+
|
|
81
|
+
The [1.7.1 public template](https://x.ai/bot/2GeaOwIsmTEOD_WGzmghC) was authored from the 1.7.1 release tag at commit `4acf5434de4161a35dd0cc0106d13959473b199f`. The Bot behind the 1.7.0 share could not be reached from the app or from grok.com, so a fresh Bot and link were used. Keep this Bot so the next release can use **Update template**. The publishing Bot has the manifest name, title and description, a default geometric avatar and one exported `hypergrok-bootstrap` skill. Its Context panel contains the public description and that skill, with no memories and no integrations. The public profile reads "By Andrew".
|
|
82
|
+
|
|
83
|
+
Independent native readback opened **View Details → Context → hypergrok-bootstrap** before publishing and hashed the complete rendered content. The normalized Markdown body matched the source: 9,450 UTF-8 bytes, SHA-256 `3b71494ff0917fb3b173bbd86bf5324dea905058975040bacfc3720b969e88dd`. The logged-out preview shows the name, the 1.7.1 description and **Add to Grok Bot**.
|
|
84
|
+
|
|
85
|
+
A fresh public import and **Start the desk.** round trip has not been performed for this release. The source gate and clean pinned installation do not establish native seven-Bot acceptance. No account read, key provisioning, routine activation or exchange action was used for publication.
|
|
86
|
+
|
|
79
87
|
## Publication verification - 2026-10-25
|
|
80
88
|
|
|
81
89
|
The [1.7.0 public template](https://x.ai/bot/qgVMePFoWotJTUtl3gkdZ) was authored from reviewed candidate commit `57bfd65be33b3a5eeee43dbd66c1daa2ee560ae5`. The publishing Bot has the manifest name, title and description, the default geometric avatar and one exported `hypergrok-bootstrap` skill. Its Context panel contains the public description and that skill; no plugins, memories or routines are exported. The native Publish action returned **Your Bot was successfully published** and its card showed **Published**. The publishing Bot is retained for future updates.
|
package/docs/PROVENANCE.md
CHANGED
|
@@ -54,3 +54,19 @@ The Python SDK still lacks automatic WebSocket reconnection and routes only the
|
|
|
54
54
|
The market-data pitfalls use the official [HIP-3 specification](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-improvement-proposals-hips/hip-3-builder-deployed-perpetuals), [perpetuals info API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals) and [funding reference](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/funding). These distinguish deployer-owned oracle definitions and market settings, asset-context fields, prefixed market identity, hourly historical rates and impact-price funding premium. Original guidance separates those observations from an official equity close, executable prices and future funding.
|
|
55
55
|
|
|
56
56
|
Public mainnet `/info` reads at 09:44:22-09:44:24 UTC reproduced the report's liquidity and funding interpretation risks: `cash:INTC` returned `markPx` 141.02, `oraclePx` 112.988 and zero `dayNtlVlm`; the 09:00 UTC funding rows for `xyz:SNDK` and `io:SNDK` were 0.0000492661 and 0.0000091899. `xyz:INTC` changed funding sign between the 07:00, 08:00 and 09:00 UTC rows. These are dated observations, not current quotes, proof of mark staleness or return claims. No official stock close or external venue zero-rate semantics was independently established; the skill requires separate evidence for both. No account, key, signing or exchange action was used.
|
|
57
|
+
|
|
58
|
+
## Every-DEX account read - 2026-11-04
|
|
59
|
+
|
|
60
|
+
`scripts/account_read.py` follows the official [perpetuals info API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals) (`perpDexs`, `clearinghouseState` with its `dex` parameter, `meta`), [spot info API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot) (`spotClearinghouseState`, `spotMetaAndAssetCtxs`) and [account abstraction modes](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/account-abstraction-modes), which state that standard-mode spot and DEX balances are separate and that unified and portfolio-margin per-DEX user states are not meaningful. Public mainnet reads on 2026-11-04 confirmed eleven `perpDexs` entries starting with `null`, a per-DEX `collateralToken` in `meta` (USDC, USDE, USDT0 and USDH among them), a 500 response for an unknown DEX and non-USDC collateral pairs quoted in USDC. No address is committed; the regression fixtures are synthetic. Equity has not been compared with the Hyperliquid app for a live account. No key, signing or exchange action was used.
|
|
61
|
+
|
|
62
|
+
## Hyperliquid factual recheck - 2026-11-12
|
|
63
|
+
|
|
64
|
+
Rechecked the desk-quoted funding cap, mark-price inputs, market-order notionals and `predictedFundings` intervals against the official [funding](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/funding), [robust price indices](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/robust-price-indices) and [contract specifications](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/contract-specifications) pages, plus unsigned mainnet `POST /info` reads. No key, signing or exchange action was used. Earlier dated observations above are unchanged.
|
|
65
|
+
|
|
66
|
+
The funding page caps funding at 0.5% per hour and says the cap and interval do not depend on the asset. The API reference still said 4% per hour. `fundingHistory` for `INIT` from 2026-10-25 through this read returned 434 hourly rows, minimum -0.005, maximum 0.0000125, with the absolute value touching 0.005 and never exceeding it. That matches the published cap for this window. It does not prove older history never exceeded it.
|
|
67
|
+
|
|
68
|
+
Mark price is the median of three inputs: the oracle plus a 150-second EMA of (Hyperliquid mid minus oracle); the median of best bid, best ask and last trade; and the median of Binance, OKX, Bybit, Gate IO and MEXC perp mids with weights 3, 2, 2, 1 and 1. When exactly two of those inputs exist, the 30-second EMA of the Hyperliquid median is added. The second input is not the book mid. Mark price is used for margining, liquidation, unrealized PnL and TP/SL.
|
|
69
|
+
|
|
70
|
+
Maximum market-order notional is $30,000,000 when max leverage is at least 25, $5,000,000 for [20, 25), $2,000,000 for [10, 20), and otherwise $500,000. Limit orders are 10 times that. The previous parenthetical named only the top and bottom bands.
|
|
71
|
+
|
|
72
|
+
`predictedFundings` is documented for the first perp dex and still returns `BinPerp`, `HlPerp`, `BybitPerp`. On this read every `HlPerp` interval was 1 (235 coins). BinPerp intervals were 4h for 125, 8h for 63 and 1h for 1, with 21 payloads omitting `fundingIntervalHours` and 25 null. BybitPerp intervals were 4h for 118, 8h for 67 and 1h for 1, with 49 null and none omitting the field. The 1h coin was `INIT` on both CEX venues. BTC, ETH and DOGE were 8h on both. `IP`, `MKR` and `TON` still omitted the BinPerp field; their BybitPerp slot was null. The 2026-08-28 counts in the market-data skill stay as that day's census.
|
|
@@ -60,7 +60,7 @@ python3 scripts/research_dataset.py \
|
|
|
60
60
|
| `unavailable` | A source or validation failure prevents a trustworthy requested dataset | `1` |
|
|
61
61
|
| Invalid arguments or failed verification | The requested operation did not pass | `2` for arguments; `1` for verification |
|
|
62
62
|
|
|
63
|
-
An internally consistent incomplete bundle remains incomplete after verification. Check the process exit code and reported result; the presence of files is not success. A failure before a bundle can be written may return only a diagnostic, so retain that output too.
|
|
63
|
+
An internally consistent incomplete bundle remains incomplete after verification. Check the process exit code and reported result; the presence of files is not success. A failure before a bundle can be written may return only a diagnostic, so retain that output too. A write error after the output directory is reserved exits 1 (`output_unavailable`).
|
|
64
64
|
|
|
65
65
|
Hashes and replay verify **internal consistency**, not independent provenance. Someone able to rewrite all files can manufacture a consistent bundle. Preserve the manifest's hash in a separate run record if later accidental changes need to be detectable, and keep source trust separate from local integrity.
|
|
66
66
|
|
package/docs/STOP_COST.md
CHANGED
|
@@ -6,7 +6,7 @@ A stop is a trigger, not a fill. When it fires it becomes a market order: a long
|
|
|
6
6
|
|
|
7
7
|
## Run it
|
|
8
8
|
|
|
9
|
-
From the root of a checkout
|
|
9
|
+
From the root of a checkout, with Python 3's standard library:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
python3 scripts/stop_cost.py --coin ETH --entry 3000 --stop 2900 --equity 10200 --risk-pct 0.5
|
|
@@ -19,7 +19,7 @@ Then start with the desk's operating model:
|
|
|
19
19
|
|
|
20
20
|
## What loads
|
|
21
21
|
|
|
22
|
-
+ **Seventeen skills**: Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
22
|
+
+ **Seventeen skills**: the bootstrap, Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the operating model, the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
23
23
|
+ **Seven roles as subagents** from `agents/`: Desk Lead, Market Analyst, Research Analyst, Strategist, Risk Manager, Execution Trader and Trade Reviewer. Only the Execution Trader writes to the exchange.
|
|
24
24
|
+ **The desk process** from `desk-operating-model`: load it before delegating work. The repository's `rules/` directory is declared for Cursor; Claude Code does not automatically load it as a plugin component.
|
|
25
25
|
+ **An exchange-write hook.** Claude Code asks for confirmation when a Bash command or a named script matches a Hyperliquid write. The hook does not follow imports or cover every possible route, and it cannot bind a send to a ticket. It supplements the ticket process and verified native approval coverage.
|
|
@@ -29,7 +29,7 @@ Then start with the desk's operating model:
|
|
|
29
29
|
Ask the desk for a market brief, for example "Brief me on ETH". The reads use Hyperliquid's public `/info` endpoint, with no wallet or account. The same read works from a terminal:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
git clone --depth 1 --branch v1.7.
|
|
32
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
33
33
|
cd hypergrok-trading-desk
|
|
34
34
|
python3 scripts/opening_bell.py --coin ETH
|
|
35
35
|
```
|
|
@@ -15,7 +15,7 @@ Load `desk-operating-model` before asking the roles to act.
|
|
|
15
15
|
|
|
16
16
|
## What loads
|
|
17
17
|
|
|
18
|
-
+ **Seventeen skills**: Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
18
|
+
+ **Seventeen skills**: the bootstrap, Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the operating model, the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
19
19
|
+ **Roles as labelled passes.** This plugin's Codex entry installs skills without registering `agents/` as native subagents. Run the seven roles as labelled passes using each role's system prompt. Only the Execution Trader pass writes to the exchange.
|
|
20
20
|
|
|
21
21
|
The Claude Code exchange-write hook does not load in Codex. The desk's approval by ticket id still applies.
|
|
@@ -25,7 +25,7 @@ The Claude Code exchange-write hook does not load in Codex. The desk's approval
|
|
|
25
25
|
Ask for a market brief, for example "Brief me on ETH". The reads use Hyperliquid's public `/info` endpoint, with no wallet or account. The same read works from a terminal:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
git clone --depth 1 --branch v1.7.
|
|
28
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
29
29
|
cd hypergrok-trading-desk
|
|
30
30
|
python3 scripts/opening_bell.py --coin ETH
|
|
31
31
|
```
|
|
@@ -7,7 +7,7 @@ HyperGrok turns Cursor into a Hyperliquid trading desk: seven roles and seventee
|
|
|
7
7
|
Clone the reviewed release:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
git clone --depth 1 --branch v1.7.
|
|
10
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Open the `hypergrok-trading-desk` folder in Cursor and enable the plugin; `.cursor-plugin/plugin.json` points it at the skills, roles and rules. The plugin is also listed on [cursor.directory](https://cursor.directory/plugins/hypergrok).
|
|
@@ -16,7 +16,7 @@ Load `desk-operating-model` before asking the roles to act.
|
|
|
16
16
|
|
|
17
17
|
## What loads
|
|
18
18
|
|
|
19
|
-
+ **Seventeen skills**: Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
19
|
+
+ **Seventeen skills**: the bootstrap, Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the operating model, the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
20
20
|
+ **Seven roles** from `agents/`: Desk Lead, Market Analyst, Research Analyst, Strategist, Risk Manager, Execution Trader and Trade Reviewer. Only the Execution Trader writes to the exchange.
|
|
21
21
|
+ **The desk rule** from `rules/hypergrok-team.mdc`: analysis is not approval, and a send needs your exact approval phrase with the ticket id.
|
|
22
22
|
|
|
@@ -14,7 +14,7 @@ Load `desk-operating-model` before asking the roles to act.
|
|
|
14
14
|
|
|
15
15
|
## What loads
|
|
16
16
|
|
|
17
|
-
+ **Seventeen skills**: Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
17
|
+
+ **Seventeen skills**: the bootstrap, Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the operating model, the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
18
18
|
+ **`GEMINI.md`**, loaded every session. It names the roles and repeats the desk rule's approval paragraph word for word: analysis is not approval, and a send needs your exact approval phrase with the ticket id.
|
|
19
19
|
+ **Roles as labelled passes.** This extension does not register the role files as native subagents. Run the seven roles in `agents/` as labelled passes using their system prompts. Only the Execution Trader pass writes to the exchange.
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ The Claude Code exchange-write hook does not load in Gemini CLI.
|
|
|
25
25
|
Ask for a market brief, for example "Brief me on ETH". The reads use Hyperliquid's public `/info` endpoint, with no wallet or account. The same read works from a terminal:
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
git clone --depth 1 --branch v1.7.
|
|
28
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
29
29
|
cd hypergrok-trading-desk
|
|
30
30
|
python3 scripts/opening_bell.py --coin ETH
|
|
31
31
|
```
|
|
@@ -7,7 +7,7 @@ HyperGrok turns Grok Build into a Hyperliquid trading desk: seven roles and seve
|
|
|
7
7
|
Install the reviewed release:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
grok plugin install galleonlabs/hypergrok-trading-desk@v1.7.
|
|
10
|
+
grok plugin install galleonlabs/hypergrok-trading-desk@v1.7.2 --trust
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Or register this repository's Grok marketplace, which pins the same release, and install by name:
|
|
@@ -17,13 +17,13 @@ grok plugin marketplace add galleonlabs/hypergrok-trading-desk
|
|
|
17
17
|
grok plugin install hypergrok --trust
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
The installation format was tested with Grok Build 1.0.30 for an earlier release
|
|
20
|
+
The installation format was tested with Grok Build 1.0.30 for an earlier release. A native installation of the current release has not been verified.
|
|
21
21
|
|
|
22
22
|
Load `desk-operating-model` before asking the roles to act.
|
|
23
23
|
|
|
24
24
|
## What loads
|
|
25
25
|
|
|
26
|
-
+ **Seventeen skills**: Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
26
|
+
+ **Seventeen skills**: the bootstrap, Hyperliquid setup, market data, account state, orders, positions, WebSocket feeds, advanced actions and a compact API reference, plus the desk skills for the operating model, the trade lifecycle, risk limits and sizing, execution, monitoring, post-trade review, incidents and the strategy lab.
|
|
27
27
|
+ **Seven roles** from `agents/`: Desk Lead, Market Analyst, Research Analyst, Strategist, Risk Manager, Execution Trader and Trade Reviewer. Only the Execution Trader writes to the exchange.
|
|
28
28
|
|
|
29
29
|
Grok Build reports the skills and agents directories; loading `rules/` is not verified, and the Claude Code exchange-write hook does not load. The desk's approval by ticket id still applies.
|
|
@@ -33,7 +33,7 @@ Grok Build reports the skills and agents directories; loading `rules/` is not ve
|
|
|
33
33
|
Ask for a market brief, for example "Brief me on ETH". The reads use Hyperliquid's public `/info` endpoint, with no wallet or account. The same read works from a terminal:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
git clone --depth 1 --branch v1.7.
|
|
36
|
+
git clone --depth 1 --branch v1.7.2 https://github.com/galleonlabs/hypergrok-trading-desk.git
|
|
37
37
|
cd hypergrok-trading-desk
|
|
38
38
|
python3 scripts/opening_bell.py --coin ETH
|
|
39
39
|
```
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hypergrok",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Hyperliquid trading desk skills for research, risk, execution and review: seventeen skills and the desk approval rule. Starts on public market data; a trade needs a Risk PASS and your approval by ticket id.",
|
|
5
5
|
"contextFileName": "GEMINI.md"
|
|
6
6
|
}
|