Polymarket 2026 midterm scorecard: 13,186 contracts frozen before the vote

Every Polymarket contract about the 2026 US midterms, frozen on 17 October: 13,186 contracts in 1,352 events, a hashed manifest, two price checkpoints and a Brier rule declared before the vote. In 402 of 507 races the favourite already trades at 90¢ or more.

By Vultax Research5 min readMethodologyRead as Markdown

Races where the favourite already trades at 90¢ or more

0.079.3%

402 of the 507 Senate, House and governor races with a two-sided quote at the freeze, 17 October 2026, 03:34 UTC. After the election this page shows how many of those favourites won.

Contracts in the frozen manifest
013,186
In 1,352 Polymarket events: 4,552 race-winner and chamber-control contracts, 7,254 other election-outcome contracts, 1,380 listed but not scored.
Primary price checkpoint
2 Nov, 23:59 UTC
Order-book midpoints captured hourly from 25 October. A second checkpoint on 27 October at 23:59 UTC measures what the last week adds.
Manifest SHA-256, first eight characters
5b607bde
Full hash in the downloads. Nothing enters version 1 after the freeze; later listings go to a separately versioned supplement.
Favourite's price per race at the freeze: 507 Senate, House and governor races, 17 October 202650-59¢ → 99¢+
Live in VultaxWatch the 2026 midterm markets liveSenate, House and governor races priced live on Polymarket. The frozen scorecard is separate from current quotes.

What the market already says it knows

At the freeze, 402 of 507 Senate, House and governor races had a favourite priced at 90¢ or more, 332 at 95¢ or more, and only 10 below 60¢. Each race is counted once by its highest-priced contract, read as the midpoint of the best bid and ask in Polymarket's public catalogue at 03:34 UTC on 17 October 2026.

That is the shape the scorecard has to be honest about. Most contracts are near-certain and will score well whatever happens; the test is in the 105 races priced under 90¢ and in how often the favourites in each price band actually won. Both tables are declared below, before any result exists.

Favourite's price per race at the freeze: 507 Senate, House and governor races, 17 October 2026

Each race counted once by its highest-priced contract, midpoint of best bid and ask at 03:34 UTC. 402 favourites at 90¢ or more; 10 below 60¢. Chamber-control contracts are not races and are left out of this count.

Favourite's price per race at the freeze: 507 Senate, House and governor races, 17 October 2026. Races: 50-59¢ 10, 60-69¢ 19, 70-79¢ 26, 80-89¢ 50, 90-94¢ 70, 95-98¢ 329, 99¢+ 3010020030040050-59¢: 101060-69¢: 191970-79¢: 262680-89¢: 505090-94¢: 707095-98¢: 32932999¢+: 3350-59¢60-69¢70-79¢80-89¢90-94¢95-98¢99¢+

Chart: Vultax Research

Show the numbers
Favourite's price per race at the freeze: 507 Senate, House and governor races, 17 October 2026. Each race counted once by its highest-priced contract, midpoint of best bid and ask at 03:34 UTC. 402 favourites at 90¢ or more; 10 below 60¢. Chamber-control contracts are not races and are left out of this count.
CategoryRaces
50-59¢10
60-69¢19
70-79¢26
80-89¢50
90-94¢70
95-98¢329
99¢+3

Download chart figures:CSVJSON with sourcesSVG chart

The universe, frozen

The universe is every market of every event carrying Polymarket's `midterms` tag, open or already closed, plus 45 events found by a title screen of 22 related tags and the whole 22,858-event active catalogue and confirmed by hand: California's governor, lieutenant governor and propositions, state ballot measures, and Senate-and-governor combinations. The sweep finished at 03:34:08 UTC on 17 October 2026. Every discovered contract keeps a row, scored or not, with its ids, rule text and capture time.

Tier A is the headline set: race winners and chamber control. Tier B is everything else the general election settles. Tier C stays listed and unscored: 1,058 contracts already determined before the freeze, mostly primaries, and contracts that something other than an election outcome settles, such as a forecaster's odds, a campaign event, a leadership vote or a combination with an oil-price leg. 2,621 lettered placeholder outcomes keep their rows but are left out of the Tier A means.

