Skip to content

bullpen hyperliquid short

Last updated: July 13, 2026

Open a short position (requires hyperliquid_trading feature)

Usage

bullpen hyperliquid short [OPTIONS] <COIN>

Live Help

Open a short position (requires hyperliquid_trading feature)

Usage: bullpen hyperliquid short [OPTIONS] <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]

      --size <SIZE>
          Legacy size flag. Defaults to USD notional for entries; pair with --size-unit base to interpret as base-token size

      --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.

      --size-unit <SIZE_UNIT>
          Explicit unit for legacy --size. Valid only with --size

          Possible values:
          - usd:  Interpret --size as USD notional
          - base: Interpret --size as base-token size

      --notional <NOTIONAL>
          Position size in USD notional (e.g. `--notional 500` = $500 of position; NOT base-token units)

      --base-size <BASE_SIZE>
          Position size in base-token units

      --leverage <LEVERAGE>
          Leverage to use. Defaults to the configured Hyperliquid leverage

      --limit <LIMIT>
          Submit a limit order instead of a market-style order

      --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=]

      --tif <TIF>
          Time-in-force for limit orders. `alo` is post-only. Requires --limit

          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

      --slippage <SLIPPAGE>
          Override the configured market-order slippage tolerance, in percent (0 < pct <= 50)

      --tp <TP>
          Optional take-profit trigger price for a grouped entry bracket

      --sl <SL>
          Optional stop-loss trigger price for a grouped entry bracket

      --builder-address <BUILDER_ADDRESS>
          Debug-only builder attribution override. Requires --builder-fee-bps and BULLPEN_HYPERLIQUID_ALLOW_BUILDER_OVERRIDE=1

      --builder-fee-bps <BUILDER_FEE_BPS>
          Debug-only builder fee cap override in basis points. Requires --builder-address and BULLPEN_HYPERLIQUID_ALLOW_BUILDER_OVERRIDE=1

      --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 fill price, slippage, and fee estimates without submitting

  -h, --help
          Print help (see a summary with '-h')

EXAMPLES:
  # Preview a BTC short without signing or submitting
  bullpen hyperliquid short BTC --notional 100 --leverage 3 --preview

  # Export the short preview as JSON
  bullpen hyperliquid short BTC --notional 100 --leverage 3 --preview --output json

  # Preview a TradeXYZ HIP-3 short; the xyz: prefix infers --dex xyz
  bullpen hyperliquid short xyz:SPCX --notional 20 --preview

SIZING:
  Prefer --notional for USD-notional entries or --base-size for base-token
  entries. Legacy --size remains supported as a USD-notional alias unless
  paired with --size-unit base.

GUARDRAILS:
  Hyperliquid rounds base size by market precision before enforcing the $10
  minimum; HYPERLIQUID_ORDER_TOO_SMALL includes requested_notional_usd,
  rounded_base_size, limit_price, and estimated_order_value_usd.

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 short BTC --notional 100 --leverage 3 --preview
bullpen hyperliquid short BTC --notional 100 --leverage 3 --preview --output json
bullpen hyperliquid short xyz:SPCX --notional 20 --preview

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 Trade-preview schema version
kind string no hyperliquid_trade_preview for preview JSON
action string no long or short
coin string no Hyperliquid market identifier. HIP-3 markets keep the DEX-qualified form such as xyz:SPCX
side string no Exchange side, buy for long and sell for short
size_usd string/decimal no Requested notional size
base_size string/decimal no Rounded base size that would be submitted
effective_leverage number yes Effective leverage used for the preview
tif string yes Time-in-force used by the planned order
estimated_avg_fill_px string/decimal yes Estimated average fill price from current book depth
estimated_taker_fee_usd string/decimal yes Estimated taker fee
estimated_total_cost_usd string/decimal yes Estimated total fee/cost impact shown by the preview
request object no Normalized trade request echoed for agents and scripts
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
warning string/null yes Optional warning surfaced by the preview

Example

Example JSON output
bullpen hyperliquid short BTC --notional 100 --leverage 3 --preview --output json
{
  "schema_version": 1,
  "kind": "hyperliquid_trade_preview",
  "action": "short",
  "coin": "BTC",
  "side": "sell",
  "size_usd": "100",
  "base_size": "0.001",
  "effective_leverage": 3,
  "tif": "FrontendMarket",
  "estimated_avg_fill_px": "100000",
  "estimated_taker_fee_usd": "0.045",
  "estimated_total_cost_usd": "0.045",
  "request": {
    "action": "short",
    "coin": "BTC",
    "size_usd": "100",
    "leverage": 3,
    "tif": "FrontendMarket"
  },
  "would_submit": false,
  "signature_requested": false,
  "exchange_request_submitted": false,
  "warning": null
}

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.