← Back to Blog
politicsApr 14, 20263 min read

We Built a Legislation Tracker That Links Every Congressional Bill to Its Prediction Market

120 bill-market pairs. 23 Senate confirmation markets. Real-time cross-reference between Congress.gov and Kalshi.

Patrick Liu
#legislation#congress#prediction markets#kalshi#SAVE Act#Senate confirmation

Most people who follow prediction markets watch prices. Most people who follow Congress watch committee hearings. Almost nobody watches both at the same time.

We built a system that does. The SimpleFunctions Legislation Tracker cross-references every active bill in the 119th Congress against prediction market contracts on Kalshi. Right now it tracks 120 bill-market pairs and 23 Senate confirmation markets — 143 total.

The data tells you things that neither source tells you alone.

What the Cross-Reference Reveals

Take the SAVE Act (H.R. 22). It passed the House, got received by the Senate, and Kalshi has a contract on it at 11¢ — implying an 11% probability of becoming law before January 2027. The annualized yield on a Yes position is 1,114%. The market is saying: this bill is almost certainly dead, but the tiny chance it passes is priced cheaply enough that someone is willing to hold it.

Or look at the SNAP restriction market (KXSNAPRESTRICT-27-JAN04). The bill was referred to two committees, which in congressional procedure usually means slow death. The market agrees: 14¢, or 14% implied probability. But the IY is 846% — because the resolution date is close enough that even a small probability shift produces an enormous annualized return.

The Trump airport renaming bill (KXBILLS-AIRP) sits at 10¢ with an IY of 1,253%. It was referred to a subcommittee and hasn't moved. The market has correctly priced it as a symbolic gesture with almost zero chance of passage.

How the Matching Works

Our mapping system uses four match strategies:

Match TypeCountAvg Confidence
Keyword950.60
Bill Title240.61
Person Name230.69
Bill Number11.00

Keyword matching catches broad policy markets ("will legislation that restricts SNAP benefits..."). Bill title matching catches markets that reference specific act names. Person name matching links Senate confirmation markets to their nominees. Bill number matching is exact ("H.R. 22" → KXSAVEACT).

The confidence scores reflect match quality. A bill number match is definitive (1.00). A keyword match requires human judgment — the algorithm catches the connection, but the confidence is lower because keyword overlap doesn't guarantee the market is actually about that specific bill.

Senate Confirmations as Markets

The 23 nomination-market pairs are arguably more interesting than the bill pairs. Senate confirmations have clearer binary outcomes: confirmed or not. The market on Casey Means as Surgeon General, Scott Bessent as IMF Governor, Sean Plankey as CISA Director — each of these has a contract with a specific deadline and a live price.

Nomination markets are also faster-moving. A bill can sit in committee for months. A confirmation hearing produces new information in a single afternoon. The price moves are sharper and more event-driven.

How to Use This

Query the legislation API directly:

# Bills with prediction markets
curl https://simplefunctions.dev/api/public/legislation?hasMarket=true

# Search for specific bills
curl https://simplefunctions.dev/api/public/legislation?q=SAVE+Act

# Congress member detail (with election markets)
curl https://simplefunctions.dev/api/public/congress/member/R000614

Or browse the legislation tracker for a visual cross-reference.

The system updates weekly via a cron job that re-queries Congress.gov for status changes on every tracked bill. When a bill moves — committee referral, floor vote, presidential action — the status updates automatically and the prediction market price tells you whether the move mattered.

I will be writing more about specific bill-market pairs as the 119th Congress progresses. The tracker is live at simplefunctions.dev/legislation.