Methodology
Where every number comes from, how it is computed, and what it does not mean.
Which candidates are tracked
A candidate gets a page when both are true: (1) the FEC lists them as a 2026 statutory candidate for the U.S. House or Senate under one of these party labels: IND (Independent), NPA (No Party Affiliation), NNE (None), UN (Unaffiliated), NON (Non-Party), NOP (No Party Preference), N (Nonpartisan), OTH (Other); and (2) a Kalshi or Polymarket market for that race names them, or names a generic “independent” outcome and they are the only independent in the race who has reported more than $100,000. A market listing is the best automatic signal that a candidate is actually on the general-election ballot; FEC registration alone is not. The seven candidates of the 2026 Independent Slate also get pages whether or not a market lists them. Independent filers with no market are listed in a table, not given pages.
Governor and other state races are not covered yet: their campaign money is filed with each state, not the FEC, and prediction markets keep candidates who have withdrawn (Michigan's market still lists a candidate who left the race in May 2026), so they need checks this tracker cannot yet run automatically.
Prediction-market odds
- Sources: the public read APIs of Kalshi (
api.elections.kalshi.com/trade-api/v2) and Polymarket (gamma-api.polymarket.com, price history fromclob.polymarket.com). No account or key is used. - Implied chance: the midpoint between the best bid and best ask when they are at most 10¢ apart, otherwise the last trade. This is Polymarket's own display rule, applied to both venues. A price of 26¢ on a contract that pays $1 if the candidate wins is read as a 26% implied chance.
- What it is not: a poll or a forecast. Prices reflect what traders are willing to pay, including fees, risk and their own biases. Markets with little volume can move on a single trade, so pages flag any market with under $25,000 traded.
- Different questions: Kalshi and Polymarket sometimes ask different questions about the same race (“Will Dan Osborn win?” against “Will an independent win?”). Each card quotes its market's exact question.
- Freshness: prices are read every hour; each card shows the time of the read. The 24-hour change compares against the stored reading closest to 24 hours earlier. History before this tracker started comes from each platform's own daily price history.
Campaign money
From the FEC's nightly bulk files (weball26, candidate summaries; cn26, candidate master), which need no key. Raised is total receipts for the 2025–26 two-year period; “from the candidate” adds the candidate's own contributions and loans; cash on hand is at the end of the latest report, whose date is shown. Outside spending (super PACs, party committees) is not included. Mailing addresses in the FEC files are never published here.
Party-line score
- Source: Voteview roll-call files for the 119th Congress (Lewis, Poole, Rosenthal, Boche, Rudkin and Sonnet), with names, caucus and FEC ids from the public-domain congress-legislators project.
- Party-line vote (Congressional Quarterly's “party unity” vote): a roll call on which a majority of voting Democrats opposed a majority of voting Republicans. Yea and nay only; “present” and not voting are left out.
- Score: the share of party-line votes a member cast on which they voted with their own party's majority. Independents are scored against the party they caucus with (from congress-legislators), and their votes with each party are shown too.
- Party switchers: Voteview gives a member a new record when they change party, and so does this tracker: each period is scored on its own.
- Rank: within the member's chamber and party, among members with at least 50 party-line votes. Delegates, who vote only in the Committee of the Whole, are not ranked.
- Every break is linked to the Clerk of the House or Senate record and to Voteview, so any line can be checked.
- Limits: all roll calls count equally, procedural votes included, and a low score is not a judgment: it can reflect a district, a principle or a protest from either side.
Why there is no polling average yet
There is no open, licensed feed of 2026 race polls since FiveThirtyEight's poll database closed in 2025. Copying averages from other sites would break their terms, so this tracker shows markets and money and leaves polls out until a reusable source exists.
Update schedule
A GitHub Actions job runs every hour: it rereads the markets, checks whether the FEC or Voteview files changed (and downloads them if so), runs the test suite, rebuilds every page and publishes the site. If a source fails, its last good data stays up with its original as-of time. The code and every data snapshot are public in the repository.
Neutrality
No endorsements, no rankings of candidates by merit, no donation links for candidates. Candidates are ordered by market price, members by score. Corrections are welcome as GitHub issues.