bullpen hyperliquid scale¶
Last updated: July 13, 2026
Place a multi-level Hyperliquid limit ladder in one signed action
Usage¶
bullpen hyperliquid scale [OPTIONS] --side <SIDE> --start <START> --end <END> --levels <LEVELS> <COIN>
Live Help¶
Place a multi-level Hyperliquid limit ladder in one signed action
Usage: bullpen hyperliquid scale [OPTIONS] --side <SIDE> --start <START> --end <END> --levels <LEVELS> <COIN>
Arguments:
<COIN>
Coin/market (e.g. "ETH", "BTC")
Options:
--dex <DEX>
HIP-3 perpetual DEX id (for example, `xyz` for TradeXYZ). If COIN is prefixed as `dex:symbol`, the prefix infers this value
--no-multi-wallet-warning
Suppress the table-mode warning shown when multiple EVM wallet accounts exist
--output <OUTPUT>
Output format for command results
[possible values: table, json]
--env <ENV>
Target environment to connect to (overrides config.toml)
[env: BULLPEN_ENV=]
[possible values: staging, production]
--side <SIDE>
Direction of the ladder
Possible values:
- long: Buy side; opens or increases a long
- short: Sell side; opens or increases a short
--config <CONFIG>
Path to a custom config.toml file (overrides $BULLPEN_CONFIG and the default location).
Explicit --config and BULLPEN_CONFIG paths fail closed: if the file is missing, the CLI exits validation instead of silently loading defaults. Credentials still resolve via BULLPEN_HOME, so set BULLPEN_HOME too when isolating a session.
--notional <NOTIONAL>
Total USD notional to distribute across the ladder. Mutually exclusive with --base-size
--base-size <BASE_SIZE>
Total base-token size to distribute across the ladder. Mutually exclusive with --notional
--start <START>
First limit price in the ladder
--end <END>
Final limit price in the ladder
--levels <LEVELS>
Number of limit levels to place
--read-only
Enable read-only mode: blocks all mutating commands
--non-interactive
Suppress interactive prompts; does NOT imply --yes for money-moving commands
[env: BULLPEN_NON_INTERACTIVE=]
--skew <SKEW>
Linear size skew from start to end. 1.0 is uniform; values below 1 taper down
[default: 1]
--reduce-only
Mark every level reduce-only
--tif <TIF>
Time-in-force for every scale level
Possible values:
- gtc: Good-till-cancelled: rests on the book until explicitly cancelled
- ioc: Immediate-or-cancel: fills what it can immediately and cancels the rest
- alo: Add-liquidity-only: post-only, rejects if it would cross the spread
[default: gtc]
--leverage <LEVERAGE>
Leverage to set before placing a non-reduce-only ladder
--subaccount <SUBACCOUNT>
Target a Hyperliquid subaccount execution context. Without --subaccount or --vault, the command targets the active EVM master account. Scoped submits still sign with the active EVM master wallet. Mutually exclusive with --vault
--vault <VAULT>
Target a Hyperliquid vault execution context. Without --subaccount or --vault, the command targets the active EVM master account. Scoped submits still sign with the active EVM master wallet. Mutually exclusive with --subaccount
-y, --yes
Skip confirmation prompt
--preview
Show the planned ladder without signing or submitting
-h, --help
Print help (see a summary with '-h')
EXAMPLES:
# Preview a three-level BTC long ladder without signing or submitting
bullpen hyperliquid scale BTC --side long --notional 300 --start 60000 --end 58000 --levels 3 --preview
# Preview a BTC short ladder sized in base-token units
bullpen hyperliquid scale BTC --side short --base-size 0.003 --start 65000 --end 67000 --levels 3 --preview
# Export the scale preview as JSON
bullpen hyperliquid scale BTC --side long --notional 300 --start 60000 --end 58000 --levels 3 --preview --output json
SIZING:
Provide exactly one sizing mode. --notional is total USD notional split
across levels; --base-size is total base-token size split across levels.
ACCOUNT SCOPE:
Without --subaccount or --vault, this targets the active EVM master account.
With --subaccount or --vault, Hyperliquid uses that execution context but
Bullpen still signs with the active EVM master wallet. Normal Hyperliquid
trades do not create, approve, or consume Hyperliquid API/agent wallet slots.
Example Commands¶
bullpen hyperliquid scale BTC --side long --notional 300 --start 60000 --end 58000 --levels 3 --preview
bullpen hyperliquid scale BTC --side short --base-size 0.003 --start 65000 --end 67000 --levels 3 --preview
bullpen hyperliquid scale BTC --side long --notional 300 --start 60000 --end 58000 --levels 3 --preview --output json
JSON Output¶
Contract: JSON Output Contract.
Successful output is a single JSON document. The shape below is representative for this command family; commands may add fields without breaking the shared contract.
Schema version: 1 when a command emits schema_version; otherwise treat the current command shape as contract version 1.
Top-level Keys¶
| key | type | nullable | notes |
|---|---|---|---|
schema_version |
integer | no | Scale-preview schema version |
kind |
string | no | hyperliquid_scale_preview for preview JSON |
action |
string | no | Always scale |
account |
string | no | Active Hyperliquid account context |
coin |
string | no | Hyperliquid market symbol |
side |
string | no | Scale direction, long or short |
mode |
string | yes | Scale order mode when emitted |
total_notional_usd |
string/decimal | yes | Requested aggregate notional when emitted |
base_size |
string/decimal | no | Aggregate rounded base size |
levels |
array | no | Planned ladder levels with price, size, notional, side, and TIF |
scale_orders |
array | yes | Backward-compatible ladder-order rows when emitted |
sum |
object | no | Aggregate totals such as total base, notional, fees, and VWAP |
would_submit |
boolean | no | False in preview output |
signature_requested |
boolean | no | False in preview output |
exchange_request_submitted |
boolean | no | False in preview output |
Example¶
Example JSON output
bullpen hyperliquid scale BTC --side long --notional 300 --start 60000 --end 58000 --levels 3 --preview --output json
{
"schema_version": 1,
"kind": "hyperliquid_scale_preview",
"action": "scale",
"account": "primary account: 0x1111111111111111111111111111111111111111",
"coin": "BTC",
"side": "long",
"base_size": "0.003",
"levels": [
{
"index": 1,
"price": "60000",
"size": "0.001",
"est_notional_usd": "60",
"side": "buy",
"tif": "Gtc"
},
{
"index": 2,
"price": "59000",
"size": "0.001",
"est_notional_usd": "59",
"side": "buy",
"tif": "Gtc"
}
],
"sum": {
"total_base": "0.003",
"total_notional_usd": "177",
"total_fee_usd": "0.07965",
"vwap": "59000"
},
"would_submit": false,
"signature_requested": false,
"exchange_request_submitted": false,
"success": true
}
Stability¶
Patch releases may add nullable or optional fields. Minor releases may add required fields or increment schema_version. Major releases may remove or rename fields.