Skip to content

bullpen hyperliquid copy start

Last updated: July 13, 2026

Create or reactivate a Hyperliquid copy-trading subscription

Usage

bullpen hyperliquid copy start [OPTIONS] <LEADER>

Live Help

Create or reactivate a Hyperliquid copy-trading subscription

Usage: bullpen hyperliquid copy start [OPTIONS] <LEADER>

Arguments:
  <LEADER>
          Hyperliquid account address or Bullpen username to copy

Options:
      --nickname <NICKNAME>
          Optional label for the copied trader

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

      --fixed-notional <FIXED_NOTIONAL>
          Fixed USD notional to use for each copied entry

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

      --copy-percent <COPY_PERCENT>
          Percentage of the leader's notional size to mirror

      --balance-percent <BALANCE_PERCENT>
          Percentage of available account equity to allocate per copied entry

      --mirror-percent-cap <MIRROR_PERCENT_CAP>
          Mirror the leader's account-percent exposure, capped at this percent

      --allocated-capital-usd <ALLOCATED_CAPITAL_USD>
          USD capital allocated to this copy subscription

      --min-trade-size-usd <MIN_TRADE_SIZE_USD>
          Minimum source trade notional in USD to copy

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

      --total-budget-usd <TOTAL_BUDGET_USD>
          Total subscription budget cap in USD

      --allowed-coins <ALLOWED_COINS>
          Copy only these market symbols, comma-separated

      --max-notional-per-order <MAX_NOTIONAL_PER_ORDER>
          Maximum copied order notional in USD

      --max-position-notional <MAX_POSITION_NOTIONAL>
          Maximum copied position notional in USD

      --daily-notional-limit <DAILY_NOTIONAL_LIMIT>
          Daily copied notional limit in USD

      --stop-loss-percent <STOP_LOSS_PERCENT>
          Stop copying when subscription loss reaches this percent

      --daily-loss-limit-percent <DAILY_LOSS_LIMIT_PERCENT>
          Pause copying when daily loss reaches this percent

      --consecutive-loss-pause-threshold <CONSECUTIVE_LOSS_PAUSE_THRESHOLD>
          Pause copying after this many consecutive losing copied trades

      --leverage-cap <LEVERAGE_CAP>
          Maximum leverage to allow on copied positions

      --max-slippage-bps <MAX_SLIPPAGE_BPS>
          Maximum slippage in basis points

      --perp-position-type <PERP_POSITION_TYPE>
          Copy positions as isolated or cross margin when the service supports the setting

          Possible values:
          - isolated: Use isolated margin for copied positions
          - cross:    Use cross margin for copied positions

      --confirm-each
          Require manual confirmation for each copied execution

      --confirm-timeout-seconds <CONFIRM_TIMEOUT_SECONDS>
          Confirmation timeout in seconds when --confirm-each is enabled

      --exit-behavior <EXIT_BEHAVIOR>
          What to do when the leader exits copied positions

          Possible values:
          - mirror_sells: Mirror leader exits by copying sells/closes
          - notify_me:    Notify instead of automatically mirroring leader exits
          - manual:       Leave exits entirely manual

          [default: mirror_sells]

      --copy-only-new-positions
          Copy only new positions opened after the subscription starts

      --include-spot
          Unsupported until copy-service spot execution is proven; preview reports the missing contract and live submit rejects

      --preview
          Print the planned subscription without creating it

  -y, --yes
          Skip confirmation prompt

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

EXAMPLES:
  # Preview fixed-notional Hyperliquid copy trading
  bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --fixed-notional 25 --preview --output json

  # Preview proportional sizing with explicit risk caps
  bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --copy-percent 50 --max-notional-per-order 100 --daily-notional-limit 500 --max-position-notional 250 --preview

  # Create after review; this changes copy-trading state
  bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --fixed-notional 25 --max-slippage-bps 25 --yes

SAFETY:
  Hyperliquid copy trading is experimental. Live mutations require
  --yes and `bullpen experimental enable hyperliquid_trading`. Local CLI gates
  cover Bullpen service-backed request construction and preview/live gating, but full
  production service availability depends on Bullpen account-service enablement.
  The Bullpen copy service may upsert by leader identity: starting copy for a
  leader with a stopped prior subscription can reactivate/update that
  subscription instead of creating a fresh id.

Example Commands

bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --fixed-notional 25 --preview --output json
bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --copy-percent 50 --max-notional-per-order 100 --daily-notional-limit 500 --max-position-notional 250 --preview
bullpen hyperliquid copy start 0x1111111111111111111111111111111111111111 --fixed-notional 25 --max-slippage-bps 25 --yes

JSON Output

Contract: JSON Output Contract.

This command supports --output json, but this generated reference page intentionally does not include a synthetic success schema or example.

Use the live command in your target environment to inspect command-specific success fields. Error output follows the shared JSON output contract linked above.

Schema version: 1 when a command emits schema_version; otherwise treat the current command shape as contract version 1.

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.