Skip to main content
A single fill (trade execution) from one of the caller’s orders. Every field is one of three entry types — direct (taken from upstream), synthetic (computed by OpenPX), or omitted (not exposed upstream).

Coverage

ExchangeDirectSyntheticOmitted
kalshi1000
polymarket703

Field crosswalk

Unified fieldTypekalshi sourcepolymarket sourceNotes
fill_idstringFill.fill_idTrade.transactionHashkalshi: Kalshi-issued unique fill id. polymarket: Polygon transaction hash; doubles as fill id since one trade lands per tx.
order_idstringFill.order_idomittedkalshi: Kalshi-issued order id that produced this fill. polymarket: Public-tape Trade does not expose order ids; live WebSocket events do via liquidity_role.
market_tickerstringFill.ticker, fallback Fill.market_tickerTrade.conditionIdkalshi: Prefers canonical ticker, falls back to legacy alias market_ticker. polymarket: On-chain condition id; Position.market_ticker (slug) intentionally diverges from this surface.
outcomestringFill.sideTrade.outcomekalshi: Title-cased from the YES/NO side field (buy/sell lives on action). polymarket: Outcome label as published by Polymarket.
sideOrderSideFill.actionTrade.sidekalshi: Buy/Sell sourced from action (the YES/NO side field is unrelated). polymarket: BUY/SELL enum, 1:1 with unified OrderSide.
pricenumber (double)Fill.yes_price_dollars, fallback Fill.no_price_dollarsTrade.pricekalshi: Outcome-aware: uses yes_price_dollars on YES fills and no_price_dollars on NO fills. polymarket: Decimal probability for the row’s outcome token in [0, 1].
sizenumber (double)Fill.count_fpTrade.sizekalshi: FixedPointCount string parsed to f64. polymarket: Non-negative size in contracts.
is_takerbooleanFill.is_takeromittedkalshi: Boolean: true if the fill removed liquidity, false if it added. polymarket: Public tape lacks per-fill maker/taker flag; the WebSocket user channel carries liquidity_role.
feenumber (double)Fill.fee_costomittedkalshi: Per-fill fee in FixedPointDollars. polymarket: Polymarket does not expose a per-fill fee on the Data API; defaults to 0.0.
created_atstring (date-time)Fill.created_timeTrade.timestampkalshi: RFC3339 string parsed to UTC. polymarket: Unix seconds (not milliseconds) parsed to UTC.

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.