Get order flow
- Hyperliquid
- HIP-3
- HIP-4
/v1/hyperliquid/orders/{symbol}/flow. Plain perp symbols such as BTC.interval or granularity. They take the same values, and interval wins when both are sent. Long windows page with cursor and limit; see Page through a window.
Request parameters
Example response
Hyperliquid core,BTC, one five-minute bucket. The request ID is synthetic. The window holds exactly one bucket, so the response has no meta.next_cursor.
Buckets
Each bucket is labelled by its open time in UTC. Buckets open on multiples of the interval since the Unix epoch, so5m buckets open at :00, :05, :10, and so on. A bucket with no matching events is omitted, so a quiet market returns fewer rows than its window has buckets.
A bucket counts only the events inside [start, end). When start or end falls inside a bucket, that first or last bucket counts only its part of the window. Put start and end on bucket opens to get whole buckets.
Page through a window
A page holds the oldestlimit buckets of the window. When the page is full and the window continues after its last bucket, meta.next_cursor contains that bucket’s open time as decimal Unix milliseconds. The continuation value is a string. Pass meta.next_cursor back unchanged. Keep the same start, end, and interval, and stop when meta.next_cursor is absent. Pages never split a bucket, and joined in order they hold the same buckets as one page large enough for the whole window.
A full day of 1m buckets at the default limit is two pages: 1,000 buckets, then the other 440.
start and end when you page. Without them, each request resolves its own defaults from the current time. Do not calculate or increment a cursor. Values that are not decimal Unix milliseconds return 400. General cursor handling is on Pagination.
When to use it
Use Order flow to compare how placement, cancellation, fill, and trigger counts change between buckets. If placements and cancellations rise while fills stay flat, the book may be churning without comparable execution. Inspect Order history for the individual orders or the L4 order book for the resulting resting depth. Theinterval parameter trades resolution for response size. Finer buckets show more detail but return more rows, and so more pages. Keep the venue family, symbol, window, and interval with every stored result so a later run reproduces the same view.
Order flow and the L4 order book use the same order-event source but answer different questions. L4 reconstructs the resting orders. Order flow summarizes event activity by time bucket.
How it differs
Access
Each venue’s start date, WebSocket channels, and page limit come fromGET /v1/capabilities, followed by the SDK, CLI, and MCP names for the same data. The start date is the first served row on that venue; exact starts vary by market, so check /v1/symbols for a single symbol. Send 0xArchive-Version: 2026-10-01 for the current response contract; see API conventions.
Stream it live
Order flow is a REST-side aggregation, so there is no order-flow channel. For live order activity, use the WebSocket channel family matrix to stream the L4 order events (l4_orders, or the venue-prefixed variant) and aggregate the order-event activity yourself.
Export in bulk
There is no standalone order-flow export schema. Use Data Catalog exports to export the raw order events with thel4_orders (Order Events) schema ($4/GB, $12.50 minimum) and aggregate to flow downstream. Schema columns and coverage keys are on Export schemas.