> ## 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.

# L3OrderBookSnapshot Schema

> Current or historical Lighter L3 orderbook snapshot. Includes parameters, response shapes, examples, and implementation notes from the 0xArchive contract.

Source OpenAPI: 0xArchive API 1.7.0; 218 paths; 210 component schemas.

Current or historical Lighter L3 orderbook snapshot.

## Required Fields

| Field | Type | Description |
| - | - | - |
| `ask_count` | integer | Ask order count for the stored checkpoint view. |
| `bid_count` | integer | Bid order count for the stored checkpoint view. |
| `coin` | string | Lighter trading pair symbol. |
| `mid_price` | string | Mid price as a decimal string when both sides are present; null otherwise. |
| `orders` | array\<object> | Individual resting orders in the served L3 view. |
| `spread` | string | Absolute spread as a decimal string when both sides are present; null otherwise. |
| `spread_bps` | string | Spread in basis points as a decimal string when both sides are present; null otherwise. |
| `timestamp` | string:date-time | Snapshot timestamp in UTC. |
| `total_ask_size` | number | Aggregate remaining venue-native size across asks. |
| `total_bid_size` | number | Aggregate remaining venue-native size across bids. |
| `truncated` | boolean | True when the stored checkpoint reached the 250-orders-per-side ingestion cap. |

## JSON Schema

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "L3OrderBookSnapshot",
  "description": "Current or historical Lighter L3 orderbook snapshot.",
  "type": "object",
  "required": [
    "ask_count",
    "bid_count",
    "coin",
    "mid_price",
    "orders",
    "spread",
    "spread_bps",
    "timestamp",
    "total_ask_size",
    "total_bid_size",
    "truncated"
  ],
  "properties": {
    "ask_count": {
      "description": "Ask order count for the stored checkpoint view.",
      "type": "integer",
      "example": 250
    },
    "bid_count": {
      "description": "Bid order count for the stored checkpoint view.",
      "type": "integer",
      "example": 250
    },
    "coin": {
      "description": "Lighter trading pair symbol.",
      "type": "string",
      "example": "BTC"
    },
    "mid_price": {
      "description": "Mid price as a decimal string when both sides are present; null otherwise.",
      "type": "string",
      "nullable": true,
      "example": "65127.25"
    },
    "orders": {
      "description": "Individual resting orders in the served L3 view.",
      "type": "array",
      "items": {
        "description": "Individual resting order in a Lighter L3 snapshot.",
        "type": "object",
        "required": [
          "order_index",
          "original_size",
          "owner_account_index",
          "price",
          "remaining_size",
          "side"
        ],
        "properties": {
          "order_index": {
            "description": "Numeric order index assigned by Lighter.",
            "type": "integer",
            "format": "int64",
            "example": 562953074779869
          },
          "original_size": {
            "description": "Original venue-native order size.",
            "type": "number",
            "example": 0.02303
          },
          "owner_account_index": {
            "description": "Numeric Lighter account index associated with the resting order.",
            "type": "integer",
            "format": "int64",
            "example": 281474976710654
          },
          "price": {
            "description": "Lighter venue-native resting order price.",
            "type": "number",
            "example": 65127.5
          },
          "remaining_size": {
            "description": "Remaining venue-native order size.",
            "type": "number",
            "example": 0.02303
          },
          "side": {
            "description": "Book side.",
            "type": "string",
            "enum": [
              "bid",
              "ask"
            ],
            "example": "bid"
          }
        }
      }
    },
    "spread": {
      "description": "Absolute spread as a decimal string when both sides are present; null otherwise.",
      "type": "string",
      "nullable": true,
      "example": "0.50"
    },
    "spread_bps": {
      "description": "Spread in basis points as a decimal string when both sides are present; null otherwise.",
      "type": "string",
      "nullable": true,
      "example": "0.08"
    },
    "timestamp": {
      "description": "Snapshot timestamp in UTC.",
      "type": "string",
      "format": "date-time",
      "example": "2026-03-12T00:00:00.000Z"
    },
    "total_ask_size": {
      "description": "Aggregate remaining venue-native size across asks.",
      "type": "number",
      "example": 98.76
    },
    "total_bid_size": {
      "description": "Aggregate remaining venue-native size across bids.",
      "type": "number",
      "example": 102.34
    },
    "truncated": {
      "description": "True when the stored checkpoint reached the 250-orders-per-side ingestion cap.",
      "type": "boolean",
      "example": true
    }
  }
}
```

## Referenced By

Use this shared schema with the generated component index and route-specific endpoint pages during implementation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.