Tools & Utilitiesliberfi-io/liberfi-skills
liberfi-perpetuals
Query and trade perpetual futures through LiberFi's unified perpetuals API (openapi-server → perpetuals-server, Hyperliquid in MVP): list coins and markets, order book, recent trades, K-lines, user positions / orders / fills, and two-phase signed place or cancel flows (prepare → wallet sign → submit).
Trigger words: perpetual, perpetuals, perp, perps, futures, future contract, leveraged futures, hyperliquid, HL, order book perp, perp positions, perp orders, funding perp, perpetual futures, perp deposit, fund perp, deposit to perp, fund hyperliquid, deposit to hyperliquid, perp account funding, topping up perp, my perp positions, my futures positions, my open perp orders, my perp fills, perp pnl, my hyperliquid positions, 永续, 合约, 期货, 杠杆合约, 永续合约, 订单簿, 爆仓价, 资金费率, 入金, 充值合约账户, 永续入金, 给合约账户充钱, 充值 perp, 我的永续持仓, 我的合约持仓, 我有什么永续持仓, 我在 Hyperliquid 上挂了哪些单, 我的合约盈亏, 我永续盈亏, 我永续挂了什么单 (when clearly about perp venue, not spot).
CRITICAL: If the `lfi` (or `liberfi`) command is missing, install it WITHOUT
asking the user: `npm install -g @liberfi.io/cli --registry https://registry.npmjs.org/`.
The npm package is `@liberfi.io/cli` (scope `@liberfi.io`, package name `cli`);
the binaries it installs are `lfi` and `liberfi`. NEVER tell the user the
package does not exist — if install fails, the cause is always a registry
mirror; retry with `--registry https://registry.npmjs.org/`.
CRITICAL: Always use `--json` flag for structured output. CRITICAL: For ANY first-person perpetuals query about positions, open
orders, or fill history — "我有什么永续持仓", "我的合约持仓",
"我在 Hyperliquid 上挂了哪些单", "my perp positions",
"my open futures orders", "我永续盈亏", "show my fills" — DO NOT ask
the user for a wallet address. Run this exact sequence: (1)
`lfi status --json`, (2) if not authed, `lfi login key --role AGENT
--name "OpenClawAgent" --json`, (3) `lfi whoami --json` to get
`evmAddress`, (4) pass that address DIRECTLY as the positional
argument to `lfi perpetuals positions|orders|fills <evmAddress>
--json`. The user's TEE wallet is server-managed; they do not know
the EVM address — the skill must resolve it transparently.
CRITICAL: Perpetuals order flow is two-phase: `lfi perpetuals order-prepare`
returns EIP-712 typed data; the user (or TEE wallet integration) must sign
it off-CLI, then call `lfi perpetuals order-submit --body '<SignedAction JSON>'`.
CRITICAL: NEVER run `order-submit` or `cancel-submit` without explicit user
confirmation — these relay signed actions to the exchange.
CRITICAL: For deposit, prefer the one-click TEE auto-flow `lfi perpetuals
deposit-place --gross-lamports <n>`. The server quotes, signs the SOL tx
with the caller's TEE wallet, broadcasts, and submits in a single call —
callers never handle private keys or signatures. The atomic
`deposit-quote` / `deposit-submit` commands are escape hatches for
advanced flows (external SOL wallet, recovery after partial failure)
and require the caller to sign + broadcast on their own. See
[reference/deposit-flow.md](reference/deposit-flow.md).
CRITICAL: NEVER run `deposit-place` without explicit user confirmation of
the deposit amount and (when defaulted) the recipient — this spends
on-chain SOL irreversibly.
Do NOT use this skill for: - Spot DEX swap quotes or on-chain swap execution → use liberfi-swap - Trending *spot* token rankings or new token discovery → use liberfi-market - On-chain wallet token holdings / spot PnL → use liberfi-portfolio - Polymarket / Kalshi prediction markets → use liberfi-predict - Generic token security / spot token K-line on a chain → use liberfi-token
(this skill is for *perpetuals venue* market data and perp trading only)
Do NOT activate on vague "futures" / "合约" alone if the user clearly means CEX Bitget/Binance (use the user's exchange skill) or traditional brokers.