perp-cli
The perp-cli MCP server provides a comprehensive interface for managing perpetual futures trading across Pacifica, Hyperliquid, and Lighter exchanges, covering market data, portfolio management, trade execution, arbitrage analysis, and performance tracking.
Market Data (No API keys required)
Markets — List available perpetual futures markets with price, funding rate, volume, and max leverage
Orderbook — Retrieve bids and asks for a specific symbol
Funding Rates — Compare funding rates across all 3 exchanges with spread analysis
Prices — Fetch and compare mark prices across exchanges
Arb Scan — Scan for funding rate arbitrage opportunities by cross-exchange funding spread
Health Check — Ping all exchanges for connectivity status and latency
Account & Portfolio (API keys required)
Balance — View account equity, available margin, margin used, and unrealized PnL
Positions — See all open positions with size, entry price, PnL, and leverage
Open Orders — List all pending orders on an exchange
Portfolio — Unified cross-exchange summary of balances, positions, and risk metrics
Trading (API keys required)
Trade Preview — Simulate a trade to see estimated fill price, fees, margin impact, and risk checks before executing
Trade Execute — Place market or limit buy/sell orders
Trade Close — Close an existing position
Analysis & Intelligence
Funding Analysis — Cumulative funding income, annualized rates, and per-position breakdown over configurable periods
PnL Analysis — Net profit/loss combining trading fees and funding income with daily breakdown by exchange
Arb Compare — Side-by-side comparison of active arbitrage positions showing ROI, funding income, price PnL, and annualized returns
Command Assistance
Suggest Command — Convert natural language goals into exact CLI commands
Explain Command — Get detailed explanations of CLI commands, parameters, and associated risks
Supports perpetual futures trading, market data access, and account management on Ethereum-based exchanges such as Lighter.
Enables interaction with Solana-based perpetual futures exchanges like Pacifica for trading, portfolio management, and market analysis.
Provides tools to configure and manage automated funding rate alerts via a Telegram bot and background daemon.
Facilitates background job management for long-running trading bots and alert systems using tmux sessions.
perp-cli
Multi-DEX perpetual futures CLI — Pacifica (Solana), Hyperliquid (HyperEVM), Lighter (Ethereum), Aster (BNB Chain).
npm install -g perp-cli # global install
perp --json portfolio
# Or without global install (restricted environments)
npx -y perp-cli --json portfolioFeatures
4 Exchanges — trade, bridge, arbitrage across Pacifica, Hyperliquid, Lighter, Aster
Funding Rate Arb — perp-perp + spot-perp scan & one-command dual-leg execution
Portfolio — single call returns balances, positions, risk level across all exchanges
Funds — deposit, withdraw, transfer, multi-provider bridge (cctp/relay/debridge), inter-exchange rebalance — all in one group
Bots — TWAP, grid, DCA, trailing-stop with background job management
Agent-First Design —
--json,--fields,--ndjson,--dry-run, runtime schema introspectionSafety — pre-trade validation, response sanitization, client-id deduplication
Related MCP server: Jupiter Perps MCP Server
Setup
# Set exchange keys
perp wallet set pac <SOLANA_KEY> # Pacifica
perp wallet set hl <EVM_KEY> # Hyperliquid
perp wallet set lt <EVM_KEY> # Lighter (API key auto-generated)
perp wallet set aster <API_KEY> # Aster (BNB Chain)
# Or interactive setup wizard
perp setup
# Verify
perp wallet showSame EVM key works for both Hyperliquid and Lighter.
Lighter API Key Index: Indexes 0–3 are reserved by Lighter's frontend (web/mobile). perp-cli defaults to index
4. Override withLIGHTER_API_KEY_INDEXenv var, or useperp wallet agent approve lighter --api-key-index <n>for managed agent slots. Valid range: 4–254.
Command Groups
Group | Description |
| Prices, orderbook, funding, klines, HIP-3 dexes |
| Balance, positions, orders, margin |
| Market/limit/stop orders, close, scale, split execution |
| Hyperliquid Outcome (HIP-4) — binary/range contracts, USDH-quoted, no leverage |
| Funding rate arb — scan, exec, close, monitor (perp-perp & spot-perp) |
| 19 bot algorithms (grid, dca, twap, APEX, REFLECT, presets) + nested scripted plans |
| Deposit, withdraw, transfer, cross-chain bridge (multi-provider), inter-exchange rebalance |
| Risk limits, liquidation distance, guardrails |
| Multi-wallet management, agent wallets ( |
| Execution log, PnL, performance breakdown |
| Cross-exchange unified overview (replaces former |
| Adapter health check across all 4 DEX |
| CLI settings (referrals, defaults, fees) |
| Strategy backtesting |
| Background process supervisor (tmux sessions for strategies, alerts, etc.) |
| Funding rate alerts (Telegram / Discord) with background daemon |
| Interactive setup wizard (alias: |
Core Commands
# Portfolio (balances + positions + risk across all exchanges)
perp --json portfolio
# Market data
perp --json -e <EX> market list
perp --json -e <EX> market book <SYM>
perp --json -e <EX> market mid <SYM> # fast mid-price lookup
perp --json -e <EX> market funding <SYM>
perp --json -e <EX> market kline <SYM> 1h # candlestick data
perp --json -e hl market hip3 # list HIP-3 deployed dexes
# Trading
perp --json -e <EX> trade buy <SYM> <SIZE> # shortcut for market buy
perp --json -e <EX> trade sell <SYM> <SIZE> # shortcut for market sell
perp --json -e <EX> trade market <SYM> buy <SIZE> --smart # IOC limit (less slippage)
perp --json -e <EX> trade split <SYM> buy 5000 # orderbook-aware split (large orders)
perp --json -e <EX> trade close <SYM>
perp --json -e <EX> trade flatten # close ALL positions on exchange
perp --json -e <EX> trade reduce <SYM> 50 # reduce position by 50%
perp --json -e <EX> trade cancel <SYM> # cancel by symbol (or orderId)
perp --json -e <EX> trade tpsl <SYM> long # set take-profit / stop-loss
perp --json -e <EX> trade leverage <SYM> <N>
# Account
perp --json -e <EX> account balance
perp --json -e <EX> account positions
perp --json -e <EX> account pnl # realized + unrealized + funding
perp --json -e <EX> account funding # personal funding payment history
perp --json -e <EX> account settings # per-market leverage & margin mode
# Outcome markets (Hyperliquid HIP-4 — fully-collateralized binary contracts, USDH-quoted, $10 min)
perp --json outcome list # active markets + Yes/No mid prices
perp --json outcome view <outcome> # symmetric Yes/No book + underlying gap + expiry
perp --json outcome book <outcome> <side> # one-side orderbook (e.g. '1 yes' or '1 0')
perp --json outcome positions # open outcome holdings
perp --json outcome orders # open outcome orders
perp --json outcome buy <outcome> <side> <usd> --dry-run # validate before submit
perp --json outcome buy <outcome> <side> <usd> # market buy in USDH notional
perp --json outcome sell <outcome> <side> <usd> --limit <px> --tif gtc
perp --json outcome cancel <outcome> <side> <oid>
# Funding rate arbitrage
perp --json arb scan --min 5 # perp-perp opportunities
perp --json arb scan --mode spot-perp # spot+perp opportunities
perp --json arb scan --rates # funding rates across all exchanges
perp --json arb scan --basis # cross-exchange basis opportunities
perp --json arb scan --gaps # cross-exchange price gaps
perp --json arb scan --hip3 # HIP-3 cross-dex funding spreads
perp --json arb scan --live # continuous live monitoring
perp --json arb exec <SYM> <longEx> <shortEx> <$> # perp-perp dual-leg entry
perp --json arb exec <SYM> spot:<exch> <perpEx> <$> # spot+perp entry
perp --json arb config # show arb defaults
perp --json arb history # past arb trade performance (alias: log)
# Funds (deposit, withdraw, transfer, bridge, rebalance)
perp --json funds deposit hyperliquid 100
perp --json funds withdraw pacifica 50
perp --json funds transfer 100 <ADDRESS> # HL internal transfer (instant)
perp --json funds bridge quote --from solana --to arbitrum --amount 100
perp --json funds bridge send --from solana --to arbitrum --amount 100 # auto-cheapest provider
perp --json funds bridge exchange --from pacifica --to hyperliquid --amount 100
perp --json funds rebalance check # balances across exchanges
perp --json funds rebalance plan # compute optimal moves
perp --json funds rebalance execute --auto-bridge # withdraw → bridge → deposit
perp --json funds info # all routes & limits
# Risk
perp --json risk limits --max-leverage 5
perp --json risk liquidation-distance
# Strategies (19 bot algorithms + nested scripted plans)
perp strategy list-strategies # list all available strategies
perp strategy run <strategy> [symbol] # run any strategy
perp strategy apex [symbol] # APEX autonomous orchestrator
perp strategy reflect # trading performance analysis
perp strategy preset-list # list strategy presets
perp --json strategy twap <SYM> buy <SIZE> 30m
perp --json strategy grid <SYM> --range 5 --grids 10 --size 100
perp strategy plan example # scripted multi-step plan format
perp --json strategy plan validate <FILE> # validate scripted plan
perp --json strategy plan execute <FILE> --dry-run # dry-run scripted plan
# Background process supervisor (tmux)
perp background list # list running jobs
perp background stop <ID> # stop a job
perp background logs <ID> -f # follow logs
Telegram Alerts
Funding rate alerts via Telegram with background daemon support.
# Interactive setup (BotFather token + chat ID auto-detection)
perp alerts setup
# Add alert rules
perp alerts add ETH 30 # alert when ETH funding > 30% annualized
perp alerts add --all 50 # alert for any symbol > 50%
# Test & manage
perp alerts test # send test message
perp alerts list # show active rules
# Run daemon
perp alerts start # foreground
perp alerts start --background # tmux background daemon
perp alerts stop # stop background daemonSetup flow: BotFather token → bot validation → send /start to bot → auto-detect chat ID → test message.
Exchange flag: -e hyperliquid / -e pacifica / -e lighter / -e aster (aliases: hl, pac, lt).
Global flags: --json, --fields <f>, --ndjson, --dry-run, --dex <name> (HIP-3), -w, --wallet <name>.
MCP Server
perp-cli includes a full-featured MCP server (18 tools, 3 resources, 2 prompts) for Claude Desktop, Cursor, and other MCP clients.
No API keys required for market data — explore prices, orderbooks, funding rates, and arb opportunities without any setup. Add keys only when you want to trade.
{
"mcpServers": {
"perp-cli": {
"command": "npx",
"args": ["-y", "-p", "perp-cli", "perp-mcp"]
}
}
}Optional: add keys for trading and account data:
{
"env": {
"PACIFICA_PRIVATE_KEY": "your-solana-key",
"HYPERLIQUID_PRIVATE_KEY": "your-evm-key",
"LIGHTER_PRIVATE_KEY": "your-evm-key",
"ASTER_API_KEY": "your-api-key"
}
}Read-only tools (no keys): get_markets, get_orderbook, get_funding_rates, get_prices, arb_scan, health_check
Account & trading tools (keys required): get_balance, get_positions, portfolio, trade_preview, trade_execute, trade_close, get_funding_analysis, get_pnl_analysis, get_arb_compare
Resources: market://prices, market://funding-rates, perp://schema
Prompts: trading-guide, arb-strategy
AI Agent Skill
Drop-in skill for Claude Code, Cursor, Codex, Gemini CLI, and other agent CLIs. Bundles a non-interactive command guide, ops playbook, strategy framework, and reusable shell scripts (preflight, arb monitor, validation) so your agent stops at the right confirmation points and never wedges on interactive wizards.
Install
# Claude Code — slash command
/install-skill hypurrquant/perp-cli
# Cursor / Codex / generic agent CLIs — via npx
npx skills add hypurrquant/perp-cli
# Manual install (any agent that reads a Skills directory)
git clone https://github.com/hypurrquant/perp-cli.git
cp -R perp-cli/skills/perp-cli ~/.claude/skills/ # or your CLI's skills dirThe skill ships inside the npm package (perp-cli/skills/perp-cli), so a global install also makes it available locally:
npm install -g perp-cli@latest
ls "$(npm root -g)/perp-cli/skills/perp-cli"What's in the skill
File | Purpose |
| Top-level agent guide — rules, workflows, examples |
| Full non-interactive command reference (every group) |
| Setup flows, idempotency, error handling, common mistakes |
| Funding-arb decision framework + risk management |
| Install + wallet + connectivity + risk readiness check |
| Live monitor for open arb positions |
| Scan spot+perp opportunities with balance context |
| Cross-exchange funding overview / per-symbol drilldown |
| Pre-execution validation (price / balance / risk / dry-run) |
See skills/perp-cli/SKILL.md for the full agent guide.
Agent-First CLI Design
Built following agent-first CLI principles:
# Every command returns structured JSON envelope
perp --json portfolio
# → { "ok": true, "data": {...}, "meta": { "timestamp": "..." } }
# Filter output to specific fields (saves tokens)
perp --json --fields totalEquity,risk portfolio
# Stream large lists as NDJSON (one JSON per line)
perp --json --ndjson -e hl market list
# Pre-validate before executing
perp --json -e hl trade check BTC buy 0.01
perp --json --dry-run -e hl trade market BTC buy 0.01
# Idempotent orders with client ID
perp --json -e hl trade market BTC buy 0.01 --client-id my-unique-idAll responses are auto-sanitized (control chars stripped, prompt injection patterns blocked).
Errors include retryable flag — only retry when true.
License
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hypurrquant/perp-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server