> Full docs in one file: https://pmdata.dev/llms-full.txt

# Trades

Source: https://pmdata.dev/docs/schemas/polymarket-us/trades

> Schema for Polymarket US trades.

**All fields come from the raw Polymarket US WebSocket message.** PMData adds only the receive timestamp `local_timestamp`.

**Data type:** `trades` (`polymarket_us`)

Source: `SUBSCRIPTION_TYPE_TRADE`, message `trade`. One file per market per UTC day; a day has a file only if the market traded that day. Each row is one trade.

| Field | Type | Description |
| --- | --- | --- |
| `market_slug` | `string` | Polymarket US market slug. Source: `trade.marketSlug`. |
| `timestamp` | `timestamp[ns]` | Trade time. Source: `trade.tradeTime`. |
| `local_timestamp` | `timestamp[ns]` | PMData receive timestamp. |
| `event_type` | `string` | Message type: `trade`. |
| `price` | `double` | Trade price in US dollars (0 to 1), the price of the market's long outcome. Source: `trade.price.value`. |
| `quantity` | `double` | Contracts traded; can be fractional. Source: `trade.quantity.value`. |
| `maker_side` | `string` | `ORDER_SIDE_BUY` or `ORDER_SIDE_SELL`. Source: `trade.maker.side`. |
| `maker_intent` | `string` | `ORDER_INTENT_BUY_LONG`, `ORDER_INTENT_SELL_LONG`, `ORDER_INTENT_BUY_SHORT`, `ORDER_INTENT_SELL_SHORT` or `ORDER_INTENT_UNDEFINED`. Source: `trade.maker.intent`. |
| `taker_side` | `string` | As `maker_side`. Source: `trade.taker.side`. |
| `taker_intent` | `string` | As `maker_intent`. Source: `trade.taker.intent`. |
| `trade_id` | `string` | Polymarket US trade id. Source: `trade.id`. |
| `state` | `string` | Trade state, as sent, e.g. `TRADE_STATE_NEW`. Source: `trade.state`. |

There is no `outcome` column: a Polymarket US market is one contract, and long or short is in the intent columns.

## Timestamps

All timestamps are UTC with nanosecond precision (`timestamp[ns]`). pandas reads them as `datetime64[ns]`.
