Backtest, deploy, and monitor trading bots on Hyperliquid. Supports Grid, DCA, and Spot-Perp Arbitrage strategies across Native Perps, Spot markets (USDC/USDH), and HIP-3 sub-DEXes.
Backtest, deploy, and monitor trading bots on Hyperliquid. Supports Grid, DCA, and Spot-Perp Arbitrage strategies across Native Perps, Spot markets (USDC/USDH), and HIP-3 sub-DEXes.
Supurr CLI — Complete Command Reference
For LLMs: This is the authoritative reference. Use exact syntax. Config files are in ~/.supurr/configs/.
Quick Reference
Command
Purpose
supurr init
Setup wallet credentials
supurr whoami
Show current wallet
supurr new grid
Generate grid strategy config
supurr new arb
Generate spot-perp arb config
supurr new dca
Generate DCA strategy config
supurr configs
List saved configs
supurr config <name>
View config details
supurr backtest
Run historical simulation
supurr deploy
Deploy bot to production
supurr monitor
View active bots
supurr history
View historical bot sessions
supurr stop
Stop a running bot (signed)
supurr prices
Debug price data
supurr update
Update CLI to latest
Global Options
supurr --help# Show all commands
supurr --version, -V # Show CLI version
supurr -d, --debug # Enable debug logging (any command)
Generates a config that simultaneously trades the spot and perp legs of the same asset, capturing spread differentials.
Market Constraint: Only assets that have both a spot token AND a perp market on Hyperliquid are eligible. The CLI auto-resolves the spot counterpart.
Spot Resolution Logic
Hyperliquid spot tokens for major assets use a U-prefix naming convention:
You pass --asset
CLI resolves spot token
Spot pair
Perp pair
BTC
UBTC
UBTC/USDC
BTC perp
ETH
UETH
UETH/USDC
ETH perp
SOL
USOL
USOL/USDC
SOL perp
ENA
UENA
UENA/USDC
ENA perp
WLD
UWLD
UWLD/USDC
WLD perp
MON
UMON
UMON/USDC
MON perp
MEGA
UMEGA
UMEGA/USDC
MEGA perp
ZEC
UZEC
UZEC/USDC
ZEC perp
XPL
UXPL
UXPL/USDC
XPL perp
PUMP
UPUMP
UPUMP/USDC
PUMP perp
HYPE
HYPE (exact name)
HYPE/USDC
HYPE perp
TRUMP
TRUMP (exact name)
TRUMP/USDC
TRUMP perp
PURR
PURR (exact name)
PURR/USDC
PURR perp
BERA
BERA (exact name)
BERA/USDC
BERA perp
Resolution order: try U{ASSET} first → fallback to exact name → fail if neither exists.
⚠️ U-prefix Hazard: Do NOT pass asset names that already start with U (e.g., UNIT). The CLI will prepend another U and look for UUNIT, which doesn't exist. Always use the perp ticker name (e.g., BTC, not UBTC).
Arb Options
Option
Default
Description
-a, --asset <symbol>
BTC
Perp asset name (BTC, ETH, HYPE, etc.)
--amount <usdc>
100
Order amount in USDC per leg
--leverage <n>
1
Leverage for perp leg
--open-spread <pct>
0.003
Min opening spread (0.003 = 0.3%)
--close-spread <pct>
-0.001
Min closing spread (-0.001 = -0.1%)
--slippage <pct>
0.001
Slippage buffer for both legs (0.001 = 0.1%)
-o, --output <file>
{asset}-arb.json
Output filename
--testnet
false
Use Hyperliquid testnet
Arb Examples
# BTC spot-perp arb (default $100/leg)
supurr new arb --asset BTC
# HYPE arb with $50 per leg, 2x leverage on perp
supurr new arb --asset HYPE --amount 50 --leverage 2
# ETH arb with tighter spreads
supurr new arb --asset ETH --open-spread 0.002 --close-spread -0.0005 --slippage 0.0005
# SOL arb on testnet
supurr new arb --asset SOL --testnet
Balance Requirement: Arb bots require USDC balance in both Spot and Perps wallets on Hyperliquid, since the bot trades on both sides simultaneously.
3c. supurr new dca — DCA Strategy
Generates a Dollar-Cost Averaging config that opens positions in steps when price deviates, then takes profit on the averaged entry.
DCA Options
Option
Default
Description
-a, --asset <symbol>
BTC
Base asset
--mode <mode>
long
Direction: long or short
--type <type>
native
Market type: native, spot, hip3
--trigger-price <price>
100000
Price to trigger base order
--base-order <size>
0.001
Base order size in base asset
--dca-order <size>
0.001
DCA order size in base asset
--max-orders <n>
5
Max number of DCA orders
--size-multiplier <x>
2.0
Size multiplier per DCA step
--deviation <pct>
0.01
Price deviation % to trigger first DCA (0.01 = 1%)
--deviation-multiplier <x>
1.0
Deviation multiplier for subsequent steps
--take-profit <pct>
0.02
Take profit % from avg entry (0.02 = 2%)
--stop-loss <pnl>
—
Optional stop loss as absolute PnL threshold
--leverage <n>
2
Leverage (1 for spot)
--restart
false
Restart cycle after take profit
--cooldown <secs>
60
Cooldown between cycles in seconds
-o, --output <file>
config.json
Output filename
--testnet
false
Use Hyperliquid testnet
DCA Examples
# BTC DCA long, trigger at $95k
supurr new dca --asset BTC --trigger-price 95000
# ETH DCA short with custom deviation
supurr new dca --asset ETH --mode short --deviation 0.02
# HYPE DCA with auto-restart
supurr new dca --asset HYPE --restart --cooldown 120 --take-profit 0.03
# DCA on spot market
supurr new dca --asset HYPE --type spot --quote USDC --trigger-price 25
4. supurr configs — List Saved Configs
supurr configs # Lists all configs in ~/.supurr/configs/
# By config name (looks in ~/.supurr/configs/)
supurr backtest -c btc-grid.json -s 2026-01-28 -e 2026-02-01
# By full path
supurr backtest -c ~/.supurr/configs/btc-grid.json -s 2026-01-28 -e 2026-02-01
# Save results
supurr backtest -c btc-grid.json -s 2026-01-28 -e 2026-02-01 -o results.json
Archive Data Availability
Dex
Asset Format
Example
hyperliquid
BTC, HYPE
Native perp + Spot
hyna
hyna:BTC, hyna:ETH
HIP-3 DEX
Note: Archive data available from 2026-01-28 onwards.
Important: Backtests use Supurr's price archive (tick-level) or a user-provided prices file (-p). Do not use Hyperliquid Info API mids/candles for backtests; they don't provide tick-level historical data and will produce inaccurate results.
supurr prices -a BTC # Fetch BTC prices (7 days)
supurr prices -a hyna:BTC --dex hyna # HIP-3 prices
supurr prices -a HYPE -s 2026-01-28 # From specific date