bullpen hyperliquid subaccount create¶
Last updated: July 13, 2026
Create a permanent Hyperliquid subaccount under the authenticated master account
Usage¶
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¶
{
"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.