The Polymarket Up/Down Observatory

Across 10,773 resolved Polymarket up/down windows, the order book was well calibrated: sides priced at 90% or higher with 60 seconds left won 97% of the time (6,872 of 7,083), and the overall UP rate was 50.56% [49.62%, 51.51%]. The sample is the most recent 500 windows per market, so the calendar coverage differs by window length: 5m 2026-07-24 to 2026-07-26, 15m 2026-07-21 to 2026-07-26, 1h 2026-07-08 to 2026-07-26, 4h 2026-07-08 to 2026-07-26.

What this is

UpDown Charts records the Polymarket order book and five reference price feeds for all 28 up/down markets (7 assets × 4 window lengths) at roughly 1.5 observations per second. This page measures one thing: how well the book's implied odds predicted the result, using the last two-sided quote at 60, 30 and 10 seconds before each window closed. Every number here comes from scripts/observatory/build-aggregates.mjs and is reproducible from the published aggregates.

Methodology and data notes · What is a Polymarket up or down market?

1. Base rates

Over 10,773 windows the UP rate is 50.56% [49.62%, 51.51%]. Pooled across the seven assets, 5m is the one window length whose interval clears 50% (52.40% [50.74%, 54.05%], n = 3,500), but that pooling assumes independent windows and the seven assets share the same five-minute clock, so the effective sample is well below 3,500 and the interval is too narrow. Taken one market at a time, 6 of the seven 5m markets sit above 50% and 7 of the seven intervals contain it. The same caveat applies to the pooled headline above. This is a record of what happened, not an edge: an outcome frequency says nothing about profit once the bid/ask spread and fees are paid.

UP rate by asset and window length. Each cell is the UP percentage ± half the Wilson 95% interval, in percentage points, with the window count.
Asset5m15m1h4hAll windows
BTC51.8% ±4.4 · n=50050.0% ±4.4 · n=50050.1% ±4.7 · n=43154.6% ±9.2 · n=10850.9% ±2.5 · n=1,539
ETH54.2% ±4.4 · n=50048.8% ±4.4 · n=50048.7% ±4.7 · n=43152.8% ±9.3 · n=10850.8% ±2.5 · n=1,539
SOL53.2% ±4.4 · n=50047.6% ±4.4 · n=50048.7% ±4.7 · n=43150.0% ±9.3 · n=10849.9% ±2.5 · n=1,539
XRP53.0% ±4.4 · n=50048.2% ±4.4 · n=50051.0% ±4.7 · n=43150.0% ±9.3 · n=10850.7% ±2.5 · n=1,539
DOGE53.8% ±4.4 · n=50049.6% ±4.4 · n=50048.5% ±4.7 · n=43151.8% ±9.3 · n=10850.8% ±2.5 · n=1,539
BNB49.0% ±4.4 · n=50050.4% ±4.4 · n=50052.9% ±4.7 · n=43149.1% ±9.3 · n=10850.5% ±2.5 · n=1,539
HYPE51.8% ±4.4 · n=50050.6% ±4.4 · n=50048.0% ±4.7 · n=43150.0% ±9.3 · n=10850.2% ±2.5 · n=1,539
All52.4% ±1.7 · n=3,50049.3% ±1.7 · n=3,50049.7% ±1.8 · n=3,01751.2% ±3.6 · n=75650.6% ±0.9 · n=10,773

All seven assets sit between 49.90% and 50.94% with overlapping intervals, so the data does not distinguish one asset from another on direction.

2. Calibration

A calibrated book is one where things priced at 20% happen about 20% of the time. Grouping windows into deciles of the implied UP probability (the mid of the UP token top-of-book), the observed rate rises monotonically across all ten buckets at 60 seconds before close, with no reversals, over 10,306 windows. The two buckets straddling 0.5 are the thinnest cells (n = 290 and n = 286) and their intervals span roughly ten points, so they are the one place the curve is statistically uninformative.

