# Hyperliquid Generated Order-Book Snapshots

`orderbook_snapshots` is generated data containing individual open orders across available markets at a point in time. It is separate from node-written feeds. Snapshot RPCs are intentionally absent from `ListFeeds` and use their own documented positioning rules.

## Access

| Availability  | Access                                                                                                                                         | Details                                                                                                           |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Live / replay | [StreamOrderbookSnapshots](https://www.dwellir.com/docs/hyperliquid/stream_orderbook_snapshots) and [GetOrderbookSnapshot](https://www.dwellir.com/docs/hyperliquid/get_order_book_snapshot) | Stream generated snapshots from a timestamp or from the latest available record; retrieve one generated snapshot. |
| Live          | [Order Book WebSocket L4](https://www.dwellir.com/docs/hyperliquid/l4-book)                                                                                           | Live snapshot-plus-update alternative for a continuously maintained single-market book.                           |
| Archival      | [S3 Bucket](https://www.dwellir.com/docs/hyperliquid/historical-data)                                                                                                 | S3 coverage for `orderbook_snapshots`: `2026-04-14` to today, stored as `<height>.json.lz4`.                      |

## Snapshot behavior

[StreamOrderbookSnapshots](https://www.dwellir.com/docs/hyperliquid/stream_orderbook_snapshots) accepts an inclusive Unix-millisecond timestamp cursor. With no position, it sends the latest available snapshot immediately and then newer snapshots. A positioned stream begins with the snapshot covering the requested timestamp. [GetOrderbookSnapshot](https://www.dwellir.com/docs/hyperliquid/get_order_book_snapshot) also returns the snapshot covering the requested timestamp; an empty request returns the latest available snapshot.

Snapshot availability and maximum response size vary by endpoint. A timestamp outside retained history returns `NOT_FOUND`, while an oversized response returns `RESOURCE_EXHAUSTED`. In V3, `block_number` and `timestamp` are transport cursors outside decoded `Record.data`. The bytes in `Record.data` decode directly to the snapshot's top-level array.

## Sample data

This synthetic decoded V3 `Record.data` payload visibly redacts the market and client-order identifiers. The numeric order ID is synthetic:

```json
[
  [
    "<redacted-market>",
    [
      [
        {
          "coin": "<redacted-market>",
          "side": "B",
          "limitPx": "114250.0",
          "sz": "0.40",
          "oid": 123456789,
          "timestamp": 1785736809123,
          "triggerCondition": "N/A",
          "isTrigger": false,
          "triggerPx": "0.0",
          "children": [],
          "isPositionTpsl": false,
          "reduceOnly": false,
          "orderType": "Limit",
          "origSz": "0.40",
          "tif": "Gtc",
          "cloid": "<redacted-client-order-id>"
        }
      ],
      []
    ]
  ]
]
```

Each top-level entry is `[coin, [bids, asks]]`. Individual order metadata can vary by order type.

## Observed fields

`[]` marks an array element, `[0]` a tuple position, `<name>` an object whose `type` is that name, and `{key}` a map keyed by user, asset, or ID. Values after a colon are every distinct value seen for a short enum field. A field missing here can still appear in record types the sample did not contain.

Generated from 1 records in `orderbook_snapshots/20261021/1191310000.json.lz4` (2026-10-21).

```text
[]                               array
[][0]                            string
[][1]                            array
[][1][]                          array
[][1][][]                        object
  children                       array
  cloid                          null | string
  coin                           string
  isPositionTpsl                 bool
  isTrigger                      bool
  limitPx                        string
  oid                            number
  orderType                      string: Limit
  origSz                         string
  reduceOnly                     bool
  side                           string: A, B
  sz                             string
  tif                            string: Alo, Gtc
  timestamp                      number
  triggerCondition               string: N/A
  triggerPx                      string
[][]                             array | string
[][][]                           array
[][][][]                         object
  children                       array
  children[]                     object
    children                     array
    cloid                        null | string
    coin                         string
    isPositionTpsl               bool
    isTrigger                    bool
    limitPx                      string
    oid                          number
    orderType                    string: Stop Limit, Stop Market, Take Profit Limit, Take Profit Market
    origSz                       string
    reduceOnly                   bool
    side                         string: A, B
    sz                           string
    tif                          null
    timestamp                    number
    triggerCondition             string
    triggerPx                    string
  cloid                          null | string
  coin                           string
  isPositionTpsl                 bool
  isTrigger                      bool
  limitPx                        string
  oid                            number
  orderType                      string: Limit, Stop Limit, Stop Market, Take Profit Limit
  origSz                         string
  reduceOnly                     bool
  side                           string: A, B
  sz                             string
  tif                            null | string: Alo, Gtc
  timestamp                      number
  triggerCondition               string: N/A, Triggered
  triggerPx                      string
```

## Related pages

- [Order book WebSocket guide](https://www.dwellir.com/guides/order-book-server) — Implement snapshot handling, updates, and reconnection.
- [L4 books](https://www.dwellir.com/docs/hyperliquid/data-catalog/derived/l4-book) — Maintain the order-level live state represented by a snapshot.
