Skip to main content
A public trade off the market tape. Every field is one of three entry types — direct (taken from upstream), synthetic (computed by OpenPX), or omitted (not exposed upstream).

Coverage

ExchangeDirectSyntheticOmitted
kalshi721
polymarket640

Field crosswalk

Unified fieldTypekalshi sourcepolymarket sourceNotes
idstringTrade.trade_idTrade.transactionHashkalshi: Kalshi-issued unique trade id; rows missing this are dropped at parse time. polymarket: Polygon transaction hash; doubles as trade id since one trade lands per tx.
pricenumber (double)Trade.yes_price_dollars, fallback Trade.no_price_dollarsTrade.pricekalshi: Yes-anchored: parsed from yes_price_dollars and normalized to a probability in [0, 1]. polymarket: Decimal probability for the row’s outcome token in [0, 1].
sizenumber (double)Trade.count_fpTrade.sizekalshi: FixedPointCount string parsed to f64. polymarket: Non-negative size in contracts.
aggressor_sidestring?Trade.taker_sidesynthetickalshi: Yes-anchored: taker_side=yes → buy, taker_side=no → sell. polymarket: Yes-anchored from {Trade.side, Trade.outcome} — BUY of Yes or SELL of No → buy.
outcomestring?syntheticTrade.outcomekalshi: Title-cased from taker_side (the upstream Trade has no top-level outcome). polymarket: Outcome label as published by Polymarket.
yes_pricenumber? (double)Trade.yes_price_dollarssynthetickalshi: Direct Yes-side reference; equal to canonical price. polymarket: Set to Trade.price when the row’s outcome is Yes; null otherwise.
no_pricenumber? (double)Trade.no_price_dollarssynthetickalshi: Direct No-side reference; do not derive as 1 - yes_price (mirror identity does not hold per trade). polymarket: Set to Trade.price when the row’s outcome is No; null otherwise.
taker_addressstring?omittedTrade.proxyWalletkalshi: Kalshi public tape exposes no wallet identifiers. polymarket: On-chain proxy wallet of the taker (takerOnly=true is hardcoded on the underlying call).
exchange_tsstring (date-time)Trade.created_timeTrade.timestampkalshi: RFC3339 string parsed to UTC. polymarket: Unix seconds (not milliseconds) parsed to UTC.
openpx_tsstring (date-time)syntheticsynthetickalshi: Wall-clock UTC stamped once per page at response serialization. polymarket: Wall-clock UTC stamped once per page at response serialization.

Source specs

Tables are auto-generated from schema/mappings/. CI fails if any direct ref no longer resolves in the cached upstream spec; the daily upstream-refresh PR surfaces drift here.