0.000.000.250.250.500.500.750.751.001.00mean implied probability of UPobserved UP rate60s before close30s before close10s before closedashed = perfect calibration
Implied probability versus observed UP rate per decile, at each checkpoint. Each cell shows the observed rate and the number of windows in that bucket. Excluded windows per checkpoint: 60s before close 4.33%, 30s before close 4.21%, 10s before close 4.35%.
Implied bucket60s before close30s before close10s before close
[0.0, 0.1)implied 0.0202.98% [2.46%, 3.59%] · n=3,493implied 0.0172.86% [2.38%, 3.42%] · n=3,956implied 0.0152.62% [2.19%, 3.14%] · n=4,343
[0.1, 0.2)implied 0.14111.97% [9.63%, 14.78%] · n=610implied 0.13911.65% [9.02%, 14.92%] · n=455implied 0.13712.71% [9.64%, 16.59%] · n=354
[0.2, 0.3)implied 0.24525.00% [21.03%, 29.44%] · n=404implied 0.24218.73% [14.61%, 23.68%] · n=283implied 0.24325.50% [19.18%, 33.06%] · n=149
[0.3, 0.4)implied 0.34733.44% [28.47%, 38.80%] · n=317implied 0.34331.50% [25.46%, 38.23%] · n=200implied 0.34525.71% [19.19%, 33.53%] · n=140
[0.4, 0.5)implied 0.45049.31% [43.60%, 55.04%] · n=290implied 0.44649.58% [43.26%, 55.91%] · n=236implied 0.44954.62% [45.67%, 63.28%] · n=119
[0.5, 0.6)implied 0.54953.15% [47.36%, 58.85%] · n=286implied 0.54356.41% [49.39%, 63.18%] · n=195implied 0.54956.56% [47.69%, 65.02%] · n=122
[0.6, 0.7)implied 0.64867.66% [62.47%, 72.46%] · n=334implied 0.65174.65% [68.40%, 80.02%] · n=213implied 0.65461.82% [52.49%, 70.35%] · n=110
[0.7, 0.8)implied 0.75076.74% [72.20%, 80.73%] · n=374implied 0.75278.57% [73.10%, 83.19%] · n=252implied 0.75182.67% [75.81%, 87.89%] · n=150
[0.8, 0.9)implied 0.85988.69% [85.98%, 90.94%] · n=628implied 0.85686.06% [82.40%, 89.06%] · n=416implied 0.85988.69% [84.86%, 91.65%] · n=336
[0.9, 1.0]implied 0.97897.06% [96.45%, 97.56%] · n=3,570implied 0.98097.23% [96.68%, 97.69%] · n=4,113implied 0.98497.30% [96.78%, 97.74%] · n=4,481

Both tails miss, and they are the best-powered cells on the page. The bottom bucket was priced at a mean 0.020 and resolved UP 2.98% of the time ([2.46%, 3.59%], n = 3,493); the top bucket was priced at a mean 0.978 and resolved UP 97.06% ([96.45%, 97.56%], n = 3,570). Neither interval contains its own mean implied price. The direction is the same at both ends: heavy favourites were priced slightly rich and longshots slightly cheap. It is still a record and not an edge, because the gap either way is smaller than the spread a position would cross, and calibration is a statement about the pricing rather than about whether a strategy would have made money.

3. Favourite watch

When the book priced a side at 90% or higher with 60 seconds left, that side lost 2.98% of the time: 211 of 7,083 windows, Wilson 95% [2.61%, 3.40%].

These are outcome frequencies at a quoted mid, before the bid/ask spread, fees and slippage any position would pay. A 2.98% loss rate on a 90c favourite is not a 97c-for-100c return.

The rate barely moves as the deadline approaches even though the eligible set grows by a quarter as prices harden: 2.98% at 60s before close (n = 7,083), 2.82% at 30s before close (n = 8,085), 2.67% at 10s before close (n = 8,848). The spread across window lengths is the larger effect.

