Overview
The Hyperliquid Exchange API provides REST endpoints for trading operations on HyperCore: placing and canceling orders, modifying positions, and managing builder fee approvals. All write operations (orders, cancels, modifications) require an EIP-712 signature from the controlling wallet.
The API is organized into three groups:
- Build - Construct unsigned actions and receive a hash to sign. No signature required. Builder fees are injected at this step.
- Send - Submit pre-built, signed actions to the exchange. Requires the signature produced by your wallet.
- Enhanced Endpoints - Read-only and utility endpoints for querying order state, validating actions before submission, and discovering available markets.
All Exchange API calls go to your Quicknode endpoint with the /hypercore prefix:
https://your-endpoint.quiknode.pro/hypercore/exchange # build and send actions
https://your-endpoint.quiknode.pro/hypercore/approval # check builder fee approval
https://your-endpoint.quiknode.pro/hypercore/openOrders # enriched open orders
https://your-endpoint.quiknode.pro/hypercore/orderStatus
https://your-endpoint.quiknode.pro/hypercore/preflight
https://your-endpoint.quiknode.pro/hypercore/markets
https://your-endpoint.quiknode.pro/hypercore/dexes
Method Reference
Build (no signature)
These endpoints accept human-readable parameters and return a hash and nonce for your wallet to sign. The builder fee is injected automatically.
| Endpoint | HTTP | Path | Description |
|---|---|---|---|
| Build Order | POST | /hypercore/exchange | Build a limit or IOC order |
| Build Market Order | POST | /hypercore/exchange | Build a market order (fetches mid price, applies 3% slippage) |
| Build Close Position | POST | /hypercore/exchange | Build a market close for an open position |
| Build Cancel | POST | /hypercore/exchange | Build a cancel action for one or more orders |
| Build Modify | POST | /hypercore/exchange | Build a batch modify for one or more open orders |
| Build Approval | POST | /hypercore/exchange | Build a builder fee approval action |
| Build Revoke | POST | /hypercore/exchange | Build a builder fee revoke action |
Send (with signature)
These endpoints accept the wire-format action returned by a build call, plus the EIP-712 signature from your wallet, and submit the action to the exchange.
| Endpoint | HTTP | Path | Description |
|---|---|---|---|
| Send Order | POST | /hypercore/exchange | Submit a signed order |
| Send Cancel | POST | /hypercore/exchange | Submit a signed cancel |
| Send Modify | POST | /hypercore/exchange | Submit a signed batch modify |
| Send Approval | POST | /hypercore/exchange | Submit a signed builder fee approval |
| Send Revoke | POST | /hypercore/exchange | Submit a signed builder fee revoke |
Enhanced Endpoints
Read-only and utility endpoints. No signature required.
| Endpoint | HTTP | Path | Description |
|---|---|---|---|
| Check Approval | GET | /hypercore/approval | Check whether a builder fee approval is active for a user |
| Open Orders | POST | /hypercore/openOrders | Enriched open orders with pre-built cancel actions |
| Order Status | POST | /hypercore/orderStatus | Check order status with a plain-English explanation |
| Preflight | POST | /hypercore/preflight | Validate an order action before signing or submitting |
| List Markets | GET | /hypercore/markets | All available perp, spot, and HIP-3 markets |
| List Dexes | GET | /hypercore/dexes | All active HIP-3 builder DEX names |
The Build/Send Pattern
Hyperliquid separates transaction construction from signing and submission. The recommended flow for placing an order:
- Build - POST to
/hypercore/exchangewith your order parameters. The response includes ahash(the EIP-712 digest to sign) and the full wire-formatactionobject with the builder fee injected. - Sign - Sign the
hashwith your wallet's private key using EIP-712. This produces an{r, s, v}signature. - Send - POST to
/hypercore/exchangewith the wire-formataction, thenoncefrom the build response, and yoursignature.
# Step 1: Build
curl -X POST https://your-endpoint.quiknode.pro/hypercore/exchange \
-H "Content-Type: application/json" \
-d '{
"action": {
"type": "order",
"orders": [{"asset": "BTC", "side": "buy", "price": "100000", "size": "0.001", "tif": "ioc"}]
}
}'
# Response includes: hash, nonce, action (wire format with builder fee)
# Step 2: Sign hash with your wallet (off-chain, EIP-712)
# Step 3: Send
curl -X POST https://your-endpoint.quiknode.pro/hypercore/exchange \
-H "Content-Type: application/json" \
-d '{
"action": { ... },
"nonce": 1234567890,
"signature": {"r": "0x...", "s": "0x...", "v": 28}
}'
If you use a Quicknode SDK (Python, TypeScript, Go, or Rust), the SDK handles signing and wraps both steps for you. See Supported Hyperliquid SDKs.
Builder Fees
All build and send endpoints operate via Quicknode's builder infrastructure. The Exchange API does not consume Quicknode API credits; transactions are appended with a builder fee during the build step. See hyperliquidapi.com for a full fee breakdown. If you need to supply your own builder code, refer to the Hyperliquid builder codes documentation. To white-label this service with your own builder code, contact Quicknode.
Users on the free trial plan share a public endpoint that is not specific to your Quicknode account. See hyperliquidapi.com for details or join the Quicknode Discord for support.