Skip to main content
A recurring family of events (e.g. a weekly inflation reading or sports season). Every field is one of three entry types — direct (taken from upstream), synthetic (computed by OpenPX), or omitted (not exposed upstream).

Coverage

ExchangeDirectSyntheticOmitted
kalshi901
polymarket703

Field crosswalk

Unified fieldTypekalshi sourcepolymarket sourceNotes
tickerstringSeries.tickerSeries.tickerkalshi: Native Kalshi series ticker (e.g. KXPRES). polymarket: Polymarket series ticker; falls back to slug when null.
numeric_idstring?omittedSeries.idkalshi: Kalshi has no separate numeric series id. polymarket: Polymarket numeric series id.
titlestringSeries.titleSeries.titlekalshi: Kalshi series title. polymarket: Polymarket series title.
categorystring?Series.categorycategory (spec gap)kalshi: Kalshi series category. polymarket: Spec gap: live /series rows return category but the gamma OpenAPI omits it.
frequencystring?Series.frequencySeries.recurrencekalshi: Free-form cadence string (e.g. weekly). polymarket: Polymarket calls the cadence recurrence.
tagsarraySeries.tagsomittedkalshi: Free-form tag strings copied as-is. polymarket: Polymarket Series has no tags; tag relationships live on Events/Markets endpoints.
settlement_sourcesarraySeries.settlement_sourcesomittedkalshi: Array of \{name, url\} rulebook authorities, copied as-is. polymarket: Polymarket resolves via UMA optimistic oracle; no per-series feed is exposed.
fee_typestring?Series.fee_typeomittedkalshi: Kalshi fee schedule enum (e.g. quadratic, flat). polymarket: Polymarket fees are configured at the CLOB level, not per-series.
volumenumber? (double)Series.volume_fpSeries.volumekalshi: FixedPointCount string parsed to f64; populated only with include_volume=true. polymarket: Cumulative series volume in USD.
last_updated_tsstring? (date-time)Series.last_updated_tsSeries.updatedAtkalshi: RFC3339 string parsed to UTC. polymarket: ISO 8601 string 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.