Releases: hypurrquant/perp-cli
v0.6.4
v0.6.3
Changes
e54f2f6 chore: bump version to 0.6.3
f9f7d90 fix: Lighter funding — add required limit/side params + position_fundings field
1f5c90c fix: account funding command — default limit 30 → 200 with -n option
f361541 fix: increase default funding limit to 200 for Pacifica + Lighter
1e78529 fix: funding entryTime filter with 1h buffer for multi-leg entry
53f6c71 fix: remove entryTime filter for arb funding — matches exchange dashboard
9cf5e9a fix: HL getFundingPayments — direct API call instead of SDK
d613c73 fix: use actual funding from exchange API instead of estimate
eab035b fix: spot-perp netPnl now includes spot PnL (was perp-only)
c1d8e64 feat: detailed spot-perp arb status — per-leg qty, entry/current price, PnL breakdown, ROI
npm: npm install -g perp-cli@v0.6.3
MCP: npx -y -p perp-cli perp-mcp
Full Changelog: v0.6.2...v0.6.3
v0.6.2
Changes
8c1a622 chore: bump version to 0.6.2
3d68edc docs: update README + SKILL with keyless MCP, Glama badge
9d4a8af fix: MCP get_orderbook works without API keys (public API fallback)
ac28234 fix: integration test — hidden api-spec + empty stdout in CI
45afcd5 fix: integration test config for vitest v4
686c8a7 chore: add Node 24 LTS to supported engines
d94fb7e fix: MCP get_markets works without API keys (public API fallback)
4bfaf90 chore: add org maintainer to glama.json
npm: npm install -g perp-cli@v0.6.2
MCP: npx -y -p perp-cli perp-mcp
Full Changelog: v0.6.1...v0.6.2
v0.6.1
Changes
- fix: Correct npx args for MCP server (
-pflag for non-default binary) - chore: Glama MCP directory claim (
glama.json+Dockerfile) - chore: GitHub topics, npm keywords,
.cursorrules, MCP README section
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's New
Telegram/Discord Alerts
perp alerts setup— interactive Telegram/Discord setupperp alerts add ETH 30— funding rate alert rulesperp alerts start --background— tmux background daemon
Enhanced Analytics
perp analytics funding --period 30d [--daily]— cumulative funding with arb position breakdownperp analytics pnl --period 30d— combined fees + funding net P&L with daily breakdownperp analytics compare— side-by-side arb position ROI comparison
MCP Server Full Upgrade (12 → 18 tools)
- Trade tools:
trade_preview→trade_execute→trade_close(dry-run + confirm safety model) - Analytics tools:
get_funding_analysis,get_pnl_analysis,get_arb_compare - Resources:
market://prices,market://funding-rates(1 → 3) - Prompts:
trading-guide,arb-strategy(0 → 2)
CLI Branding
perp(no args) now shows branded banner + exchange connectivity + balance/position summary- README badges (npm version, downloads, license)
Skill npm Package
skills/perp-cli/package.json— publishable as@hypurrquant/perp-cli-skill
Full Changelog: v0.5.3...v0.6.0
v0.5.3
What's New
Unified Status Dashboard
perp statusnow shows balances + spot holdings + positions + top arb opportunities in one view- Per-exchange margin usage bar chart with color coding (green < 30%, yellow < 60%, red ≥ 60%)
- Spot token holdings (PURR, HYPE, etc.) displayed below balances with USD value
- Responsive layout: side-by-side on wide terminals, stacked on narrow ones
24h Trend & Historical Averages
arb scan --ratesshows 24h trend arrows (▲ rising / ▼ falling / ─ stable)- 24h and 7d average funding rates from local history (zero API calls)
API Call Optimization
- Reduced
perp statusfrom ~25 to ~17 HTTP calls via cache sharing:- HL: shared spot clearinghouse state between perp and spot adapters
- LT: shared account data between perp and spot adapters
- LT: spot market prices cached from init (eliminates per-market orderbook calls)
- LT: skip account index lookup when
LIGHTER_ACCOUNT_INDEXenv is set
Fixes
- Min order sizing enforced in arb exec (prevents orders below exchange minimums)
- Fixed test imports and outdated command references
- LT rate limit retry delay increased (1s → 2s)
Full Changelog: v0.5.2...v0.5.3
v0.5.2
v0.5.2 — Command Aliases + Docs Overhaul
New Commands & Aliases
account funding→ alias foraccount funding-historyarb log→ alias forarb historyarb config→ shows arb auto default settingsaccount settingsnow works on all exchanges (HL/Lighter derive from positions)
Documentation Overhaul
- SKILL.md: Rewritten for v0.5.1 (339→172 lines), workflow-focused
- MCP server: Fixed 10+ references to non-existent commands (
gap,stream,arb rates/dex/funding), updated cli_schema resource with missing subcommands - README.md: Expanded Core Commands (trade buy/sell/flatten/tpsl, account pnl/funding, arb scan modes, market mid/kline/hip3), added global flags (
--dex,-w) - cli-spec.ts: Fixed incorrect tips (
health→agent ping,settings set→settings referrals)
Full Changelog
v0.5.1
v0.5.1 — QA Bug Fixes
5 bugs found during comprehensive CLI QA (97 commands tested across 3 exchanges).
Fixes
- HL TP/SL orders: Fixed "User or API Wallet does not exist" error — trigger object key order (
isMarketbeforetriggerPx) + trailing zero normalization to match HL validator hash arb scan --basis ETH: Now correctly filters to the specified symbol instead of showing alltrade cancel ETH: Supports cancel-by-symbol — cancels all open orders for that symbol (previously only accepted orderId)- Lighter
market trades: Size column now populated (was empty due to wrong API field mapping) account settingson HL/Lighter: Clear "only available on Pacifica" message instead of misleading "requires --exchange pacifica"
QA Results (97 commands tested)
- Market commands: 28/28 pass
- Account commands: 25/25 pass
- Arb commands: 17/17 pass
- Trade commands: 27/27 pass (including real orders on HL + Lighter)
Full Changelog
v0.5.0
v0.5.0 — Arb Consolidation + HIP-3 + TUI Improvements
Arb Command Consolidation
- Consolidated 25 arb subcommands → 9 (
scan,exec,close,auto,status,log,config,alerts,export) arb scanis now the single entry point:--rates,--basis,--gaps,--hip3,--history,--positions,--compare--basis [symbol]/--history [symbol]accept optional symbol argument- Default scan mode changed from
perp-perp→all(shows both spot-perp and perp-perp)
Price Gap Monitoring (NEW)
arb scan --gaps— cross-exchange price gap tablearb scan --live— continuous auto-refresh monitoringarb scan --track -s ETH— track a symbol's price gap over timearb scan --alert 0.5 -s ETH— alert when gap exceeds threshold
HIP-3 Deployed Dex Support
- Global asset index scheme (110000 + dexOffset) for HIP-3 order placement
- Fixed dex orderbook (requires dex-prefixed coin name +
dexparam) - Cancel/trigger orders via raw action (SDK doesn't support dex)
--hip3flag formarket list,account positions,account orders- Symbol matching supports dex prefix (e.g.,
market info US500matcheskm:US500)
TUI Improvements
- Orderbook: spread value ($+%), cumulative USD depth, visual depth bars
- Arb scan tables: proper column alignment via cli-table3
- Market list: per-exchange tables in multi-exchange mode
Fixes
- Lighter:
toTicks()validation prevents silent 0-size orders on tiny amounts - Lighter: position leverage shows actual (notional/equity) not max
- HL: better error handling for non-JSON API responses
- HL:
triggerOrder()uses raw action wire format (fixes "Unknown asset" errors) - Account settings: fix crash when API returns non-array
- JSON
totalSpotValueUsdexcludes unified USDC + HIP-3 open orders - Liquidity: 10% buffer for executable size calculation
- Default bridge cost: $0.50 → $0 (same-chain arbs have no bridge cost)
Full Changelog
v0.4.12
What's Changed
- Fix Lighter spot balance double-counting — perp USDC collateral was being added to spot total, inflating the balance display
- Fix HL unified account double-counting (from v0.4.11)
- Multi-exchange default for
account positions,account orders,market prices(from v0.4.11)
Install / Update
npm install -g perp-cli@latest