Market Detail Fields#
Neutral reference for the fields shown on the market detail page (web and mobile), beyond the order book itself. For the underlying protocol mechanics these fields summarize, follow the links in each section — this page does not restate them.
Open Interest#
| Field | Value |
|---|---|
| Open Interest | max(totalYesShares, totalNoShares), in stablecoin display units |
| YES Minted | totalYesShares, in stablecoin display units |
Both values come from the market-detail contract's totalYesShares /
totalNoShares fields and are formatted identically on web and mobile via
the shared formatStablecoinBaseUnits/maxBaseUnits helpers in
packages/core — the numbers cannot drift between platforms.
totalCollateral (also present on the contract) is intentionally not
shown here: it is never written post-market-creation and is always $0 in
practice. It is not a live solvency figure.
Settlement Print#
Once a market resolves, the detail page shows the settlement print: the
start price, end price, and percent delta between the two oracle
snapshots, plus the outcome (UP/DOWN/EXPIRED). The value shown here is the
deriveSettlementSummary output — see
Settlement → Payout rules
for the boundary rule this print reflects (end >= start → UP) and for how
that outcome maps to a payout rate.
Data-Freshness States#
A freshness indicator on the market detail page reflects how stale the order-book/price data currently shown is, independent of whether the market itself is resolved. Three states, in priority order:
| State | Meaning |
|---|---|
| Fresh | Data age is below the stale threshold and a live transport is connected |
| Stale | Data age is at/above the stale threshold but below the delayed threshold |
| Delayed | Data age is at/above the delayed threshold, or there is no live transport (WebSocket disconnected and polling is failing) |
The transport check always wins: if there's no live data path at all, the
indicator shows Delayed regardless of how recently the last update
actually arrived. See packages/core/src/freshness.ts
(deriveFreshnessState) for the exact thresholds and precedence rules —
both platforms consume this one function, so the indicator behaves
identically everywhere it's shown.