Rate at which a side priced at 90% or higher lost, by window length and checkpoint. Counts are windows where some side cleared 90% at that checkpoint.
Window length60s before close30s before close10s before close
5m2.78% [2.06%, 3.73%] · 42/1,5132.09% [1.56%, 2.79%] · 44/2,1091.29% [0.92%, 1.80%] · 33/2,564
15m1.07% [0.74%, 1.56%] · 27/2,5160.78% [0.52%, 1.18%] · 22/2,8150.82% [0.56%, 1.21%] · 25/3,043
1h5.76% [4.90%, 6.76%] · 139/2,4136.30% [5.42%, 7.32%] · 158/2,5066.74% [5.84%, 7.77%] · 174/2,581
4h0.47% [0.16%, 1.37%] · 3/6410.61% [0.24%, 1.56%] · 4/6550.61% [0.24%, 1.55%] · 4/660

At 60 seconds the 1h rate (5.76%, 139/2,413) is roughly five times the 15m rate (1.07%, 27/2,516) on non-overlapping intervals. Section 4 shows a measurement quirk specific to 1h windows that is worth reading alongside this. The comparison is between two outcome frequencies, not between two returns: both sit before spread, fees and slippage, and neither says a position taken at either price would have paid.

Same measure by asset, at 60 seconds before close. HYPE qualifies in fewer windows because its book is wide.
AssetFavourite lostWilson 95%Windows
BTC2.54%[1.75%, 3.67%]27/1,063
ETH3.76%[2.79%, 5.04%]42/1,117
SOL2.68%[1.86%, 3.85%]28/1,044
XRP3.53%[2.57%, 4.83%]37/1,048
DOGE2.85%[2.02%, 4.02%]31/1,087
BNB3.31%[2.38%, 4.59%]34/1,026
HYPE1.72%[0.99%, 2.98%]12/698

4. The hourly gap

Two numbers look like the same price and are not. Our own first Chainlink reading after a window opens sits 7.67 bps away from the open Polymarket actually settles against on 1h windows (median over 1,196 windows, p95 10.42 bps, 94.06% of windows above 5 bps). On 5m, 15m and 4h windows the same comparison is 0.01, 0 and 0 bps. It is one-sided rather than jitter: on 1h windows the Chainlink reading is above the settlement open in 0.0% of windows, signed median -7.67 bps, and the offset shows up on every asset with a Chainlink feed inside a tight band.

Absolute offset between the boundary Chainlink reading and the settlement open, 1h markets, in basis points of the settlement open. Separate sub-sample from the rest of this page: the most recent 200 windows per market, closing 2026-07-08 to 2026-07-26, of which 4,238 of 4,956 had both values; HYPE has no Chainlink feed and contributes no rows.
MarketMedianp95Above 5 bpsWindows
btc-1h7.41 bps10.25 bps95.0%199
eth-1h7.69 bps9.91 bps97.0%199
sol-1h7.69 bps10.53 bps91.0%199
xrp-1h7.38 bps10.52 bps93.0%200
doge-1h8.00 bps10.84 bps93.0%199
bnb-1h7.70 bps10.34 bps95.5%200

It matters because a reference level taken at the top of the hour is not the level the 1h market resolves against, so a window can look decided on one number and settle on the other. Site tables print the settlement open for that reason; the methodology page documents both numbers. Its 9.24 to 9.78 bps range is not from this build: it was measured on an earlier, smaller sample using a 2-decimal stored copy of the same value, and is marked there as superseded. The full-precision recomputation above is the number to cite.

5. Window replays

3 windows where a side above 93% lost, one per asset and window length, 240 recorded points each. The green line is our own exchange recording (Binance, or Pyth where Binance has no feed). The two dashed lines are the open and close Polymarket settled against, which come from a different feed sampled at the window boundaries, so the green line does not have to end on the settlement close. Section 4 measures how far apart those feeds sit. XRP and DOGE are not eligible for replay: their close prices are stored at 2 decimals, so a rendered close would look inconsistent with a full-precision open.

eth-updown-5m-1785043800 · resolved UP

2026-07-26 05:30 to 05:35 UTC · settlement open 1,883.20125 · close 1,883.42

settlement open 1,883.20125settlement close 1,883.421,883.201251,885.280.00.51.00s75s150s225s300sseconds into the windowrecorded exchange price (left axis)implied UP probability (right axis)

With 60 seconds left the book put 5.5% on the side that won, and 89.0% with 10 seconds left. The window closed 1,883.42 against a settlement open of 1,883.20125, which resolves UP.