Counts at the freeze, 17 October 2026, 03:34 UTC. An event whose contracts fall in two families is counted in both, so the events column adds to more than 1,352. Full rows, ids and rule text are in the manifest download.
Contract familyEventsContractsScored as
House race winnersEvents445Contracts3,561Scored asTier A
Governor race winnersEvents37Contracts532Scored asTier A
Senate race winnersEvents35Contracts471Scored asTier A
Chamber control and balance of powerEvents3Contracts23Scored asTier A
Margins of victoryEvents529Contracts6,064Scored asTier B
TurnoutEvents46Contracts373Scored asTier B
Other statewide offices and state legislaturesEvents32Contracts240Scored asTier B
County winnersEvents19Contracts235Scored asTier B
Seat countsEvents33Contracts216Scored asTier B, except contracts already settled
Ballot measuresEvents37Contracts50Scored asTier B, except one already settled
CombinationsEvents36Contracts155Scored asTier B when every leg is an election result, else listed
Exit-poll sharesEvents9Contracts52Scored asTier B, outcome is a survey figure
Primaries, already decidedEvents45Contracts783Scored asListed, not scored
Campaign events, odds markets, leadership and processEvents51Contracts431Scored asListed, not scored

Download table figures:CSVJSON with sources

Two clocks and a hash

The forecast that is scored is the order-book midpoint of every contract at 23:59:59 UTC on 2 November 2026, the night before the vote. A second checkpoint at the same hour on 27 October measures what the final week added. Captures run hourly from 25 October and every five minutes around both instants; the checkpoint reading is the latest capture that finished before the instant whose order-book requests answered for at least 99% of the manifest's tokens; a token the venue holds no order book for is an answered request and becomes a contract without a quote. A capture that finished after the instant is never used, whatever it shows, and no reading is carried forward.

The manifest's SHA-256 begins 5b607bde and is printed in full below. It covers the canonical JSON of the events and contract rows without the capture time, so anyone holding the file can recompute it. Prices are not part of the manifest. Contracts Polymarket lists after the freeze are recorded by each capture's re-sweep and scored in a separately versioned supplement, never merged into version 1.

The clocks: what is on record and what is still to come

  1. Manifest frozen

    Sat 17 Oct, 03:34 UTC

    Recorded

    Sweep of the public catalogue finished; 13,186 contracts, SHA-256 recorded.

  2. Protocol published

    Sat 17 Oct 2026

    Recorded

    This page, the rules file and the scoring code, each hashed.

  3. Week-out checkpoint

    Tue 27 Oct, 23:59 UTC

    Scheduled

    Secondary clock: order-book midpoints for every contract.

  4. Primary checkpoint

    Mon 2 Nov, 23:59 UTC

    Scheduled

    The forecast that is scored.

  5. Election day

    Tue 3 Nov 2026

    polls close 23:00 to 06:00 UTC

    01:00 to 08:00 Tallinn

    The event

    Results are read from state election authorities; Polymarket's payouts are kept as a second record.

Sources: Polymarket's public Gamma and CLOB endpoints for the captures; state election authorities for results. A checkpoint counts only when a saved capture exists; a missed capture stays missed and is not rebuilt from later prices. The marks are not to scale.
manifest-v1.json, field manifest_sha256
5b607bded8bd47c8f41ec083f54d6319d7178027c7914c64ab77f069c4a79dca
SHA-256 of the canonical JSON of {events, rows} with captured_at removed from every row; keys sorted at every depth. Frozen 17 October 2026, 03:34:08 UTC.

The scoring rule, declared now

Each contract gets a Brier score, the squared gap between its checkpoint price and what happened. The price is the midpoint of the best bid and best ask of the Yes order book; a contract with no bid or no ask has no price, stays in every table and is counted as missing. A spread wider than 10¢ keeps its price with a flag, and Tier A is reported with and without those rows.

