Nansen Trading
nansen-ai/nansen-cli
Execute DEX swaps on Solana or Base (including cross-chain bridges) and Hyperliquid perpetual trades.
Backtest, deploy, and monitor trading bots on Hyperliquid. An agent skill from LeoYeAI/openclaw-master-skills.
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills supurr --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/supurr-hyperliquid .claude/skills/supurr && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .claude/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquidType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills supurr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/supurr-hyperliquid .agents/skills/supurr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .agents/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills supurr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/supurr-hyperliquid .cursor/skills/supurr && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .cursor/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/supurr-hyperliquid--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills supurr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/supurr-hyperliquid .gemini/skills/supurr && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .gemini/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills supurrInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/supurr-hyperliquid .github/skills/supurr && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .github/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills supurr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/supurr-hyperliquid .opencode/skills/supurr && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "supurr" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/supurr-hyperliquid into .opencode/skills/supurr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "supurr", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
supurrBacktest, deploy, and monitor trading bots on Hyperliquid. An agent skill from LeoYeAI/openclaw-master-skills.
Supurr is an agent skill from LeoYeAI/openclaw-master-skills. 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.
Its SKILL.md is about 6.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts (for example `.claude-plugin/plugin.json`, `README.md` and `_meta.json`).
It sits in Business, Finance & HR, covering Trading and backtesting. It works with Hyperliquid and Circle USDC. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.hyperliquid.xyzFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Supurr loads about 6.5k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 1,616 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,616 words, ~6,518 tokens.
.claude/skills/supurr/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.For LLMs: This is the authoritative reference. Use exact syntax. Config files are in
~/.supurr/configs/.
| 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 |
supurr --help # Show all commands
supurr --version, -V # Show CLI version
supurr -d, --debug # Enable debug logging (any command)supurr init — Credential Setup# Interactive
supurr init
# Non-interactive
supurr init --address 0x... --api-wallet 0x...
# Overwrite existing
supurr init --force| Option | Description |
|---|---|
-f, --force | Overwrite existing credentials |
--address <address> | Wallet address (0x...) |
--api-wallet <key> | API wallet private key |
supurr whoami — Show Identitysupurr whoami # Shows: Address + masked keysupurr new <strategy> — Config GeneratorSupports three strategies: grid, arb, dca.
supurr new grid [options] # Grid trading
supurr new arb [options] # Spot-perp arbitrage
supurr new dca [options] # Dollar-cost averagingsupurr new grid — Grid Strategy| Type | Quote | Requires | Example |
|---|---|---|---|
native | USDC | — | --asset BTC |
spot | Variable | --quote | --asset HYPE --type spot --quote USDC |
hip3 | Per-DEX | --dex | --asset BTC --type hip3 --dex hyna |
| Option | Default | Description |
|---|---|---|
-a, --asset <symbol> | BTC | Base asset (BTC, ETH, HYPE, etc.) |
-o, --output <file> | config.json | Output filename |
--type <type> | native | Market type: native, spot, hip3 |
--dex <dex> | — | Required for hip3: hyna, xyz, km, vntl |
--quote <quote> | — | Required for spot: USDC, USDE, USDT0, USDH |
--mode <mode> | long | Grid mode: long, short, neutral |
--levels <n> | 20 | Number of grid levels |
--start-price <price> | — | Grid start price |
--end-price <price> | — | Grid end price |
--investment <amount> | 1000 | Max investment in quote currency |
--leverage <n> | 2 | Leverage (1 for spot) |
--testnet | false | Use Hyperliquid testnet |
# Native Perp (BTC-USDC)
supurr new grid --asset BTC --levels 4 --start-price 88000 --end-price 92000 --investment 100 --leverage 20
# USDC Spot (HYPE/USDC)
supurr new grid --asset HYPE --type spot --quote USDC --levels 3 --start-price 29 --end-price 32 --investment 100
# Non-USDC Spot (HYPE/USDH)
supurr new grid --asset HYPE --type spot --quote USDH --levels 3 --start-price 29 --end-price 32 --investment 100
# HIP-3 (hyna:BTC)
supurr new grid --asset BTC --type hip3 --dex hyna --levels 4 --start-price 88000 --end-price 92000 --investment 100 --leverage 20| DEX | Quote | Assets |
|---|---|---|
hyna | USDE | Crypto perps (BTC, ETH, HYPE, etc.) |
xyz | USDE | Stocks (AAPL, TSLA, etc.) |
km | USDT | Kinetiq Markets |
vntl | USDE | AI/tech tokens |
supurr new arb — Spot-Perp Arbitrage StrategyGenerates 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.
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 anotherUand look forUUNIT, which doesn't exist. Always use the perp ticker name (e.g.,BTC, notUBTC).
| 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 |
# 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 --testnetBalance Requirement: Arb bots require USDC balance in both Spot and Perps wallets on Hyperliquid, since the bot trades on both sides simultaneously.
supurr new dca — DCA StrategyGenerates a Dollar-Cost Averaging config that opens positions in steps when price deviates, then takes profit on the averaged entry.
| 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 |
# 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 25supurr configs — List Saved Configssupurr configs # Lists all configs in ~/.supurr/configs/Output:
📁 Configs (/Users/you/.supurr/configs):
btc-grid.json grid BTC-USDC
hype-usdc-spot.json grid HYPE-USDC
hyna-btc.json grid BTC-USDEsupurr config <name> — View Configsupurr config btc-grid # View btc-grid.json
supurr config btc-grid.json # Samesupurr backtest — Run Backtestsupurr backtest -c <config> [options]| Option | Description |
|---|---|
-c, --config <file> | Required. Config file (name or path) |
-s, --start <date> | Start date (YYYY-MM-DD) |
-e, --end <date> | End date (YYYY-MM-DD) |
-p, --prices <file> | Use local prices file |
-o, --output <file> | Save results to JSON |
--no-cache | Disable price caching |
# 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| 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 deploy — Deploy Botsupurr deploy -c <config> [-s <address> | -v <address>]| Option | Description |
|---|---|
-c, --config <file> | Required. Config file (name or path) |
-s, --subaccount <address> | Trade from a subaccount (validates master ownership) |
-v, --vault <address> | Trade from a vault (validates you are the vault leader) |
Subaccount vs Vault:
- Subaccount = personal trading account under your master wallet. Verified via
subAccountsAPI (checksmasterfield).- Vault = shared investment pool you manage. Verified via
vaultDetailsAPI (checksleaderfield).- Both set
vault_addressin the bot config on success.- Cannot use both
--subaccountand--vaultsimultaneously.
# Deploy from main wallet
supurr deploy -c btc-grid.json
# Deploy from subaccount
supurr deploy -c btc-grid.json -s 0x804e57d7baeca937d4b30d3cbe017f8d73c21f1b
# Deploy from vault (you must be the vault leader)
supurr deploy -c config.json --vault 0xdc89f67e74098dd93a1476f7da79747f71ccb5d9
# HL: prefix is auto-stripped (copy-paste from Hyperliquid UI)
supurr deploy -c config.json -s HL:0x804e57d7baeca937d4b30d3cbe017f8d73c21f1bOutput:
✔ Loaded config for grid strategy
✔ Subaccount verified: 0x804e57d7...
✔ Bot deployed successfully!
📦 Deployment Details
Bot ID: 217
Pod Name: bot-217
Bot Type: grid
Market: BTC-USDC| Issue | Solution |
|---|---|
HL: prefix in address | Auto-stripped — safe to paste from Hyperliquid explorer |
| "Subaccount not owned" | Ensure the subaccount's master matches your supurr whoami address |
| "Vault not found" | Check the vault address exists on the correct network (mainnet vs testnet) |
| "Vault leader mismatch" | Only the vault leader can deploy — check vaultDetails API |
subAccounts returns null | Normal — means no subaccounts exist for that address |
supurr monitor — View Active Botssupurr monitor [options]| Option | Description |
|---|---|
-w, --wallet <address> | Filter by wallet address |
--watch | Live mode (refreshes every 2s) |
supurr monitor # List all active bots
supurr monitor --watch # Live monitoring (Ctrl+C to exit)
supurr monitor -w 0x1234... # Filter by walletOutput Columns:
supurr history — View Bot Historysupurr history # Show last 20 bot sessions
supurr history -n 50 # Show last 50 bot sessions| Option | Default | Description |
|---|---|---|
-n, --limit <count> | 20 | Number of bots to show |
Output Columns:
config.markets[0])shutdown:graceful → "User stopped the bot Successfully")supurr stop — Stop Bot (Signature Auth)Signs Stop <bot-id> with your API wallet private key (EIP-191 personal_sign) and sends the signature to the bot API.
supurr stop # Interactive - select from list
supurr stop --id 217 # Stop specific bot by ID| Option | Description |
|---|---|
--id <bot_id> | Bot ID to stop (from supurr monitor) |
Crypto: Uses
@noble/curves/secp256k1+@noble/hashes/sha3(pure JS, no native deps). Signature format:0x{r}{s}{v}(65 bytes).
supurr prices — Debug Price Datasupurr 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| Option | Description |
|---|---|
-a, --asset <symbol> | Required. Asset symbol |
--dex <dex> | DEX name (default: hyperliquid) |
-s, --start <date> | Start date |
-e, --end <date> | End date |
--no-cache | Disable caching |
supurr update — Self-Updatesupurr update # Check and install latest version# 1. Initialize (first time only)
supurr init --address 0x... --api-wallet 0x...
# 2. Create config
supurr new grid --asset BTC --levels 4 --start-price 88000 --end-price 92000 --investment 100 --leverage 20 --output btc-grid.json
# 3. Backtest
supurr backtest -c btc-grid.json -s 2026-01-28 -e 2026-02-01
# 4. Deploy
supurr deploy -c btc-grid.json
# 5. Monitor
supurr monitor --watch
# 6. Stop when done
supurr stop --id <bot_id># 1. Initialize
supurr init --address 0x... --api-wallet 0x...
# 2. Generate arb config (auto-resolves spot counterpart)
supurr new arb --asset BTC --amount 200 --leverage 1 --output btc-arb.json
# 3. Review the generated config
supurr config btc-arb
# 4. Ensure USDC balance in BOTH Spot and Perps wallets on Hyperliquid
# 5. Deploy
supurr deploy -c btc-arb.json
# 6. Monitor
supurr monitor --watch# 1. Create DCA config
supurr new dca --asset BTC --trigger-price 95000 --base-order 0.001 --max-orders 5 --take-profit 0.02 --output btc-dca.json
# 2. Deploy
supurr deploy -c btc-dca.json
# 3. Monitor
supurr monitor --watch# Native Perp
supurr new grid --asset BTC --output native-btc.json
supurr backtest -c native-btc.json -s 2026-01-28 -e 2026-02-01
# USDC Spot
supurr new grid --asset HYPE --type spot --quote USDC --output hype-usdc.json
supurr backtest -c hype-usdc.json -s 2026-01-30 -e 2026-01-31
# Non-USDC Spot
supurr new grid --asset HYPE --type spot --quote USDH --output hype-usdh.json
supurr backtest -c hype-usdh.json -s 2026-01-30 -e 2026-01-31
# HIP-3
supurr new grid --asset BTC --type hip3 --dex hyna --output hyna-btc.json
supurr backtest -c hyna-btc.json -s 2026-01-28 -e 2026-02-01~/.supurr/
├── credentials.json # { address, private_key }
├── configs/ # Saved bot configs
│ ├── btc-grid.json
│ ├── hype-usdc.json
│ └── ...
└── cache/ # Price data cache
└── hyperliquid/
├── BTC/
└── HYPE/| Purpose | Endpoint | Auth |
|---|---|---|
| Bot Deploy | POST /bots/create/<wallet> | — |
| Active Bots | GET /dashboard/active_bots | — |
| Bot History | GET /dashboard/user_bots/<address> (Python) | — |
| Stop Bot | POST /bots/<bot_id>/stop (Node) | EIP-191 signature |
| Price Data | GET /prices?dex=X&asset=Y&start_time=Z | — |
| Price Archive | GET /{dex}/{asset}/{date}.json | — |
| Issue | Solution |
|---|---|
| "Config not found" | Use supurr configs to list available configs |
| "No credentials" | Run supurr init first |
| "0 prices fetched" | Check date range (data from 2026-01-28+) |
| "API wallet not valid" | Register API wallet on Hyperliquid first |
| HIP-3 backtest fails | Use format --dex hyna --asset BTC |
| "No spot market found" | Asset has no spot counterpart — arb not available for this asset |
Arb asset starts with U | Use the perp name (e.g., BTC not UBTC) — CLI adds U prefix |
Backtesting note: This appendix is for live metadata and user state lookups. It is not a source of tick-level historical data for
supurr backtest.
Get address via:
supurr whoami— returns the configured wallet address.
All endpoints use POST https://api.hyperliquid.xyz/info with Content-Type: application/json.
| Query | Request Body |
|---|---|
| All Mid Prices | {"type": "allMids"} |
| Sub-DEX Prices | {"type": "allMids", "dex": "hyna"} |
| Perp Metadata | {"type": "metaAndAssetCtxs"} |
| Spot Metadata | {"type": "spotMeta"} |
| L2 Order Book | {"type": "l2Book", "coin": "BTC"} |
| List HIP-3 DEXes | {"type": "perpDexs"} |
| Query | Request Body |
|---|---|
| Perp Positions | {"type": "clearinghouseState", "user": "0x..."} |
| Spot Balances | {"type": "spotClearinghouseState", "user": "0x..."} |
| Open Orders | {"type": "openOrders", "user": "0x..."} |
| Order History | {"type": "historicalOrders", "user": "0x..."} |
| Trade Fills | {"type": "userFills", "user": "0x...", "aggregateByTime": true} |
| Funding History | {"type": "userFunding", "user": "0x...", "startTime": <ts>, "endTime": <ts>} |
| Sub-Accounts | {"type": "subAccounts", "user": "0x..."} |
| Vault Details | {"type": "vaultDetails", "vaultAddress": "0x..."} |
| DEX | Quote | Assets |
|---|---|---|
hyna | USDE | Crypto perps (BTC, ETH, HYPE) |
xyz | USDE | Stocks (AAPL, TSLA, NVDA) |
vntl | USDE | AI/tech tokens |
km | USDT | Kinetiq Markets |
cash | USDC | Tech stocks |
const HL = "https://api.hyperliquid.xyz/info";
async function query<T>(body: object): Promise<T> {
const res = await fetch(HL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body),
});
return res.json();
}
// Examples
const mids = await query({ type: "allMids" });
const positions = await query({ type: "clearinghouseState", user: "0x..." });
const spotBal = await query({ type: "spotClearinghouseState", user: "0x..." });
const dexes = await query({ type: "perpDexs" });| Issue | Solution |
|---|---|
szDecimals truncation | Truncate qty to szDecimals before submit |
| HIP-3 price prefix | Sub-DEX prices keyed as hyna:BTC, not BTC |
| Sub-DEX asset index | Use local index from DEX's universe, not global |
| Fill limits | userFills max 2000 — paginate with time ranges |
Step-by-step deployment guides with parameter selection advice and practical tips:
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts) in skills/supurr-hyperliquid of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Supurr next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Supurr this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~6.5k | Automated safety check: Pass | MIT | |
| Nansen Tradingnansen-ai/nansen-cli | 139 | — | ~3.3k | Automated safety check: Notes | MIT | |
| Funding Rate ArbitrageSuperior-Trade/superior-skills | 215 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Aomi Transactjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~2.3k | Automated safety check: Pass | MIT | |
| HyperliquidSuperior-Trade/superior-skills | 215 | — | ~5.5k | Automated safety check: Warn | MIT | |
| Minara Crypto Trading and WalletMinara-AI/minara-skills | 362 | — | ~5.7k | Automated safety check: Pass | None |
nansen-ai/nansen-cli
Execute DEX swaps on Solana or Base (including cross-chain bridges) and Hyperliquid perpetual trades.
Superior-Trade/superior-skills
A skill your agent uses when writing a funding-rate-driven perp strategy on Superior Trade — anything described as funding harvest, funding arbitrage, funding rate carry, negative funding, paid to…
jeremylongshore/tons-of-skills-marketplace
Build natural-language crypto agents, web3 assistants, and trading bots that read and write EVM chain state.
Superior-Trade/superior-skills
A skill your agent uses when backtesting, deploying, checking funding readiness, or debugging a Hyperliquid strategy through Superior Trade Unified API — writing Freqtrade configs and strategy code…
Minara-AI/minara-skills
Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.
BlockRunAI/ClawRouter
A skill your agent uses when the user wants to actually PLACE, manage, or redeem bets on Polymarket (not just read odds — that's the blockrunpredexon data tools).
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
Backtest, deploy, and monitor trading bots on Hyperliquid. An agent skill from LeoYeAI/openclaw-master-skills. Supurr is an agent skill from LeoYeAI/openclaw-master-skills. Backtest, deploy, and monitor trading bots on Hyperliquid.
Supurr fits situations like: tasks that involve Trading and backtesting.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a claude-code`. Or copy the skill folder (skills/supurr-hyperliquid in LeoYeAI/openclaw-master-skills) into .claude/skills/supurr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a codex`. Or copy the skill folder (skills/supurr-hyperliquid in LeoYeAI/openclaw-master-skills) into .agents/skills/supurr in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill supurr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/supurr, .gemini/skills/supurr, .github/skills/supurr and .opencode/skills/supurr in your project.
Going by SKILL.md and its folder, Supurr needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md names 1 domain. In commands or code: api.hyperliquid.xyz; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Supurr is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.5k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Supurr: Nansen Trading (nansen-ai/nansen-cli, 139 stars), Funding Rate Arbitrage (Superior-Trade/superior-skills, 215 stars), Aomi Transact (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Hyperliquid (Superior-Trade/superior-skills, 215 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.