Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openpx.trade/llms.txt

Use this file to discover all available pages before exploring further.

Coverage

ExchangeSourcedSyntheticOmitted
kalshi230
polymarket500
Sourced — value copied or transformed from a documented upstream field.
Synthetic — computed by OpenPX, not present upstream.
Omitted — upstream does not expose this concept.

Field crosswalk

Unified fieldTypekalshi sourcepolymarket sourceTransformNotes
market_tickerstringMarketPosition.ticker (string)Position.slug (string)directkalshi: Kalshi market ticker (e.g. KXPRESPARTYWIN-26-D). Same string callers pass to fetch_markets. polymarket: Market slug — matches the unified Market.ticker semantics on Polymarket. The on-chain conditionId is reachable but is the internal lookup id, not the user-facing identifier; we anchor on slug so callers can round-trip the value through fetch_markets.
outcomestringcomputedsign(MarketPosition.position_fp) → {"Yes" if ≥0, else "No"}Position.outcome (string)synthetic / directkalshi: Kalshi positions are signed: positive position_fp is YES contracts, negative is NO. The unified outcome is the re-canonicalized title-case label. polymarket: Free-form outcome label as published by Polymarket — typically "Yes"/"No" on binary markets, raw category labels on categorical/neg-risk markets.
sizenumber (double)MarketPosition.position_fp (FixedPointCount)Position.size (number)abs_value / directkalshi: Absolute value of the signed position_fp (FixedPointCount string). Sign is consumed by the outcome mapping above; the unified size is always non-negative. polymarket: Already a non-negative number. Copied as-is.
average_pricenumber (double)computed — MarketPosition.total_traded_dollars / |position_fp|Position.avgPrice (number)synthetic / directkalshi: Cost basis per contract. total_traded_dollars is the cumulative dollars spent on the position; dividing by the absolute size gives the realized average entry price in dollars (probability units, 0–1 for binary markets). polymarket: Polymarket emits avgPrice as a decimal probability (0–1). Copied as-is.
current_pricenumber (double)computed — MarketPosition.market_exposure_dollars / |position_fp|Position.curPrice (number)synthetic / directkalshi: Mark-to-market price per contract derived from the upstream market_exposure_dollars, which represents the aggregate position value at the current mark. Dividing by absolute size yields the per-contract current price. polymarket: Polymarket emits curPrice as a decimal probability (0–1). Copied as-is.

Source specs

Tables are auto-generated from schema/mappings/. CI fails on unresolved $refs and on type mismatches for transform: direct. Drift in upstream specs surfaces here on the daily refresh PR.