Skip to content

bullpen hyperliquid subaccount create

Last updated: July 13, 2026

Create a permanent Hyperliquid subaccount under the authenticated master account

Usage

bullpen hyperliquid subaccount create [OPTIONS] --name <NAME>

Live Help

Create a permanent Hyperliquid subaccount under the authenticated master account

Usage: bullpen hyperliquid subaccount create [OPTIONS] --name <NAME>

Options:
      --name <NAME>
          Hyperliquid subaccount name. Use 16 ASCII bytes or fewer

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

      --dry-run
          Preview the permanent create action without signing or submitting it

      --env <ENV>
          Target environment to connect to (overrides config.toml)

          [env: BULLPEN_ENV=]
          [possible values: staging, production]

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

  -y, --yes
          Required confirmation flag for live Hyperliquid subaccount creation

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

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

EXAMPLES:
  # Preview the permanent creation intent without signing or submitting
  bullpen hyperliquid subaccount create --name strategy1 --dry-run

  # Create a Hyperliquid subaccount after approval and confirmation
  bullpen hyperliquid subaccount create --name strategy1 --yes

VALIDATION NOTE: Subaccount creation is permanent. The create/fund round-trip
  remains validation-gated; prefer existing-owned-subaccount funding validation when possible.

Example Commands

bullpen hyperliquid subaccount create --name strategy1 --dry-run
bullpen hyperliquid subaccount create --name strategy1 --yes

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
action string no Always subaccount-create
account string no Active Hyperliquid master account
kind string yes hyperliquid_mutation_preview for dry-run JSON
would_submit boolean yes False in dry-run output
signature_requested boolean yes False in dry-run output
exchange_request_submitted boolean yes False in dry-run output
summary string no Human-readable create preview or result
intent.subaccount_name string yes Requested subaccount name in dry-run preview output
success boolean yes Whether Hyperliquid accepted the create action in live output
subaccount_name string yes Requested subaccount name in live output
subaccount_address string yes Server-issued Hyperliquid subaccount address in live output

Example

bullpen hyperliquid subaccount create --name strategy1 --dry-run --output json
{
  "schema_version": 1,
  "kind": "hyperliquid_mutation_preview",
  "action": "subaccount-create",
  "account": "0x1111111111111111111111111111111111111111",
  "would_submit": false,
  "signature_requested": false,
  "exchange_request_submitted": false,
  "summary": "Preview only - no signature requested and no Hyperliquid exchange request submitted. Planned creation of subaccount 'strategy1'.",
  "intent": {
    "action": "subaccount-create",
    "account": "0x1111111111111111111111111111111111111111",
    "subaccount_name": "strategy1",
    "reduce_only": false,
    "builder_fee_bps": 0.0
  }
}

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.