> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0xarchive.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Order flow

> Time-bucketed order-event activity across Hyperliquid core, HIP-3, and HIP-4, with the interval and window params for microstructure work.

Order flow groups raw order events into time buckets. Each row is one time bucket. Each bucket counts matching order-status event rows for limit, trigger, and TP/SL placements, plus fills, cancellations, forced cancellations, and triggered orders. They are not rates or deduplicated unique-order counts. Order flow is available on Hyperliquid core, HIP-3, and HIP-4.

Use it to see how order-event activity changes over time. It does not include price levels, side, size, wallet, or individual order IDs. Order flow is not the resting order book, an individual order's lifecycle, or the executed trade tape.

<Warning>
  Order flow is derived from the same `l4_orders` order-event capture as order history, so it shares its coverage start: Hyperliquid core and HIP-3 begin 2026-03-10; HIP-4 begins 2026-05-02. A query entirely before that window returns `200` with an empty array — that means the dataset doesn't cover that period, not that there was no activity. For activity before the order-event start date, use [Trades](/rest-api/trades) instead.
</Warning>

## Get order flow

<Tabs>
  <Tab title="Hyperliquid">
    ```bash theme={"theme":"github-dark"}
    curl "https://api.0xarchive.io/v1/hyperliquid/orders/BTC/flow?start=1783968600000&end=1783968900000&interval=5m&limit=1" \
      -H "X-API-Key: $OXARCHIVE_API_KEY"
    ```

    `/v1/hyperliquid/orders/{symbol}/flow`. Plain perp symbols such as `BTC`.
  </Tab>

  <Tab title="HIP-3">
    ```bash theme={"theme":"github-dark"}
    curl "https://api.0xarchive.io/v1/hyperliquid/hip3/orders/km:US500/flow" \
      -H "X-API-Key: $OXARCHIVE_API_KEY"
    ```

    `/v1/hyperliquid/hip3/orders/{symbol}/flow`. Namespaced builder symbols, case-sensitive.
  </Tab>

  <Tab title="HIP-4">
    ```bash theme={"theme":"github-dark"}
    curl "https://api.0xarchive.io/v1/hyperliquid/hip4/orders/%230/flow" \
      -H "X-API-Key: $OXARCHIVE_API_KEY"
    ```

    `/v1/hyperliquid/hip4/orders/{symbol}/flow`. Outcome side ids such as `%230`.
  </Tab>
</Tabs>

The current OpenAPI leaves each response item untyped. The Hyperliquid core example below shows one observed response shape. Capture a live fixture before binding a strict client model. Use `interval` to control bucket size; `granularity` is ignored by the live route. This route does not implement cursor pagination.

## Request parameters

| Parameter  | In    | Type    | Required | Description                                          |
| ---------- | ----- | ------- | -------- | ---------------------------------------------------- |
| `symbol`   | path  | string  | Yes      | Trading pair symbol, e.g. `BTC`                      |
| `start`    | query | integer | No       | Start time, Unix milliseconds (e.g. `1767225600000`) |
| `end`      | query | integer | No       | End time, Unix milliseconds                          |
| `interval` | query | string  | No       | Bucket size: `1m`, `5m`, or `1h`. Default `1m`       |
| `limit`    | query | integer | No       | Max results. Default 1000, max 10000                 |

## Example response

Hyperliquid core, `BTC`, one five-minute bucket. The request ID is synthetic.

```json theme={"theme":"github-dark"}
{
  "success": true,
  "data": [
    {
      "timestamp": "2026-07-13T18:50:00Z",
      "limit_orders_placed": 112495,
      "orders_canceled": 110965,
      "orders_filled": 1702,
      "trigger_orders_placed": 232,
      "tpsl_orders_placed": 71,
      "orders_triggered": 54,
      "orders_force_canceled": 1225
    }
  ],
  "meta": {
    "count": 1,
    "request_id": "11111111-1111-4111-8111-111111111111"
  }
}
```

## 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](/rest-api/order-history) for the individual orders or the [L4 order book](/rest-api/order-books-l4) for the resulting resting depth.

The `interval` parameter trades resolution for response size. Finer buckets show more detail but return more rows. Keep the venue family, symbol, window, and interval with every stored result so a later run reproduces the same view.

<Note>
  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.
</Note>

## How it differs

| Dataset                                      | Question it answers                                   | Grain                            |
| -------------------------------------------- | ----------------------------------------------------- | -------------------------------- |
| [Order books](/rest-api/order-books)         | What liquidity is resting?                            | Snapshot or ordered book changes |
| [Trades](/rest-api/trades)                   | What executed?                                        | One fill                         |
| [Order history](/rest-api/order-history)     | What happened to each order?                          | One lifecycle event              |
| Order flow                                   | How did order activity change across time buckets?    | One aggregated time bucket       |
| [Take profits & stop losses](/rest-api/tpsl) | Which trigger orders were placed, fired, or canceled? | One trigger-order event          |

## Stream it live

Order flow is a REST-side aggregation, so there is no order-flow channel. For live order activity, 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. Export the raw order events with the `l4_orders` (Order Events) schema (`$8/GB`, `$25 minimum`) and aggregate to flow downstream. Schema columns and coverage keys are on [Export schemas](/export-schemas).

## Next

Use [Order history](/rest-api/order-history) for per-order detail, [Order books](/rest-api/order-books) for L4 depth, or [Trades](/rest-api/trades) for the fill tape.
