openbroker 1.9.6 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,25 @@ All notable changes to Open Broker will be documented in this file.
7
7
  ### Added
8
8
  - Added an allowlisted `openbroker install <package>` command for optional companion packages, initially supporting `monitoring` (`openbroker-monitoring`) and `extended` (`openbroker-extended`). Re-running installs the latest release; `--tag`, `--dry`, and `--list` are supported.
9
9
 
10
+ ## [1.10.0] - 2026-07-03
11
+
12
+ Ported the advanced-execution fixes validated in the trading panel review (`openbroker-landing/ADVANCED_EXECUTIONS_REVIEW.md`) to the CLI.
13
+
14
+ ### Changed
15
+ - **Stop losses default to market triggers.** `client.stopLoss`, `bracket`, `set-tpsl`, and `trigger-order --type sl` now place the SL with `isMarket: true` — the limit price only caps the fill `--sl-slippage` bps past the trigger. A stop-limit SL can be gapped over and leave the position unprotected; the old behavior is available via `--sl-limit` / `trigger-order --exec limit` (CLI) or `isMarket: false` (library). `client.triggerOrder` gained the trailing `isMarket` parameter (default `false`, unchanged).
16
+ - **`set-tpsl` places one `positionTpsl` batch** instead of two independent triggers: the venue ties TP/SL to the open position and OCO-cancels the survivor when one fires. Wrong-side triggers (e.g. a long TP below the live price) are now hard errors instead of warnings — the exchange fires those immediately on placement.
17
+ - **`bracket` post-fill exits use `positionTpsl`** (triggers track the position) instead of a standalone `normalTpsl` pair, are re-validated against the actual fill price, and a fill that drifts past a fixed target is reported instead of silently arming a broken bracket. `client.tpslPair` now delegates to `tpslOrders` with these defaults.
18
+ - **`chase` survives fast markets and never strands orders:** a post-only rejection ("would have immediately matched") reprices on the next tick instead of aborting; transient `allMids` failures retry instead of throwing; the cleanup cancel moved into a `finally` so any error still pulls the resting quote; hard order rejections now throw instead of looping silently.
19
+ - **`twap` validates slice notional:** native TWAP fires a sub-order every 30s, and each slice must clear the $10 exchange minimum (waived for reduce-only) — checked in both the script and `client.twapOrder`, which also enforces the 5–1440 minute bounds.
20
+
21
+ ### Added
22
+ - `client.tpslOrders(coin, exitIsBuy, size, opts)` — TP and/or SL triggers in one batch with `positionTpsl` (default) or `normalTpsl` grouping, market or stop-limit SL, one-sided support.
23
+ - `client.bracketOrder(coin, isBuy, size, entryPrice, opts)` — atomic limit entry + TP/SL children in one `normalTpsl` batch; the exchange arms the exits on fill (children return `"waitingForFill"`), so the bracket survives the process exiting.
24
+ - `bracket` limit entries use the atomic batch by default (`--no-atomic` restores the fill-watch path), support one-sided TP-only/SL-only brackets, absolute targets via `--tp-price`/`--sl-price`, and validate targets (direction vs entry, SL% < 100) before any order goes out.
25
+ - $10 min-notional pre-checks: thinnest `scale` level, `twap` slices, `chase` start size and dust remainder (chase stops with status `min_notional` instead of erroring on every tick). All are waived for reduce-only and downgraded to warnings under `--dry`.
26
+ - `parseOrderStatus` / `MIN_ORDER_NOTIONAL_USD` exported from the library; the parser understands the plain-string `"waitingForFill"` / `"waitingForTrigger"` success statuses `normalTpsl` children return behind an unfilled parent.
27
+ - `BracketClient` now requires `tpslOrders`, `bracketOrder`, and `cancel` (replacing `tpslPair`); `BracketResult` gains the `armed` status for atomically placed, not-yet-filled brackets.
28
+
10
29
  ## [1.9.3] - 2026-06-23
11
30
 
12
31
  ### Changed
package/SKILL.md CHANGED
@@ -37,7 +37,7 @@ command -v openbroker
37
37
  openbroker --version
38
38
  ```
39
39
 
40
- Require OpenBroker 1.9.1 or newer. When the user explicitly asks to set up OpenBroker, install or upgrade the CLI as part of that request, using the normal approval flow for global or network writes:
40
+ Require OpenBroker 1.10.0 or newer (earlier versions lack the current TP/SL and bracket flags documented here). When the user explicitly asks to set up OpenBroker, install or upgrade the CLI as part of that request, using the normal approval flow for global or network writes:
41
41
 
42
42
  ```bash