Means are reported two ways: over contracts, and over races with every race weighted equally, because a race with twelve contracts is still one result. For every race the highest-priced contract is its favourite, and a table shows, per 10¢ band, how many favourites there were and how many won. Calibration bins of 10¢ report count, mean price and share resolved Yes. Two baselines use the same contracts and clocks: a constant 50¢, and the 27 October price. Intervals come from a bootstrap that resamples races, not contracts, 2,000 times from a fixed seed. No comparison with polls, forecasters or another venue is made, because none has a matched, rights-cleared benchmark. One election is one election: the text will say how little independent information it supplies.

From rules-v1.json, frozen 17 October 2026. A change after publication appears only as a dated correction on this page.
RuleDeclared value
Primary metricDeclared valueBrier score per contract, (p − o)²
Price fieldDeclared valueMidpoint of best bid and best ask, Yes token order book, checkpoint capture
Missing priceDeclared valueNo bid or no ask: row kept, counted as missing, not scored
Wide quoteDeclared valueSpread over 10¢: scored and flagged; Tier A shown with and without
AggregationDeclared valueContract mean and race mean (equal weight per race); multi-outcome Brier as a secondary table
PlaceholdersDeclared valueLettered stand-in outcomes scored in all-contracts tables, excluded from Tier A means
BaselinesDeclared valueConstant 50¢ (Brier 0.25) and the 27 October price, same contracts
UncertaintyDeclared valueCluster bootstrap over races, 2,000 resamples, seed 20261103, 90% interval
Secondary metricDeclared valueLog loss with prices clipped to 1¢ and 99¢
Not doneDeclared valueNo normalisation of multi-outcome prices in the primary analysis; no poll or venue comparison; no fees, profit or strategy

Download table figures:CSVJSON with sources

Two outcome records, and what stays unscored

Every contract gets two outcome records that are never merged. The official record is the result published by the state or territorial election authority, first as an unofficial count and later as certified totals, with its URL and retrieval time; an Associated Press call is logged as an interim status, not as the official record. The venue record is Polymarket's own payout, read from its public market record with its resolution date and any dispute. The official record decides the score wherever it can; a disagreement between the two is flagged and listed, and a question no election authority answers is scored on the venue record and marked as such.

Voided or split resolutions leave every mean and are counted. A contract without a result at a scoring run is pending: shown with its price, left out of that run's means, filled in a later dated run that never rewrites an earlier one. The first run is planned for 4 to 6 November 2026 and will be labelled by status; certifications, recounts and the Georgia-style runoffs come in later runs. A contract whose rules changed between the freeze and a checkpoint is scored on the frozen text and listed.

Check it

Download the frozen manifest as CSV (35 MB, one row per contract with its rule text) or as gzipped JSON (events and rows, with the hash rule inside), the Gamma fields seen at the freeze, the rules file, the methods note, the coverage report and the code for the sweep, the captures and the scoring run. The file list carries a SHA-256 for every published file.

After the election this page adds the scored tables, the per-contract rows with both outcome records, the capture receipts and a dated corrections list. The result is not known and is not on this page. Related Vultax work: the monthly Polymarket efficiency series and the study of how long Polymarket takes to settle, which is why pending contracts are expected after 3 November.

Downloads contain the published study figures. Changing market widgets are separate. Use Vultax research with an AI assistant. Press note.

Revision notes

This page is kept current. Each entry records what changed and when; the live figures above refresh on their own.

  • Pre-registration published before the election: frozen manifest (SHA-256 beginning 5b607bde), two checkpoints, the scoring rule and the code. The result is not known and is not on this page.

Sources and evidence

A pre-registered research protocol with a frozen universe and clocks; no scores exist before the election. Prices are Polymarket order-book readings at stated times, not advice.

Watch this measurement live in Vultax.

Senate, House and governor races priced live on Polymarket. The frozen scorecard is separate from current quotes.

New studies, by email.

Measured, sourced, and sent once per study. No digests, no promotions.

One email when a study publishes. Unsubscribe anytime. Privacy