ETH 5m market page

sol-updown-1h-1785042000 · resolved UP

2026-07-26 05:00 to 06:00 UTC · settlement open 75.07 · close 75.11

settlement open 75.07settlement close 75.1174.9575.180.00.51.00s900s1800s2700s3600sseconds into the windowrecorded exchange price (left axis)implied UP probability (right axis)

With 60 seconds left the book put 1.5% on the side that won, and 0.5% with 10 seconds left. The window closed 75.11 against a settlement open of 75.07, which resolves UP.

SOL 1h market page

bnb-updown-15m-1784979900 · resolved UP

2026-07-25 11:45 to 12:00 UTC · settlement open 565.07716 · close 565.22

settlement open 565.07716settlement close 565.22565.01565.750.00.51.00s225s450s675s900sseconds into the windowrecorded exchange price (left axis)implied UP probability (right axis)

With 60 seconds left the book put 4.0% on the side that won, and 2.5% with 10 seconds left. The window closed 565.22 against a settlement open of 565.07716, which resolves UP.

BNB 15m market page

Browsing every window that matches a filter, going back through the full retained history, and exporting the rows as CSV are dashboard features on Pro. See pricing or open the dashboard.

Premium adds programmatic access to the same per-window data through the REST API and the hosted MCP server: API and MCP reference.

6. Data and citation

Every aggregate on this page is published as a single JSON file: /observatory-aggregates.json. It is free to use with attribution and a link back to this page, under CC BY 4.0. It contains the aggregates on this page plus the 3 window replays shown above, each downsampled to 240 points. The rest of the per-window dataset and the recorded price archive are not part of it.

Cite as: UpDown Charts, "The Polymarket Up/Down Observatory", 2026, www.updowncharts.com/observatory
Data as of 2026-07-26. Sample: 10,773 resolved windows, 28 markets, the most recent 500 per market. Windows closing by length: 5m 2026-07-24 to 2026-07-26, 15m 2026-07-21 to 2026-07-26, 1h 2026-07-08 to 2026-07-26, 4h 2026-07-08 to 2026-07-26.

Limitations and coverage

  • Outcome frequencies are a record of what happened. They exclude the bid/ask spread, fees and slippage, so they are not a statement about profitability.
  • A checkpoint is excluded for a window when the last recorded two-sided quote is more than 20s old, when the book is one-sided, or when the spread exceeds 0.2. Exclusion rates are reported per checkpoint and per market.
  • Window close prices are stored at 2 decimals. For XRP (close ~ 0.5) and especially DOGE (close ~ 0.07) that precision cannot represent a normal short-window move, so those markets contribute noise to any price-difference measure. Outcomes themselves come from the resolution recorded at settlement.
  • HYPE has no Chainlink or Binance feed, so it has no captured open and is absent from the captured-vs-settlement comparison.
  • The sample is the most recent 500 resolved windows per market at build time, not the full archive. Recorded price series are retained for 90 days.
  • Windows for different assets cover the same clock intervals, and concurrent crypto moves are correlated, so any cell that pools assets has an effective sample well below its N. Wilson intervals on pooled cells assume independent windows and are therefore optimistic; per-market cells are the ones to read.
  • Because the sample is the most recent 500 windows per market, the shorter timeframes cover far less calendar time than the longer ones. Per-timeframe date ranges are in coverage.byMarket and are published next to the base-rate table.
  • Quotes are recorded by our own collector at roughly 1.5 observations per second. A checkpoint mid is the last observation at or before that instant, not the exact book state at that instant.
  • Quote coverage at 60 seconds before close is at least 96% on 25 of 28 markets. The exceptions are hype-1h at 36.2%, hype-4h at 41.7% and hype-15m at 88.0%. That shortfall is a wide book, not a recording gap, so any HYPE-specific claim should be scoped to the windows that qualified.
  • The sample is capped at 500 windows per market, which is 500 for every 5m and 15m market, 431 per 1h market and 108 per 4h market. The 4h cells are the thinnest and their intervals are correspondingly wide.