bullpen hyperliquid short¶
Last updated: July 13, 2026
Open a short position (requires hyperliquid_trading feature)
Usage¶
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
{
"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.