Perps API Overview
The Perps API is the same backend the HyperFlow app trades through. It gives you programmatic access to markets, order placement, account state, and transfers.
The Perps API is in alpha: it serves the invite-gated alpha at alpha.hyperflow.fun/perps, endpoints and schemas may change without notice, and the base URL will change when perps reaches general availability. Trading through the API requires an alpha account like trading through the app.
Base URL: https://alpha-api.hyperflow.fun/api/v1
Integration at a glance
The pages in this section
Trading keys, the EIP-712 domain, and the exact typed-data schemas.
Submit, cancel, modify — including trigger (TP/SL) orders and batching.
Balance, positions, open orders, history, and margin adjustments.
Funding config, deposit tracking, and signed withdrawals.
Response envelope
Every endpoint wraps its payload in the same envelope:
Errors return success: false with an error object:
timestampis Unix milliseconds.- Prices, sizes, and amounts are decimal strings (
"0.00159","2000") — never floats. (Non-monetary ratios like/config’strader_shareare plain JSON numbers.)
The account model
Your API identity is a 32-byte account id derived from your wallet:
Index 0 is the default account, so for wallet 0xAbC…123 the account id is the lowercase wallet followed by 24 hex zeros:
Some endpoints key by the 32-byte account_id, others by the 20-byte wallet — each endpoint’s docs state which.
Authentication model
There is no transport-level auth — no API keys, no bearer tokens. Instead:
- Reads are open, keyed by wallet or account id. This matches Hyperliquid’s model: any wallet’s balances, positions, and history are publicly readable on the underlying venue, and HyperFlow keeps parity rather than pretending otherwise.
- Writes are signed: every state-changing request carries an EIP-712 signature in the body, plus a single-use millisecond
nonce. The server recovers the signer from the signature — see Authentication & Signing.
Market data
HyperFlow does not proxy market data — read it from Hyperliquid’s public API, which is the venue of execution:
Hyperliquid endpoints: https://api.hyperliquid.xyz (REST) and wss://api.hyperliquid.xyz/ws (WebSocket) — see the Hyperliquid API docs.
GET /markets
Static per-market configuration. Live response (trimmed):
Practical limits
Next: Authentication & Signing