43
43
  npm install -g openbroker@latest
@@ -143,8 +143,8 @@ Shared perp order flags:
143
143
  | `buy`, `sell` | Market shortcuts: `openbroker buy --coin ETH --size 0.1` |
144
144
  | `market` | Explicit market order with `--side` |
145
145
  | `limit` | Add `--price` and optional `--tif GTC|IOC|ALO` |
146
- | `trigger` | Add `--trigger`, `--type tp|sl`, optional `--limit` |
147
- | `tpsl` | Protect an existing position with `--tp` and/or `--sl`; accepts absolute, `%`, or `entry` forms |
146
+ | `trigger` | Add `--trigger`, `--type tp|sl`, optional `--limit` and `--exec market|limit` (SL executes as market by default) |
147
+ | `tpsl` | Protect an existing position with `--tp` and/or `--sl`; accepts absolute, `%`, or `entry` forms. Placed as one `positionTpsl` batch: triggers track the position and OCO-cancel each other. `--sl-limit` for a stop-limit SL |
148
148
  | `cancel` | `--all`, `--coin`, or `--oid` |
149
149
 
150
150
  ### Spot and HIP-4 outcome trading
@@ -162,9 +162,18 @@ Shared perp order flags:
162
162
  | `twap-cancel` | Stop a TWAP | `--coin`, `--twap-id` |
163
163
  | `twap-status` | Inspect TWAPs | `--active` |
164
164
  | `scale` | Multi-level ladder | `--levels`, `--range`, `--distribution linear|exponential|flat`, `--tif` |
165
- | `bracket` | Entry + linked TP/SL | `--entry market|limit`, `--price`, `--tp`, `--sl`, `--entry-timeout`, `--sl-slippage` |
165
+ | `bracket` | Entry + linked TP/SL (one-sided TP-only or SL-only allowed) | `--entry market|limit`, `--price`, `--tp`/`--sl` (% from entry), `--tp-price`/`--sl-price` (absolute), `--sl-slippage`, `--sl-limit`, `--no-atomic`, `--entry-timeout` (only with `--no-atomic`) |
166
166
  | `chase` | Repriced ALO order | `--offset`, `--timeout`, `--interval`, `--max-chase` |
167
167
 
168
+ TP/SL and execution semantics (v1.10.0+):
169
+
170
+ - **SL triggers execute as market orders by default.** The fill is capped `--sl-slippage` bps past the trigger (default 100). `--sl-limit` (or `trigger --exec limit`) places a stop-limit instead — warn the user that a gap move past the limit band can skip the stop and leave the position unprotected.
171
+ - **Bracket limit entries are atomic.** Entry + TP/SL go out in one `normalTpsl` batch; the exchange arms the exits when the entry fills, so the bracket survives the CLI exiting. Child statuses `waitingForFill` / `waitingForTrigger` are success states, not errors. With `--no-atomic`, the CLI instead waits up to `--entry-timeout` for the fill, then arms TP/SL sized to the actual filled size.
172
+ - **Market-entry brackets fill first**, then arm TP/SL off the actual average fill price with `positionTpsl` grouping (triggers track the position, OCO between themselves).
173
+ - **Wrong-side triggers are rejected**, not warned: a long TP at or below the live price (or SL at or above it) would fire immediately, so `tpsl` errors out instead of placing it.
174
+ - **$10 exchange minimum pre-checks** (waived for reduce-only): every `scale` level, every `twap` slice (one sub-order per 30s of duration), and the `chase` start size must clear ~$10 notional. Live runs error out; `--dry` shows a warning. A chase whose remainder falls below the minimum stops with status `min_notional`.
175
+ - **`chase` runs client-side** and keeps repricing in the foreground process; keep it running or the resting order stops being managed (it cancels its working order on exit, including on errors). Post-only rejections reprice automatically on the next tick. `twap` is exchange-managed and keeps running after the CLI exits.
176
+
168
177
  ## High-signal workflows
169
178
 
170
179
  Inspect before trading:
