Skip to main content

Introducing HIP-3 L4 and TP/SL Order Data

HIP-3 L4 and TP/SL order data: resting depth, order lifecycle events, trigger concentrations, resulting fills, and route references.

3 min read

Key findings

  1. What shipped
  2. Resting depth is not lifecycle
  3. Lifecycle sequence
  4. WebSocket access

On March 16, 2026, 0xArchive released HIP-3 L4 and TP/SL order data for Hyperliquid-family research. The release adds resting order-level depth, order-event history, trigger-order records, and routes for the fills that follow. For generic Hyperliquid order-book coverage, use the Hyperliquid order-book guide.

curl "https://api.0xarchive.io/v1/hyperliquid/hip3/orders/xyz:CL/history?start=1773586275000&end=1773590000000&limit=1" \
  -H "X-API-Key: $OXARCHIVE_API_KEY"

Keep xyz:CL namespaced. The same route family uses core symbols such as BTC, Spot pairs such as HYPE-USDC, HIP-3 builder symbols, and HIP-4 outcome identifiers with their own path and symbol rules.

What shipped

SurfaceRoute familyWhat it returns
Resting L4 book/orderbook/{symbol}/l4, /l4/history, /l4/diffsOrders currently resting in the book, with oid, wallet, side, price, and size
Order lifecycle/orders/{symbol}/historyPlaced, partially filled, filled, canceled, and status-change events
TP/SL lifecycle/orders/{symbol}/tpslTrigger-order rows with type, condition, status, and timestamps
Pending trigger concentrations/orders/{symbol}/trigger-levelsPrice buckets for pending TP/SL trigger orders
Resulting fills/trades/{symbol}Executed trade rows to join back to an order or trigger event

The L4 book records the current state of resting orders. The order and TP/SL routes record changes over time. A trigger can be placed, canceled, or fired without being the same row as a resulting fill. Join to trades when execution matters.

Resting depth is not lifecycle

A resting L4 snapshot answers: which orders are in the book at this checkpoint? An l4_orders or /tpsl row answers: what happened to an order? The /trigger-levels route answers: where are pending trigger orders concentrated around the current price? Keep the three questions separate in storage and analysis.

{
  "oid": 349728378873,
  "side": "B",
  "price": 101.41,
  "size": 0.123,
  "user_address": "0xredacted"
}

Lifecycle sequence

  1. Read the resting book or order history for the selected symbol and UTC window.
  2. Filter lifecycle rows by status, order_type, is_trigger, and is_position_tpsl.
  3. Use /trigger-levels for pending concentration. Do not use it as a completed liquidation map.
  4. Join triggered or filled records to /trades/{symbol} to confirm the resulting execution.
  5. Preserve the cursor chain, response schema, and meta.request_id for every page.

Order-event coverage is route and symbol specific. A pre-coverage window can return a valid empty page. Check the catalog and status before treating it as proof of no activity.

Use symbol coverage with gaps to check order-event coverage for the selected API family and UTC window. The catalog lists Parquet exports; status reports incidents.

WebSocket access

Read the key from an environment variable and keep it out of browser bundles, logs, screenshots, and shared notebooks. A server-side Node.js connection using the ws package can send Bearer authentication during the handshake:

import WebSocket from "ws";

const apiKey = process.env.OXARCHIVE_API_KEY;
const ws = new WebSocket("wss://api.0xarchive.io/ws", {
  headers: { Authorization: `Bearer ${apiKey}` },
});

ws.onopen = () => {
  ws.send(JSON.stringify({ op: "subscribe", channel: "hip3_l4_orders", symbol: "xyz:XYZ100" }));
};

The legacy apiKey query parameter remains compatibility-only for private server-side scripts. Use the Bearer handshake for new integrations, and never put credentials in browser-facing URLs or logs.

For a browser client, proxy the connection through a backend rather than exposing the key. Preserve close codes, reconnect count, channel, symbol, and any request or correlation ID in the application log.

Route references

Use the L4 order-book reference for resting depth, Order history for the wider lifecycle, and Take profits and stop losses for trigger-order fields. The Order flow reference aggregates order events by time bucket. Use the WebSocket connection guide for authentication and reconnect handling.

For generic depth, return to the Hyperliquid order-book guide. For current API availability and plan details, use the Hyperliquid data API, data catalog, pricing, and status.