perp-cli
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseperp-cli Agent Guide
perp-cli Agent 使用指南
Multi-DEX perpetual futures CLI — Pacifica (Solana), Hyperliquid (HyperEVM), Lighter (Ethereum).
多DEX永续期货CLI工具 — 支持Pacifica(Solana)、Hyperliquid(HyperEVM)、Lighter(Ethereum)。
Critical Rules
核心规则
- RISK MANAGEMENT IS YOUR #1 PRIORITY. A single liquidation wipes out months of profit. Always check before and during any operation. See
perp --json risk statusfor the full risk framework.references/strategies.md - NEVER use interactive commands. Do NOT run . Always use non-interactive commands with
perp init.--json - Always use on every command for structured output.
--json - NEVER trade without user confirmation. Show order details and wait for explicit approval.
- Verify wallet before any operation. Run first.
perp --json wallet show - Use ISOLATED margin for arb. Set before opening positions. Cross margin can cascade liquidations.
perp --json manage margin <SYM> isolated - Monitor positions continuously. Run and
perp --json risk statusevery 15 minutes while positions are open.perp --json -e <EX> account positions - NEVER read ~/.perp/.env or any key files directly. Private keys are managed by the CLI internally. Use to check wallet status. Never attempt to read, cat, or access key files — this is a security violation.
perp --json wallet show
- 风险管理是你的首要任务。 一次爆仓就会抹去数月的利润。在任何操作之前和操作过程中,务必执行命令查看风险状态。完整的风险框架请参阅
perp --json risk status。references/strategies.md - 切勿使用交互式命令。 禁止运行。请始终使用带
perp init参数的非交互式命令。--json - 所有命令务必添加参数 以获得结构化输出。
--json - 未经用户确认,切勿进行交易。 展示订单详情并等待用户明确批准。
- 任何操作前先验证钱包。 先执行命令。
perp --json wallet show - 套利交易使用隔离保证金。 开仓前执行设置隔离保证金。交叉保证金可能引发连环爆仓。
perp --json manage margin <SYM> isolated - 持续监控仓位。 持仓期间,每15分钟执行一次和
perp --json risk status。perp --json -e <EX> account positions - 切勿直接读取~/.perp/.env或任何密钥文件。 私钥由CLI内部管理。使用查看钱包状态。绝不要尝试读取、查看或访问密钥文件——这属于安全违规行为。
perp --json wallet show
Step 1: Install
步骤1:安装
bash
npm install -g perp-clibash
npm install -g perp-cliStep 2: Configure Wallet
步骤2:配置钱包
CRITICAL: Do NOT use — it is interactive and will hang.
perp initIf user needs a new wallet:
bash
perp --json wallet generate evm # creates EVM wallet for Hyperliquid + Lighter
perp --json wallet generate solana # creates Solana wallet for Pacifica重要提示:请勿使用——它是交互式命令,会导致程序挂起。
perp init如果用户需要新钱包:
bash
perp --json wallet generate evm # 为Hyperliquid + Lighter创建EVM钱包
perp --json wallet generate solana # 为Pacifica创建Solana钱包IMPORTANT: Tell user the generated address so they can fund it with USDC!
重要提示:告知用户生成的地址,以便他们向钱包转入USDC!
undefinedundefinedHyperliquid setup
Hyperliquid 设置
bash
perp --json wallet set hl <EVM_PRIVATE_KEY> # register EVM key → ready to trade immediately
perp --json wallet show # verify
perp --json -e hl account info # check balanceNo extra steps. Key is saved as in .env.
HL_PRIVATE_KEYbash
perp --json wallet set hl <EVM_PRIVATE_KEY> # 注册EVM密钥 → 立即可交易
perp --json wallet show # 验证配置
perp --json -e hl account info # 查看余额无需额外步骤。密钥会保存为.env文件中的。
HL_PRIVATE_KEYPacifica setup
Pacifica 设置
bash
perp --json wallet set pac <SOLANA_PRIVATE_KEY> # register Solana key → ready to trade immediately
perp --json wallet show # verify
perp --json -e pac account info # check balanceNo extra steps. Key is saved as in .env.
PACIFICA_PRIVATE_KEYbash
perp --json wallet set pac <SOLANA_PRIVATE_KEY> # 注册Solana密钥 → 立即可交易
perp --json wallet show # 验证配置
perp --json -e pac account info # 查看余额无需额外步骤。密钥会保存为.env文件中的。
PACIFICA_PRIVATE_KEYLighter setup (API key auto-generated on registration)
Lighter 设置(注册时自动生成API密钥)
bash
perp --json wallet set lt <EVM_PRIVATE_KEY> # register EVM keybash
perp --json wallet set lt <EVM_PRIVATE_KEY> # 注册EVM密钥→ AUTOMATICALLY generates Lighter API key via on-chain tx
→ 通过链上交易自动生成Lighter API密钥
→ Saves to .env: LIGHTER_PRIVATE_KEY, LIGHTER_API_KEY, LIGHTER_ACCOUNT_INDEX, LIGHTER_API_KEY_INDEX
→ 保存到.env文件:LIGHTER_PRIVATE_KEY、LIGHTER_API_KEY、LIGHTER_ACCOUNT_INDEX、LIGHTER_API_KEY_INDEX
→ No manual API key creation needed. Do NOT ask the user to visit the Lighter website.
→ 无需手动创建API密钥。不要要求用户访问Lighter官网。
perp --json wallet show # verify
perp --json -e lighter account info # check balance
Same EVM key can be used for both Hyperliquid and Lighter:
```bash
perp --json wallet set hl <KEY> # same key
perp --json wallet set lt <KEY> # same key, different exchange bindingIf API key auto-setup fails (rare, e.g. no ETH for gas on Lighter chain):
bash
perp --json -e lighter manage setup-api-key # manual retryVerify setup (ALWAYS do this after any wallet command):
bash
perp --json wallet showperp --json wallet show # 验证配置
perp --json -e lighter account info # 查看余额
同一EVM密钥可同时用于Hyperliquid和Lighter:
```bash
perp --json wallet set hl <KEY> # 使用同一密钥
perp --json wallet set lt <KEY> # 同一密钥,绑定不同交易所如果API密钥自动设置失败(罕见情况,例如Lighter链上无ETH支付Gas费):
bash
perp --json -e lighter manage setup-api-key # 手动重试验证配置(执行任何钱包命令后务必执行此步骤):
bash
perp --json wallet showSuccess: { "ok": true, "data": { "exchanges": [{ "exchange": "hyperliquid", "address": "0x..." }] } }
成功:{ "ok": true, "data": { "exchanges": [{ "exchange": "hyperliquid", "address": "0x..." }] } }
Empty: { "ok": true, "data": { "exchanges": [] } } ← wallet not configured yet
空配置:{ "ok": true, "data": { "exchanges": [] } } ← 钱包尚未配置
undefinedundefinedStep 3: Use
步骤3:使用
Exchange selection
交易所选择
bash
perp --json -e hyperliquid ... # Hyperliquid (EVM)
perp --json -e pacifica ... # Pacifica (Solana)
perp --json -e lighter ... # Lighter (Ethereum)If a default exchange is set, can be omitted.
-ebash
perp --json -e hyperliquid ... # Hyperliquid(EVM)
perp --json -e pacifica ... # Pacifica(Solana)
perp --json -e lighter ... # Lighter(Ethereum)如果设置了默认交易所,可省略参数。
-eSymbol naming
合约命名
Symbols are auto-resolved across exchanges. Use bare symbols (e.g., , , ) everywhere — the CLI handles exchange-specific naming:
BTCSOLICP- Hyperliquid: →
ICP(auto-resolved,ICP-PERPsuffix added)-PERP - Pacifica / Lighter: bare symbols as-is
- returns bare symbols — pass them directly to any exchange command.
arb scan
合约符号会在各交易所间自动解析。全程使用裸符号(例如、、)——CLI会处理交易所特定的命名规则:
BTCSOLICP- Hyperliquid:→
ICP(自动解析,添加ICP-PERP后缀)-PERP - Pacifica / Lighter:直接使用裸符号
- 返回裸符号——可直接传入任何交易所命令。
arb scan
Common operations
常见操作
bash
perp --json wallet show # check configured wallets
perp --json portfolio # unified multi-exchange view
perp --json arb scan --min 5 # find funding arb opportunities (>5bps spread)bash
perp --json wallet show # 查看已配置的钱包
perp --json portfolio # 多交易所统一视图
perp --json arb scan --min 5 # 寻找资金费率套利机会(点差>5个基点)Per-exchange commands (ALL 3 exchanges use the SAME commands)
各交易所通用命令(所有3家交易所使用相同命令)
Every command below works on ALL exchanges. Just change :
-ebash
undefined以下所有命令适用于所有3家交易所。只需修改参数:
-ebash
undefinedAccount
账户相关
perp --json -e hl account info # Hyperliquid balance & margin
perp --json -e pac account info # Pacifica balance & margin
perp --json -e lighter account info # Lighter balance & margin
perp --json -e <EX> account positions # open positions
perp --json -e hl account info # Hyperliquid余额与保证金
perp --json -e pac account info # Pacifica余额与保证金
perp --json -e lighter account info # Lighter余额与保证金
perp --json -e <EX> account positions # 查看未平仓仓位
Market data
市场数据
perp --json -e <EX> market list # available markets
perp --json -e <EX> market mid <SYM> # mid price
perp --json -e <EX> market book <SYM> # orderbook depth
perp --json -e <EX> market list # 查看可用市场
perp --json -e <EX> market mid <SYM> # 查看中间价
perp --json -e <EX> market book <SYM> # 查看订单簿深度
Trading (same syntax on ALL exchanges)
交易(所有交易所语法相同)
perp --json -e <EX> trade leverage <SYM> <N> --isolated # set leverage
perp --json -e <EX> trade market <SYM> buy <SIZE> # market buy
perp --json -e <EX> trade market <SYM> sell <SIZE> # market sell
perp --json -e <EX> trade close <SYM> # close position
perp --json -e <EX> trade check <SYM> <SIDE> <SIZE> --leverage <L> # pre-flight
perp --json -e <EX> trade leverage <SYM> <N> --isolated # 设置杠杆 + 隔离保证金
perp --json -e <EX> trade market <SYM> buy <SIZE> # 市价买入
perp --json -e <EX> trade market <SYM> sell <SIZE> # 市价卖出
perp --json -e <EX> trade close <SYM> # 平仓
perp --json -e <EX> trade check <SYM> <SIDE> <SIZE> --leverage <L> # 交易预检查
Deposit / Withdraw
存入/提取资金
perp --json deposit hyperliquid <AMOUNT> # deposit to HL
perp --json deposit pacifica <AMOUNT> # deposit to Pacifica
perp --json deposit lighter info # show Lighter deposit routes
perp --json deposit lighter cctp arb <AMOUNT> # deposit to Lighter via CCTP
perp --json withdraw <EX> <AMOUNT> # withdraw from exchange
**All 3 exchanges are fully operational.** Do NOT say any exchange "requires additional setup" or "is not available" — if `wallet show` shows it configured, it's ready to trade.perp --json deposit hyperliquid <AMOUNT> # 向Hyperliquid存入资金
perp --json deposit pacifica <AMOUNT> # 向Pacifica存入资金
perp --json deposit lighter info # 查看Lighter存入路径
perp --json deposit lighter cctp arb <AMOUNT> # 通过CCTP向Lighter存入资金
perp --json withdraw <EX> <AMOUNT> # 从交易所提取资金
**所有3家交易所均完全可用。** 不要说任何交易所“需要额外设置”或“不可用”——如果`wallet show`显示已配置,即可进行交易。Funding arb direction (CRITICAL — do NOT reverse)
套利交易方向(重要提示:切勿反向操作)
arb scan returns: longExch, shortExch, netSpread
→ ALWAYS follow longExch/shortExch exactly. NEVER reverse the direction.
→ NEVER enter if netSpread ≤ 0 (= loss after fees)
→ Positive funding = longs pay shorts → be SHORT to receive
→ Negative funding = shorts pay longs → be LONG to receivearb scan返回:longExch, shortExch, netSpread
→ 务必严格按照longExch/shortExch的方向操作。绝不要反向操作。
→ 若netSpread ≤ 0(扣除手续费后亏损),绝不要开仓
→ 正资金费率 = 多头向空头付费 → 做空头以收取费用
→ 负资金费率 = 空头向多头付费 → 做多头以收取费用Trade execution (MANDATORY checklist)
交易执行(强制检查清单)
BEFORE ANY TRADE:
0. perp --json portfolio → check TOTAL equity + per-exchange balances
- Single position notional < 25% of TOTAL equity
- Each exchange MUST have sufficient balance for its leg
- Notional ≠ margin required. Check available balance on EACH exchange.
- If balance is insufficient, bridge first or reduce size.
1. perp --json risk status → check risk level (STOP if critical)
2. perp --json -e <EX> account info → verify EXCHANGE-SPECIFIC balance
3. perp --json -e <EX> market mid <SYM> → current price
4. perp --json -e <EX> trade leverage <SYM> <N> --isolated → set leverage + isolated margin FIRST
5. perp --json risk check --notional <$> --leverage <L> → risk pre-check
6. perp --json -e <EX> trade check <SYM> <SIDE> <SIZE> --leverage <L> → trade validation
⚠ trade check does NOT read exchange-set leverage. ALWAYS pass --leverage explicitly.
7. [Show order details + risk assessment to user, get explicit confirmation]
8. perp --json -e <EX> trade market <SYM> <SIDE> <SIZE> → execute
9. perp --json -e <EX> account positions → verify result + check liquidation price任何交易前:
0. perp --json portfolio → 查看总权益 + 各交易所余额
- 单个仓位名义价值 < 总权益的25%
- 每家交易所必须有足够余额用于对应交易腿
- 名义价值 ≠ 所需保证金。请检查每家交易所的可用余额。
- 若余额不足,先进行跨链桥接或减小仓位规模。
1. perp --json risk status → 查看风险等级(若为高危则停止操作)
2. perp --json -e <EX> account info → 验证交易所特定余额
3. perp --json -e <EX> market mid <SYM> → 查看当前价格
4. perp --json -e <EX> trade leverage <SYM> <N> --isolated → 先设置杠杆 + 隔离保证金
5. perp --json risk check --notional <$> --leverage <L> → 风险预检查
6. perp --json -e <EX> trade check <SYM> <SIDE> <SIZE> --leverage <L> → 交易验证
⚠ 交易检查不会读取交易所设置的杠杆。务必显式传入--leverage参数。
7. [向用户展示订单详情 + 风险评估,获取明确确认]
8. perp --json -e <EX> trade market <SYM> <SIDE> <SIZE> → 执行交易
9. perp --json -e <EX> account positions → 验证结果 + 查看爆仓价格Exchange-specific constraints
交易所特定限制
Minimum order values (notional, enforced by exchange):
- Hyperliquid: $10 minimum per order
- Pacifica: varies by symbol (usually ~$1)
- Lighter: varies by symbol
If your calculated size falls below the minimum, increase to meet it or skip the opportunity.
trade check returns valid: true/false but is ADVISORY — it does NOT block execution.
The exchange itself will reject orders below its minimum.最低订单价值(名义价值,由交易所强制执行):
- Hyperliquid:每笔订单最低10美元
- Pacifica:因合约而异(通常约1美元)
- Lighter:因合约而异
若计算的订单规模低于最低要求,需增大规模以满足要求或放弃该机会。
trade check返回valid: true/false仅为参考——它不会阻止执行。
交易所本身会拒绝低于最低要求的订单。Arb order sizing (CRITICAL — both legs MUST match)
套利订单规模(重要提示:两条交易腿规模必须完全匹配)
For funding arb, BOTH legs must have the EXACT SAME SIZE. Size mismatch = directional exposure.
1. Check orderbook depth on BOTH exchanges:
perp --json -e <LONG_EX> market book <SYM> → asks (you're buying)
perp --json -e <SHORT_EX> market book <SYM> → bids (you're selling)
2. Compute ORDER_SIZE:
- fillable_long = sum of ask sizes at best 2-3 levels
- fillable_short = sum of bid sizes at best 2-3 levels
- ORDER_SIZE = min(fillable_long, fillable_short, desired_size)
- Must be ≥ BOTH exchanges' minimum order value (e.g. HL requires ≥$10 notional)
3. Execute BOTH legs with the SAME ORDER_SIZE:
perp --json -e <LONG_EX> trade market <SYM> buy <ORDER_SIZE>
→ verify fill via account positions
perp --json -e <SHORT_EX> trade market <SYM> sell <ORDER_SIZE>
→ verify fill via account positions
4. Confirm matched: both positions must show identical size.
If mismatch (partial fill), adjust the larger to match the smaller.See for detailed execution strategy (chunked orders, limit orders, failure handling).
references/strategies.md对于资金费率套利,两条交易腿的规模必须完全相同。规模不匹配会导致方向性风险暴露。
1. 检查两家交易所的订单簿深度:
perp --json -e <LONG_EX> market book <SYM> → 卖单(你要买入)
perp --json -e <SHORT_EX> market book <SYM> → 买单(你要卖出)
2. 计算订单规模:
- fillable_long = 最佳2-3档卖单规模之和
- fillable_short = 最佳2-3档买单规模之和
- ORDER_SIZE = min(fillable_long, fillable_short, desired_size)
- 必须 ≥ 两家交易所的最低订单价值(例如Hyperliquid要求≥10美元名义价值)
3. 使用相同的ORDER_SIZE执行两条交易腿:
perp --json -e <LONG_EX> trade market <SYM> buy <ORDER_SIZE>
→ 通过account positions验证成交情况
perp --json -e <SHORT_EX> trade market <SYM> sell <ORDER_SIZE>
→ 通过account positions验证成交情况
4. 确认匹配:两个仓位的规模必须完全相同。
若出现不匹配(部分成交),调整较大的仓位以匹配较小的仓位。详细执行策略(分单成交、限价单、故障处理)请参阅。
references/strategies.mdPost-entry monitoring (MANDATORY while positions are open)
持仓后监控(持仓期间强制执行)
Every 15 minutes:
perp --json risk status → overall risk level + violations
perp --json risk liquidation-distance → % from liq price for ALL positions
perp --json -e <EX> account positions → check each position P&L
Every 1 hour (at funding settlement):
perp --json arb scan --min 5 → is spread still profitable?
perp --json portfolio → total equity across exchanges
Compare both legs' unrealized P&L — they should roughly offset
Exit triggers:
- Spread below breakeven (including fees) → show exit plan, get user approval
- risk status level = "critical" or canTrade = false → reduce immediately
- One leg closed unexpectedly → close the other leg IMMEDIATELY
- Target hold duration reached → re-evaluate or exit每15分钟:
perp --json risk status → 整体风险等级 + 违规情况
perp --json risk liquidation-distance → 所有仓位距离爆仓价格的百分比
perp --json -e <EX> account positions → 查看每个仓位的盈亏
每1小时(资金费率结算时):
perp --json arb scan --min 5 → 点差是否仍有盈利空间?
perp --json portfolio → 各交易所总权益
比较两条交易腿的未实现盈亏——它们应大致抵消
平仓触发条件:
- 点差低于盈亏平衡点(含手续费)→ 展示平仓计划,获取用户批准
- 风险等级 = "critical" 或 canTrade = false → 立即减仓
- 一条交易腿意外平仓 → 立即平仓另一条交易腿
- 达到目标持仓时长 → 重新评估或平仓Knowing your capital (CHECK BEFORE ANY DECISION)
了解你的资金(任何决策前务必检查)
perp --json wallet show → configured wallets + addresses
perp --json wallet balance → on-chain USDC (in wallet, NOT on exchange)
perp --json -e <EX> account info → exchange balance (available for trading)
perp --json portfolio → unified view: equity, margin, P&L per exchangeOn-chain balance ≠ exchange balance. Always check both. Capital must be deposited to exchange before trading.
For full command reference, see .
For agent-specific operations (setup flows, deposit/withdraw, order types, idempotency), see .
For autonomous strategies (funding rate arb, risk management, opportunity cost), see .
references/commands.mdreferences/agent-operations.mdreferences/strategies.mdperp --json wallet show → 已配置的钱包 + 地址
perp --json wallet balance → 链上USDC(在钱包中,不在交易所)
perp --json -e <EX> account info → 交易所余额(可用于交易)
perp --json portfolio → 统一视图:各交易所的权益、保证金、盈亏链上余额 ≠ 交易所余额。 务必同时检查两者。资金必须存入交易所后才能进行交易。
完整命令参考请参阅。
Agent特定操作(设置流程、存入/提取资金、订单类型、幂等性)请参阅。
自主策略(资金费率套利、风险管理、机会成本)请参阅。
references/commands.mdreferences/agent-operations.mdreferences/strategies.mdResponse Format
响应格式
All JSON responses follow this envelope:
json
{ "ok": true, "data": { ... }, "meta": { "timestamp": "..." } }
{ "ok": false, "error": { "code": "ERROR_CODE", "message": "...", "retryable": true } }所有JSON响应遵循以下格式:
json
{ "ok": true, "data": { ... }, "meta": { "timestamp": "..." } }
{ "ok": false, "error": { "code": "ERROR_CODE", "message": "...", "retryable": true } }Error Handling
错误处理
| Code | Retryable | Action |
|---|---|---|
| INSUFFICIENT_BALANCE | No | Report, suggest deposit |
| MARGIN_INSUFFICIENT | No | Suggest lower leverage or smaller size |
| SYMBOL_NOT_FOUND | No | Run |
| SIGNATURE_FAILED | No | Run |
| RATE_LIMITED | Yes | Wait 5s, retry once |
| EXCHANGE_UNREACHABLE | Yes | Wait 5s, retry up to 3 times |
| TIMEOUT | Yes | Retry, check network |
| 代码 | 是否可重试 | 操作 |
|---|---|---|
| INSUFFICIENT_BALANCE | 否 | 报告情况,建议存入资金 |
| MARGIN_INSUFFICIENT | 否 | 建议降低杠杆或减小仓位规模 |
| SYMBOL_NOT_FOUND | 否 | 执行 |
| SIGNATURE_FAILED | 否 | 执行 |
| RATE_LIMITED | 是 | 等待5秒,重试一次 |
| EXCHANGE_UNREACHABLE | 是 | 等待5秒,最多重试3次 |
| TIMEOUT | 是 | 重试,检查网络 |
Safety Guardrails
安全防护
- NEVER execute trades without user confirmation
- Warn if single trade exceeds 50% of available balance
- Warn if leverage exceeds 10x
- Double-confirm bridge transfers over $1000
- 未经用户确认,绝不执行交易
- 若单笔交易超过可用余额的50%,发出警告
- 若杠杆超过10倍,发出警告
- 超过1000美元的跨链桥接需二次确认
Troubleshooting
故障排除
"No private key configured for <exchange>"
"No private key configured for <exchange>"
The wallet is not set up. Fix:
bash
perp --json wallet set <exchange> <key> # if user has a key
perp --json wallet generate evm # if user needs a new EVM wallet
perp --json wallet generate solana # if user needs a new Solana wallet
perp --json wallet show # verify it worked钱包未配置。修复方法:
bash
perp --json wallet set <exchange> <key> # 如果用户已有密钥
perp --json wallet generate evm # 如果用户需要新的EVM钱包
perp --json wallet generate solana # 如果用户需要新的Solana钱包
perp --json wallet show # 验证配置成功Command hangs or waits for input
命令挂起或等待输入
You used an interactive command. NEVER use or any command without . Cancel and retry with .
perp init--json--json你使用了交互式命令。绝不要使用或任何不带的命令。取消操作并重新使用参数重试。
perp init--json--jsonGenerated wallet has zero balance
生成的钱包余额为零
New wallets start empty. Show the address to the user and ask them to fund it with USDC before trading.
新钱包初始为空。向用户展示钱包地址,并要求他们转入USDC后再进行交易。
MCP Server (Advisor Mode)
MCP服务器(顾问模式)
For read-only access without CLI execution:
json
{
"mcpServers": {
"perp-cli": {
"command": "npx",
"args": ["-y", "perp-cli", "mcp"],
"env": {
"HL_PRIVATE_KEY": "<evm-hex>",
"PACIFICA_PRIVATE_KEY": "<solana-base58>"
}
}
}
}MCP Tools: get_markets, get_orderbook, get_funding_rates, get_prices, get_balance, get_positions, get_open_orders, portfolio, arb_scan, health_check, suggest_command, explain_command
如需无需CLI执行的只读访问:
json
{
"mcpServers": {
"perp-cli": {
"command": "npx",
"args": ["-y", "perp-cli", "mcp"],
"env": {
"HL_PRIVATE_KEY": "<evm-hex>",
"PACIFICA_PRIVATE_KEY": "<solana-base58>"
}
}
}
}MCP工具: get_markets, get_orderbook, get_funding_rates, get_prices, get_balance, get_positions, get_open_orders, portfolio, arb_scan, health_check, suggest_command, explain_command