Original research
Why the last trade can mislead on Kalshi
Two copper contracts illustrate the problem. Our snapshot found last prices outside current quotes in 19.8% of recently traded, two-sided contracts.
Prediction Contracts editorial · · 5 min read
Early on September 6 UTC, Kalshi’s public data carried two striking numbers. The last YES trade for copper’s September 30, 5 PM EDT reference price being above $7.47 a pound was 90¢. For the same reference price being above $6.03, it was 10¢. Read together as current probabilities, those numbers make no sense: copper cannot be more likely to clear the higher threshold than the lower one.
The current quotes told a different story. The lower threshold had a YES bid of 90¢ and an ask of 95¢; the higher threshold was quoted at 5–10¢. Separate order-book checks at 03:35:46–47 UTC confirmed those quotes, about two hours and twenty minutes after the trades. Our archived copper case study records both trade timestamps, the contract rules and the separate order-book checks.
| Copper outcome | Last YES trade | YES bid–ask | Last trade time |
|---|---|---|---|
| Above $6.03/lb | 10¢ | 90–95¢ | 01:17:49 UTC |
| Above $7.47/lb | 90¢ | 5–10¢ | 01:15:42 UTC |
Both contracts reference the same one-minute copper candle close, use the same Pyth source and have matching secondary rules. Their current quotes respect the relationship between the thresholds. The two trades happened at different times, so they do not establish that the market ever held those contradictory beliefs simultaneously. The contradiction appears when someone treats both historical prices as a single current forecast.
A trade records what happened. A quote describes an offer.
A last price records a completed trade. A bid is an offer to buy; an ask is an offer to sell. Orders can change after the latest trade, leaving the historical price outside the current range. Kalshi’s market-data documentation exposes these as separate fields. They answer different questions, even when a chart or spreadsheet gives each one the label “price.”
The copper example is unusually large. To see how often the broader mismatch appeared, we collected 103,998 open, non-combination contracts in an approximately 75-second sweep, from 03:32:50 to 03:34:05 UTC on September 6. That was late Saturday evening, September 5, in New York. This is a dated snapshot, not a live odds feed.
Most last prices were within the quotes. Some were far outside.
We focused on the 15,179 contracts that had traded during the preceding 24 hours and had positive quantities at valid YES bids and asks. In 3,011, or 19.8%, the last price lay outside that interval. Only 444, or 2.9% of the eligible contracts, were more than five cents outside it. Our downloadable audit includes the counts and additional checks.
| Population | Eligible contracts | Outside quotes | More than 5¢ outside |
|---|---|---|---|
| Traded in preceding 24 hours | 15,179 | 3,011 (19.8%) | 444 (2.9%) |
| At least 1,000 contracts traded in preceding 24 hours | 2,885 | 550 (19.1%) | 98 (3.4%) |
| Top 100 by preceding-day volume | 83 | 9 (10.8%) | 0 (0.0%) |
The top-100 row has 83 eligible contracts because 17 did not meet the two-sided-quote definition. None of those 83 had a last price more than five cents outside its quotes, but that small group cannot establish a general relationship. In the broader 1,000-plus-volume group, the share was 3.4%, slightly above the overall 2.9%. Activity alone did not eliminate large mismatches. An outside-range price is not evidence of manipulation, a wrong forecast or a profitable trade.
The broad result also survived two changes to the calculation. Restricting midpoints to 10–90¢, inclusive, gave an outside-range share of 21.6%: 2,377 of 10,997 eligible contracts. Giving each represented event equal weight, rather than letting events with many contracts dominate, gave 20.5%. Neither calculation tells us why an individual price diverged or how long it had been out of date.
The market you browse changes the picture
Popular contracts are a different sample from the full catalog. Among all collected contracts with valid two-sided quotes, the median spread was 7¢. It was 3¢ among those traded in the preceding day, and 1¢ among eligible contracts in the top 100 by volume. Only 18.0% of the full open-contract sample reported any preceding-day trading; 50.6% reported no lifetime trading volume.
Those counts include new listings, distant outcomes and unlikely thresholds. They do not mean half the exchange was “dead.” Nor does a tight quote guarantee a large order can fill there. The size available at each price matters, as the order-book guide explains.
Before quoting a prediction-market probability
Identify what the number represents: the last trade, a midpoint, a bid or an ask. Record the observation time, and use the trade’s own timestamp when reporting a last price. For a current quote, show both sides or make clear that you are using their midpoint. A midpoint is a summary of offers, not necessarily a price you can trade at or an objectively correct probability.
Check that the contract rules match the claim you are making. Related thresholds can provide a useful sanity check, but only when the source, time and settlement conditions match. The prices-and-probabilities guide explains the assumptions behind reading a contract price as a forecast.
What this audit can establish
This is original analysis of one public API snapshot. It excludes combination contracts and already-closed markets. The sweep was sequential, so prices and listings could change during collection; API caching was not independently measured. A two-sided quote required 0 < bid ≤ ask < $1 and a positive quantity at both prices. We did not inspect how Kalshi’s consumer website displayed these contracts or measure available trading profits.
The underlying issue is already recognized: IL9Cast’s methodology describes reducing the weight of last prices that fall outside current quotes. Our contribution is the dated measurement and the verified copper example. It is a reason to label the numbers more carefully, not a finding that prediction markets generally contradict themselves.
The accompanying settlement-source map examines another part of interpreting a contract: whose evidence its rules name when the outcome is determined.
Correction, September 6, 2026 (New York): an independent fact-check found that floating-point rounding had excluded three contracts at the 10¢ midpoint boundary from the sensitivity check. The corrected count is 2,377 outside quotes out of 10,997 eligible contracts, replacing 2,376 out of 10,994 in the downloadable audit. The rounded 21.6% result and the headline findings are unchanged. The copper table now labels the reference time more precisely; it is not a promised payout time.