@@ -672,22 +672,76 @@ export declare class HyperliquidClient {
672
672
  * @param limitPrice - Limit price for the order (use triggerPrice for market-like execution)
673
673
  * @param tpsl - 'tp' for take profit, 'sl' for stop loss
674
674
  * @param reduceOnly - Whether order is reduce-only (should be true for TP/SL)
675
+ * @param isMarket - Execute as a market trigger on fire; limitPrice then only
676
+ * caps the fill (slippage band) instead of resting on the book
675
677
  */
676
- triggerOrder(coin: string, isBuy: boolean, size: number, triggerPrice: number, limitPrice: number, tpsl: 'tp' | 'sl', reduceOnly?: boolean, leverage?: number): Promise<OrderResponse>;
678
+ triggerOrder(coin: string, isBuy: boolean, size: number, triggerPrice: number, limitPrice: number, tpsl: 'tp' | 'sl', reduceOnly?: boolean, leverage?: number, isMarket?: boolean): Promise<OrderResponse>;
677
679
  /**
678
- * Place a stop loss order
680
+ * Place a stop loss order.
681
+ *
682
+ * Executes as a market trigger by default: in a gap move that jumps past the
683
+ * trigger, a stop-limit's band can be skipped entirely and the position sits
684
+ * unprotected — the exact scenario an SL exists for. The limit price still
685
+ * caps the fill at `slippageBps` past the trigger. Pass `isMarket: false`
686
+ * for the stop-limit variant (rests at the band price once triggered).
679
687
  */
680
- stopLoss(coin: string, isBuy: boolean, size: number, triggerPrice: number, slippageBps?: number): Promise<OrderResponse>;
688
+ stopLoss(coin: string, isBuy: boolean, size: number, triggerPrice: number, slippageBps?: number, // 1% slippage cap for SL execution
689
+ isMarket?: boolean): Promise<OrderResponse>;
681
690
  /**
682
691
  * Place a take profit order
683
692
  */
684
693
  takeProfit(coin: string, isBuy: boolean, size: number, triggerPrice: number): Promise<OrderResponse>;
685
694
  /**
686
- * Place a paired TP/SL trigger set using Hyperliquid's normalTpsl grouping.
687
- * The two orders are submitted together so the venue treats them as a linked
688
- * bracket pair instead of two unrelated reduce-only triggers.
695
+ * Place TP and/or SL triggers for an open position in one batch.
696
+ *
697
+ * Defaults to Hyperliquid's `positionTpsl` grouping: the triggers are tied
698
+ * to the open position (cancelled when it closes, OCO between themselves)
699
+ * — the same mechanism the Hyperliquid frontend uses for position TP/SL.
700
+ * `normalTpsl` is available for a standalone OCO pair not bound to the
701
+ * position. SL executes as a market trigger by default with the limit price
702
+ * capping the fill `slSlippageBps` past the trigger (see `stopLoss`).
703
+ *
704
+ * `isBuy` is the EXIT side (opposite of the position direction). Statuses
705
+ * in the response align with the orders sent: TP first (when present),
706
+ * then SL.
707
+ */
708
+ tpslOrders(coin: string, isBuy: boolean, size: number, opts?: {
709
+ takeProfitPrice?: number;
710
+ stopLossPrice?: number;
711
+ stopLossSlippageBps?: number;
712
+ /** SL fires as a market trigger (default true); false = stop-limit. */
713
+ stopLossIsMarket?: boolean;
714
+ grouping?: 'positionTpsl' | 'normalTpsl';
715
+ leverage?: number;
716
+ }): Promise<OrderResponse>;
717
+ /**
718
+ * Place a paired TP/SL trigger set for an open position.
719
+ *
720
+ * Back-compat wrapper over `tpslOrders`. Since v1.10.0 this uses the
721
+ * `positionTpsl` grouping (triggers track the open position and OCO-cancel)
722
+ * instead of a standalone `normalTpsl` pair, and the SL fires as a market
723
+ * trigger capped by the slippage band instead of a stop-limit.
689
724
  */
690
725
  tpslPair(coin: string, isBuy: boolean, size: number, takeProfitPrice: number, stopLossPrice: number, stopLossSlippageBps?: number, leverage?: number): Promise<OrderResponse>;
726
+ /**
727
+ * Atomic bracket: a limit entry with TP/SL children in one `normalTpsl`
728
+ * batch — exactly how the Hyperliquid frontend does order-attached TP/SL.
729
+ * The children arm only when the entry fills and are sized to it; their
730
+ * statuses come back as the plain strings "waitingForFill" /
731
+ * "waitingForTrigger" (parse with `parseOrderStatus`).
732
+ *
733
+ * `isBuy` is the ENTRY side; exits are placed on the opposite side,
734
+ * reduce-only. Statuses align with [entry, tp?, sl?].
735
+ */
736
+ bracketOrder(coin: string, isBuy: boolean, size: number, entryPrice: number, opts?: {
737
+ entryTif?: 'Gtc' | 'Alo';
738
+ takeProfitPrice?: number;
739
+ stopLossPrice?: number;
740
+ stopLossSlippageBps?: number;
741
+ /** SL fires as a market trigger (default true); false = stop-limit. */
742
+ stopLossIsMarket?: boolean;
743
+ leverage?: number;
744
+ }): Promise<OrderResponse>;
691
745
  cancel(coin: string, oid: number): Promise<CancelResponse>;
692
746
  /**
693
747
  * Cancel MANY resting orders in a SINGLE exchange request (one action-rate request for ≤40 cancels),
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../scripts/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../scripts/core/client.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  import { HttpTransport, InfoClient, ExchangeClient } from '@nktkas/hyperliquid';
4
4
  import { privateKeyToAccount } from 'viem/accounts';
5
5
  import { loadConfig, isMainnet } from './config.js';
6
- import { roundPrice, roundSize } from './utils.js';
6
+ import { MIN_ORDER_NOTIONAL_USD, roundPrice, roundSize } from './utils.js';
7
7
  export class HyperliquidClient {
8
8
  config;
9
9
  account;
@@ -1877,8 +1877,10 @@ export class HyperliquidClient {
1877
1877
  * @param limitPrice - Limit price for the order (use triggerPrice for market-like execution)
1878
1878
  * @param tpsl - 'tp' for take profit, 'sl' for stop loss
1879
1879
  * @param reduceOnly - Whether order is reduce-only (should be true for TP/SL)
1880
+ * @param isMarket - Execute as a market trigger on fire; limitPrice then only
1881
+ * caps the fill (slippage band) instead of resting on the book
1880
1882
  */
1881
- async triggerOrder(coin, isBuy, size, triggerPrice, limitPrice, tpsl, reduceOnly = true, leverage) {
1883
+ async triggerOrder(coin, isBuy, size, triggerPrice, limitPrice, tpsl, reduceOnly = true, leverage, isMarket = false) {
1882
1884
  await this.requireTrading();
1883
1885
  await this.getMetaAndAssetCtxs();
1884
1886
  // Set leverage if specified (for main perps)
@@ -1890,9 +1892,8 @@ export class HyperliquidClient {
1890
1892
  await this.ensureHip3Ready(coin, size * limitPrice, leverage);
1891
1893
  const assetIndex = this.getAssetIndex(coin);
1892
1894
  const szDecimals = this.getSzDecimals(coin);
1893
- // For trigger orders, we use the trigger order type
1894
- // isMarket: false means it becomes a limit order at limitPrice when triggered
1895
- // For stop loss, we typically want some slippage protection
1895
+ // isMarket: true fires as a market order capped by limitPrice (slippage band);
1896
+ // isMarket: false rests as a limit order at limitPrice once triggered.
1896
1897
  const orderWire = {
1897
1898
  a: assetIndex,
1898
1899
  b: isBuy,
@@ -1902,7 +1903,7 @@ export class HyperliquidClient {
1902
1903
  t: {
1903
1904
  trigger: {
1904
1905
  triggerPx: roundPrice(triggerPrice, szDecimals),
1905
- isMarket: false,
1906
+ isMarket,
1906
1907
  tpsl,
1907
1908
  },
1908
1909
  },
@@ -1931,17 +1932,23 @@ export class HyperliquidClient {
1931
1932
  }
1932
1933
  }
1933
1934
  /**
1934
- * Place a stop loss order
1935
+ * Place a stop loss order.
1936
+ *
1937
+ * Executes as a market trigger by default: in a gap move that jumps past the
1938
+ * trigger, a stop-limit's band can be skipped entirely and the position sits
1939
+ * unprotected — the exact scenario an SL exists for. The limit price still
1940
+ * caps the fill at `slippageBps` past the trigger. Pass `isMarket: false`
1941
+ * for the stop-limit variant (rests at the band price once triggered).
1935
1942
  */
1936
- async stopLoss(coin, isBuy, size, triggerPrice, slippageBps = 100 // 1% slippage for SL execution
1937
- ) {
1938
- // For stop loss, limit price should be worse than trigger to ensure fill
1943
+ async stopLoss(coin, isBuy, size, triggerPrice, slippageBps = 100, // 1% slippage cap for SL execution
1944
+ isMarket = true) {
1945
+ // Limit price sits worse than trigger to ensure fill
1939
1946
  // Buy SL: limit above trigger, Sell SL: limit below trigger
1940
1947
  const slippageMult = slippageBps / 10000;
1941
1948
  const limitPrice = isBuy
1942
1949
  ? triggerPrice * (1 + slippageMult)
1943
1950
  : triggerPrice * (1 - slippageMult);
1944
- return this.triggerOrder(coin, isBuy, size, triggerPrice, limitPrice, 'sl', true);
1951
+ return this.triggerOrder(coin, isBuy, size, triggerPrice, limitPrice, 'sl', true, undefined, isMarket);
1945
1952
  }
1946
1953
  /**
1947
1954
  * Place a take profit order
@@ -1951,11 +1958,27 @@ export class HyperliquidClient {
1951
1958
  return this.triggerOrder(coin, isBuy, size, triggerPrice, triggerPrice, 'tp', true);
1952
1959
  }
1953
1960
  /**
1954
- * Place a paired TP/SL trigger set using Hyperliquid's normalTpsl grouping.
1955
- * The two orders are submitted together so the venue treats them as a linked
1956
- * bracket pair instead of two unrelated reduce-only triggers.
1961
+ * Place TP and/or SL triggers for an open position in one batch.
1962
+ *
1963
+ * Defaults to Hyperliquid's `positionTpsl` grouping: the triggers are tied
1964
+ * to the open position (cancelled when it closes, OCO between themselves)
1965
+ * — the same mechanism the Hyperliquid frontend uses for position TP/SL.
1966
+ * `normalTpsl` is available for a standalone OCO pair not bound to the
1967
+ * position. SL executes as a market trigger by default with the limit price
1968
+ * capping the fill `slSlippageBps` past the trigger (see `stopLoss`).
1969
+ *
1970
+ * `isBuy` is the EXIT side (opposite of the position direction). Statuses
1971
+ * in the response align with the orders sent: TP first (when present),
1972
+ * then SL.
1957
1973
  */
1958
- async tpslPair(coin, isBuy, size, takeProfitPrice, stopLossPrice, stopLossSlippageBps = 100, leverage) {
1974
+ async tpslOrders(coin, isBuy, size, opts = {}) {
1975
+ const { takeProfitPrice, stopLossPrice, leverage } = opts;
1976
+ const stopLossSlippageBps = opts.stopLossSlippageBps ?? 100;
1977
+ const stopLossIsMarket = opts.stopLossIsMarket ?? true;
1978
+ const grouping = opts.grouping ?? 'positionTpsl';
1979
+ if (takeProfitPrice === undefined && stopLossPrice === undefined) {
1980
+ throw new Error('tpslOrders requires takeProfitPrice, stopLossPrice, or both');
1981
+ }
1959
1982
  await this.requireTrading();
1960
1983
  await this.getMetaAndAssetCtxs();
1961
1984
  if (leverage && !this.isHip3(coin)) {
@@ -1963,15 +1986,19 @@ export class HyperliquidClient {
1963
1986
  await this.updateLeverage(coin, leverage, true);
1964
1987
  }
1965
1988
  const slippageMult = stopLossSlippageBps / 10000;
1966
- const stopLossLimitPrice = isBuy
1967
- ? stopLossPrice * (1 + slippageMult)
1968
- : stopLossPrice * (1 - slippageMult);
1969
- await this.ensureHip3Ready(coin, size * Math.max(takeProfitPrice, stopLossLimitPrice), leverage);
1989
+ const stopLossLimitPrice = stopLossPrice === undefined
1990
+ ? undefined
1991
+ : isBuy
1992
+ ? stopLossPrice * (1 + slippageMult)
1993
+ : stopLossPrice * (1 - slippageMult);
1994
+ const worstPrice = Math.max(takeProfitPrice ?? 0, stopLossLimitPrice ?? 0);
1995
+ await this.ensureHip3Ready(coin, size * worstPrice, leverage);
1970
1996
  const assetIndex = this.getAssetIndex(coin);
1971
1997
  const szDecimals = this.getSzDecimals(coin);
1972
1998
  const roundedSize = roundSize(size, szDecimals);
1973
- const orderWires = [
1974
- {
1999
+ const orderWires = [];
2000
+ if (takeProfitPrice !== undefined) {
2001
+ orderWires.push({
1975
2002
  a: assetIndex,
1976
2003
  b: isBuy,
1977
2004
  p: roundPrice(takeProfitPrice, szDecimals),
@@ -1984,8 +2011,10 @@ export class HyperliquidClient {
1984
2011
  tpsl: 'tp',
1985
2012
  },
1986
2013
  },
1987
- },
1988
- {
2014
+ });
2015
+ }
2016
+ if (stopLossPrice !== undefined) {
2017
+ orderWires.push({
1989
2018
  a: assetIndex,
1990
2019
  b: isBuy,
1991
2020
  p: roundPrice(stopLossLimitPrice, szDecimals),
@@ -1994,12 +2023,126 @@ export class HyperliquidClient {
1994
2023
  t: {
1995
2024
  trigger: {
1996
2025
  triggerPx: roundPrice(stopLossPrice, szDecimals),
1997
- isMarket: false,
2026
+ isMarket: stopLossIsMarket,
1998
2027
  tpsl: 'sl',
1999
2028
  },
2000
2029
  },
2030
+ });
2031
+ }
2032
+ const orderRequest = {
2033
+ orders: orderWires,
2034
+ grouping,
2035
+ };
2036
+ if (!this.isTestnet && this.config.builderAddress !== '0x0000000000000000000000000000000000000000') {
2037
+ orderRequest.builder = this.builderInfo;
2038
+ this.log('Including builder fee:', this.builderInfo);
2039
+ }
2040
+ try {
2041
+ const response = await this.exchange.order(orderRequest, this.vaultParam);
2042
+ this.log('TP/SL orders response:', JSON.stringify(response, null, 2));
2043
+ return response;
2044
+ }
2045
+ catch (error) {
2046
+ this.log('TP/SL orders error:', error);
2047
+ return {
2048
+ status: 'err',
2049
+ response: error instanceof Error ? error.message : String(error),
2050
+ };
2051
+ }
2052
+ }
2053
+ /**
2054
+ * Place a paired TP/SL trigger set for an open position.
2055
+ *
2056
+ * Back-compat wrapper over `tpslOrders`. Since v1.10.0 this uses the
2057
+ * `positionTpsl` grouping (triggers track the open position and OCO-cancel)
2058
+ * instead of a standalone `normalTpsl` pair, and the SL fires as a market
2059
+ * trigger capped by the slippage band instead of a stop-limit.
2060
+ */
2061
+ async tpslPair(coin, isBuy, size, takeProfitPrice, stopLossPrice, stopLossSlippageBps = 100, leverage) {
2062
+ return this.tpslOrders(coin, isBuy, size, {
2063
+ takeProfitPrice,
2064
+ stopLossPrice,
2065
+ stopLossSlippageBps,
2066
+ leverage,
2067
+ });
2068
+ }
2069
+ /**
2070
+ * Atomic bracket: a limit entry with TP/SL children in one `normalTpsl`
2071
+ * batch — exactly how the Hyperliquid frontend does order-attached TP/SL.
2072
+ * The children arm only when the entry fills and are sized to it; their
2073
+ * statuses come back as the plain strings "waitingForFill" /
2074
+ * "waitingForTrigger" (parse with `parseOrderStatus`).
2075
+ *
2076
+ * `isBuy` is the ENTRY side; exits are placed on the opposite side,
2077
+ * reduce-only. Statuses align with [entry, tp?, sl?].
2078
+ */
2079
+ async bracketOrder(coin, isBuy, size, entryPrice, opts = {}) {
2080
+ const { takeProfitPrice, stopLossPrice, leverage } = opts;
2081
+ const entryTif = opts.entryTif ?? 'Gtc';
2082
+ const stopLossSlippageBps = opts.stopLossSlippageBps ?? 100;
2083
+ const stopLossIsMarket = opts.stopLossIsMarket ?? true;
2084
+ if (takeProfitPrice === undefined && stopLossPrice === undefined) {
2085
+ throw new Error('bracketOrder requires takeProfitPrice, stopLossPrice, or both');
2086
+ }
2087
+ await this.requireTrading();
2088
+ await this.getMetaAndAssetCtxs();
2089
+ if (leverage && !this.isHip3(coin)) {
2090
+ this.log(`Setting leverage for ${coin} to ${leverage}x cross`);
2091
+ await this.updateLeverage(coin, leverage, true);
2092
+ }
2093
+ await this.ensureHip3Ready(coin, size * entryPrice, leverage);
2094
+ const assetIndex = this.getAssetIndex(coin);
2095
+ const szDecimals = this.getSzDecimals(coin);
2096
+ const roundedSize = roundSize(size, szDecimals);
2097
+ const exitBuy = !isBuy;
2098
+ const slippageMult = stopLossSlippageBps / 10000;
2099
+ const stopLossLimitPrice = stopLossPrice === undefined
2100
+ ? undefined
2101
+ : exitBuy
2102
+ ? stopLossPrice * (1 + slippageMult)
2103
+ : stopLossPrice * (1 - slippageMult);
2104
+ const orderWires = [
2105
+ {
2106
+ a: assetIndex,
2107
+ b: isBuy,
2108
+ p: roundPrice(entryPrice, szDecimals),
2109
+ s: roundedSize,
2110
+ r: false,
2111
+ t: { limit: { tif: entryTif } },
2001
2112
  },
2002
2113
  ];
2114
+ if (takeProfitPrice !== undefined) {
2115
+ orderWires.push({
2116
+ a: assetIndex,
2117
+ b: exitBuy,
2118
+ p: roundPrice(takeProfitPrice, szDecimals),
2119
+ s: roundedSize,
2120
+ r: true,
2121
+ t: {
2122
+ trigger: {
2123
+ triggerPx: roundPrice(takeProfitPrice, szDecimals),
2124
+ isMarket: false,
2125
+ tpsl: 'tp',
2126
+ },
2127
+ },
2128
+ });
2129
+ }
2130
+ if (stopLossPrice !== undefined) {
2131
+ orderWires.push({
2132
+ a: assetIndex,
2133
+ b: exitBuy,
2134
+ p: roundPrice(stopLossLimitPrice, szDecimals),
2135
+ s: roundedSize,
2136
+ r: true,
2137
+ t: {
2138
+ trigger: {
2139
+ triggerPx: roundPrice(stopLossPrice, szDecimals),
2140
+ isMarket: stopLossIsMarket,
2141
+ tpsl: 'sl',
2142
+ },
2143
+ },
2144
+ });
2145
+ }
2003
2146
  const orderRequest = {
2004
2147
  orders: orderWires,
2005
2148
  grouping: 'normalTpsl',
@@ -2010,11 +2153,11 @@ export class HyperliquidClient {
2010
2153
  }
2011
2154
  try {
2012
2155
  const response = await this.exchange.order(orderRequest, this.vaultParam);
2013
- this.log('TP/SL pair response:', JSON.stringify(response, null, 2));
2156
+ this.log('Bracket order response:', JSON.stringify(response, null, 2));
2014
2157
  return response;
2015
2158
  }
2016
2159
  catch (error) {
2017
- this.log('TP/SL pair error:', error);
2160
+ this.log('Bracket order error:', error);
2018
2161
  return {
2019
2162
  status: 'err',
2020
2163
  response: error instanceof Error ? error.message : String(error),
@@ -2341,6 +2484,27 @@ export class HyperliquidClient {
2341
2484
  */
2342
2485
  async twapOrder(coin, isBuy, size, durationMinutes, randomize = true, reduceOnly = false, leverage) {
2343
2486
  await this.getMetaAndAssetCtxs();
2487
+ if (!Number.isFinite(durationMinutes) || durationMinutes < 5 || durationMinutes > 1440) {
2488
+ throw new Error('TWAP duration must be between 5 and 1440 minutes');
2489
+ }
2490
+ // Native TWAP fires a sub-order every 30s; each must clear the exchange
2491
+ // minimum notional or the venue silently skips slices.
2492
+ if (!reduceOnly) {
2493
+ try {
2494
+ const mid = parseFloat((await this.getAllMids())[coin]);
2495
+ if (Number.isFinite(mid) && mid > 0) {
2496
+ const perSlice = (size * mid) / Math.max(1, Math.round(durationMinutes) * 2);
2497
+ if (perSlice < MIN_ORDER_NOTIONAL_USD) {
2498
+ throw new Error(`TWAP slices of ~$${perSlice.toFixed(2)} fall below the $${MIN_ORDER_NOTIONAL_USD} exchange minimum — shorten the duration or increase the size`);
2499
+ }
2500
+ }
2501
+ }
2502
+ catch (error) {
2503
+ if (error instanceof Error && error.message.includes('exchange minimum'))
2504
+ throw error;
2505
+ this.log('TWAP min-notional pre-check skipped (no mid available):', error);
2506
+ }
2507
+ }
2344
2508
  if (leverage) {
2345
2509
  await this.updateLeverage(coin, leverage);
2346
2510
  }
@@ -45,6 +45,35 @@ export declare function normalizeCoin(coin: string): string;
45
45
  * Sleep for specified milliseconds
46
46
  */
47
47
  export declare function sleep(ms: number): Promise<void>;
48
+ /** Hyperliquid rejects orders below this notional (waived for reduce-only). */
49
+ export declare const MIN_ORDER_NOTIONAL_USD = 10;
50
+ export type ParsedOrderStatus = {
51
+ kind: 'resting';
52
+ oid: number;
53
+ } | {
54
+ kind: 'filled';
55
+ totalSz: number;
56
+ avgPx: number;
57
+ oid: number;
58
+ }
59
+ /** normalTpsl children behind an unfilled parent — success states, not errors. */
60
+ | {
61
+ kind: 'waiting';
62
+ state: 'waitingForFill' | 'waitingForTrigger';
63
+ } | {
64
+ kind: 'error';
65
+ error: string;
66
+ } | {
67
+ kind: 'unknown';
68
+ raw: unknown;
69
+ };
70
+ /**
71
+ * Parse a single entry of an order response's `statuses` array. Handles the
72
+ * plain-string success states ("waitingForFill" / "waitingForTrigger") that
73
+ * Hyperliquid returns for normalTpsl children armed behind an unfilled parent,
74
+ * alongside the usual resting/filled/error objects.
75
+ */
76
+ export declare function parseOrderStatus(status: unknown): ParsedOrderStatus;
48
77
  /**
49
78
  * Generate a random client order ID
50
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../scripts/core/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM,CAM7F;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,SAAS,CAeX;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAGlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGxE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAmB1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAOtC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACrG,OAAO,CAAC,OAAO,CAAC,CAYlB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../scripts/core/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM,CAM7F;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,SAAS,CAeX;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQzD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAGlF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGxE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAmB1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AACjE,kFAAkF;GAChF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAkBnE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAOtC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACrG,OAAO,CAAC,OAAO,CAAC,CAYlB"}
@@ -112,6 +112,33 @@ export function normalizeCoin(coin) {
112
112
  export function sleep(ms) {
113
113
  return new Promise(resolve => setTimeout(resolve, ms));
114
114
  }
115
+ /** Hyperliquid rejects orders below this notional (waived for reduce-only). */
116
+ export const MIN_ORDER_NOTIONAL_USD = 10;
117
+ /**
118
+ * Parse a single entry of an order response's `statuses` array. Handles the
119
+ * plain-string success states ("waitingForFill" / "waitingForTrigger") that
120
+ * Hyperliquid returns for normalTpsl children armed behind an unfilled parent,
121
+ * alongside the usual resting/filled/error objects.
122
+ */
123
+ export function parseOrderStatus(status) {
124
+ if (status === 'waitingForFill' || status === 'waitingForTrigger') {
125
+ return { kind: 'waiting', state: status };
126
+ }
127
+ if (status && typeof status === 'object') {
128
+ const data = status;
129
+ if (data.resting) {
130
+ return { kind: 'resting', oid: data.resting.oid };
131
+ }
132
+ if (data.filled) {
133
+ const f = data.filled;
134
+ return { kind: 'filled', totalSz: parseFloat(f.totalSz), avgPx: parseFloat(f.avgPx), oid: f.oid };
135
+ }
136
+ if (data.error) {
137
+ return { kind: 'error', error: String(data.error) };
138
+ }
139
+ }
140
+ return { kind: 'unknown', raw: status };
141
+ }
115
142
  /**
116
143
  * Generate a random client order ID
117
144
  */
package/dist/lib.d.ts CHANGED
@@ -2,7 +2,8 @@ export { HyperliquidClient, getClient, } from './core/client.js';
2
2
  export { WebSocketManager, getWebSocket, resetWebSocket, } from './core/ws.js';
3
3
  export type { WsEventMap, WsEventType, WsEventHandler } from './core/ws.js';
4
4
  export { loadConfig, isConfigured, getNetwork, isMainnet, ensureConfigDir, getConfigPath, GLOBAL_CONFIG_DIR, GLOBAL_ENV_PATH, OPEN_BROKER_BUILDER_ADDRESS, } from './core/config.js';
5
- export { roundPrice, roundSize, sleep, normalizeCoin, formatUsd, formatPercent, annualizeFundingRate, parseArgs, getSlippagePrice, getTimestampMs, generateCloid, orderToWire, checkBuilderFeeApproval, } from './core/utils.js';
5
+ export { roundPrice, roundSize, sleep, normalizeCoin, formatUsd, formatPercent, annualizeFundingRate, parseArgs, getSlippagePrice, getTimestampMs, generateCloid, orderToWire, checkBuilderFeeApproval, MIN_ORDER_NOTIONAL_USD, parseOrderStatus, } from './core/utils.js';
6
+ export type { ParsedOrderStatus } from './core/utils.js';
6
7
  export type * from './core/types.js';
7
8
  export { runBracket } from './operations/bracket.js';
8
9
  export type { BracketOptions, BracketResult } from './operations/bracket.js';