Data Schemas
Overview
PMData Parquet schemas, shared fields, and timestamp conventions.
PMData historical data is delivered as Apache Parquet files. Schema pages define the fields and row semantics of each downloaded file.
Available schemas
| Schema | Data type | Description | Use case |
|---|---|---|---|
| L2 | l2 | Incremental L2 order book and market events | Order book replay and liquidity analysis |
| Trades | trades | Polymarket WebSocket trade executions | Price, volume, and trade-flow analysis |
| On-Chain Fills | onchain_fills | Polygon fills with maker and taker wallets | Wallet and on-chain flow analysis |
| Chainlink Streams | streams | Raw price data received from the Chainlink WebSocket stream, not the Polymarket proxy. | Reference-price and latency analysis |
| Chainlink TWAP | streams_twap30s, streams_twap60s | TWAP 30s/60s data received from the Chainlink WebSocket stream. | Resolution and benchmark analysis |
Common fields
Polymarket WebSocket files in the l2 and trades schemas share these fields:
| Field | Type | Description |
|---|---|---|
market_slug | string | Polymarket market slug. |
timestamp | timestamp[us] | Polymarket event timestamp. |
local_timestamp | timestamp[us] | PMData receive timestamp. |
event_type | string | Source event represented by the row. |
On-Chain Fills and Chainlink use source-specific fields described on their schema pages.
Timestamps
All timestamps use UTC and microsecond precision.
timestampin L2 and Trades is the timestamp supplied by Polymarket.local_timestampis when the PMData collector received the WebSocket event.timestampin On-Chain Fills is the Polygon block timestamp.observationsTimestampin Chainlink is the source observation time.receiveMicrosecondTimestampis when PMData received the Chainlink report.
The difference between a source timestamp and its PMData receive timestamp represents delivery and processing latency.
File conventions
- L2 contains several event types in one schema. Fields that do not apply to a row's
event_typeare null. - Order book prices and sizes use Parquet list columns.
- Chainlink price values are stored as scaled integers in string columns. See the Chainlink schema.
