Advanced Execution
TWAP
Place a native Hyperliquid TWAP order. The exchange handles order slicing and execution timing server-side — the command returns immediately with a TWAP ID you can use to check status or cancel.
NOTE: Minimum TWAP order notional size has to be at least 300 USDC
# Buy 1 HYPE over 30 minutes
openbroker twap --coin HYPE --side buy --size 1 --duration 30
# Sell 0.5 BTC over 2 hours without randomized timing
openbroker twap --coin BTC --side sell --size 0.5 --duration 120 --randomize false
# Preview order details
openbroker twap --coin HYPE --side buy --size 2 --duration 60 --dry| Flag | Description | Default |
|---|---|---|
| --coin | Asset to trade | required |
| --side | buy or sell | required |
| --size | Total order size in base asset | required |
| --duration | Duration in minutes (5–1440, i.e. 5 min to 24 hours) | required |
| --randomize | Randomize execution timing (use --randomize false to disable) | true |
| --reduce-only | Reduce-only order | — |
| --leverage | Set leverage before placing | — |
| --dry | Show order details without placing | — |
| --verbose | Show debug output | — |
TWAP Cancel
Cancel a running native TWAP order by its TWAP ID.
openbroker twap-cancel --coin ETH --twap-id 77738308| Flag | Description | Default |
|---|---|---|
| --coin | Asset symbol | required |
| --twap-id | TWAP order ID to cancel | required |
| --verbose | Show debug output | — |
TWAP Status
View TWAP order history and currently running TWAP orders. Shows execution progress, average fill price, and notional value.
# All TWAP history
openbroker twap-status
# Only active/running TWAPs
openbroker twap-status --active| Flag | Description | Default |
|---|---|---|
| --active | Show only active/running TWAP orders | — |
| --verbose | Show debug output | — |
Scale
Place a grid of limit orders to scale into or out of a position. Supports three size distribution modes for different strategies.
# Scale into 1 HYPE with 5 buy orders spread 2% below mid
openbroker scale --coin HYPE --side buy --size 1 --levels 5 --range 2
# Scale out with exponential distribution (more size at better prices)
openbroker scale --coin HYPE --side buy --size 2 --levels 8 --range 5 --distribution exponential
# Scale out of BTC position (reduce-only)
openbroker scale --coin BTC --side sell --size 0.5 --levels 4 --range 3 --reduce| Flag | Description | Default |
|---|---|---|
| --coin | Asset to trade | required |
| --side | buy or sell | required |
| --size | Total order size in base asset | required |
| --levels | Number of price levels (orders) | required |
| --range | Price range from current mid in % | required |
| --distribution | Size distribution: linear (more at better prices), exponential (much more at better prices), or flat (equal) | linear |
| --tif | Time in force: GTC or ALO | GTC |
| --reduce | Reduce-only orders (for scaling out) | false |
| --dry | Show order grid without placing | — |
| --verbose | Show debug output | — |
Bracket
Complete trade setup in one command: entry order with automatic take-profit and stop-loss. Supports market or limit entry.
# Long ETH with 3% TP and 1.5% SL (market entry)
openbroker bracket --coin ETH --side buy --size 0.5 --tp 3 --sl 1.5
# Short BTC with limit entry at $100k, 5% TP, 2% SL
openbroker bracket --coin BTC --side sell --size 0.1 --entry limit --price 100000 --tp 5 --sl 2
# Preview bracket setup
openbroker bracket --coin SOL --side buy --size 10 --tp 5 --sl 2 --dry| Flag | Description | Default |
|---|---|---|
| --coin | Asset to trade | required |
| --side | Entry direction: buy (long) or sell (short) | required |
| --size | Position size in base asset | required |
| --tp | Take profit distance in % from entry | required |
| --sl | Stop loss distance in % from entry | required |
| --entry | Entry type: market or limit | market |
| --price | Entry price (required if --entry limit) | — |
| --slippage | Slippage for market entry in bps | 50 |
| --leverage | Set leverage before entry | — |
| --dry | Show bracket plan without executing | — |
| --verbose | Show debug output | — |
Shows risk/reward ratio, potential profit/loss, and executes in 3 steps: entry → TP trigger → SL trigger. TP and SL are placed as trigger orders that only execute when price reaches the target.
Chase
Follow the price with ALO (post-only) limit orders to get maker fills and avoid taker fees. Continuously adjusts the order to stay near the best price.
# Chase buy 0.5 ETH (default: 5 bps offset, 5 min timeout)
openbroker chase --coin ETH --side buy --size 0.5
# Aggressive chase: tighter offset, short timeout, strict max chase
openbroker chase --coin SOL --side buy --size 10 --offset 1 --timeout 60 --max-chase 50
# Wider offset, longer timeout
openbroker chase --coin BTC --side sell --size 0.1 --offset 2 --timeout 600| Flag | Description | Default |
|---|---|---|
| --coin | Asset to trade | required |
| --side | buy or sell | required |
| --size | Order size in base asset | required |
| --offset | Offset from mid price in bps | 5 (0.05%) |
| --timeout | Max time to chase in seconds | 300 (5 min) |
| --interval | Price check / order update interval in ms | 2000 |
| --max-chase | Max price to chase to in bps from start price | 100 (1%) |
| --leverage | Set leverage before chasing | — |
| --reduce | Reduce-only order | — |
| --dry | Show chase parameters without executing | — |
| --verbose | Show debug output | — |
Uses ALO orders exclusively, guaranteeing maker rebates. Cancels and replaces the order each time price moves, and stops when filled, timed out, or max chase distance is reached.