Skip to content

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.