TOTAL VOLUME:
$134.2b
24H VOL:
$130,522,377
24H TRANSACTIONS:
2,388,728,490
OPEN INTEREST:
$1,438,389,636
404,028
Markets across
30,214
events
MATCHED EVENTS:
2,681
PLATFORM COVERAGE:
5
Polymarket:
39%
VS.
Kalshi:
61%
A primary contract at 40 cents and a general contract at 45 cents for the same candidate can't both be right. The arithmetic behind correlated contracts on five prediction market platforms.
Jared Polites
Sep 15, 2026

TL;DR
Ever watched two related prediction market contracts price in a way that can't both be true at once? A primary contract for a candidate sitting at 40 cents next to a general-election contract for that same candidate at 45 cents looks fine at a glance. It isn't. Winning the general requires winning the primary first, so the general contract can never carry a higher implied probability than the primary one. When it does, one of the two prices is wrong, or nobody's traded the stale side yet.
That's the core idea behind correlated prediction markets: pairs or chains of contracts whose outcomes are logically linked, so their prices can't move independently without creating an arbitrage. Reading that relationship isn't a trading strategy. It's a way to check whether a market's pricing is internally consistent, which is a fast way to judge how much to trust the number in the first place, across Polymarket, Kalshi, Limitless, Predict.Fun, and Opinion.
Two contracts are correlated when the outcome of one changes the probability of the other. That relationship shows up in a few common shapes.
Nested events. "X wins the primary" and "X wins the general" are nested. Winning the general requires winning the primary first, in most systems. The general-election contract can never trade higher than the primary contract, because X can't win the general without clearing the primary first.
Mutually exclusive events within one race. "Candidate A wins" and "Candidate B wins" in the same election are correlated by exclusion. Across every candidate in the field, the Yes prices should sum to somewhere close to 100%. Not exactly, because of fees and spread, but close.
Conditional cascades. "The Fed cuts rates in September" and "The Fed cuts rates by 50 basis points or more in September" are related by containment. The second contract describes a subset of the outcomes covered by the first, so it can never price higher than the first.
Shared underlying drivers. "Team X makes the playoffs" and "Team X wins the championship" aren't nested in the strict sense, but they share the same underlying strength signal. A market pricing X's championship odds well above its playoff odds is saying something inconsistent about how good X actually is.
Take a simple example. Say a primary contract for Candidate X is priced at $0.40, meaning the market thinks there's a 40% chance X wins the primary. Now say the general-election contract for X is priced at $0.45.
At face value that looks fine. Both numbers are plausible in isolation. But the general contract can only pay out if the primary contract also resolves Yes, since X's general-election contract resolves No automatically if X loses the primary.
That means the true probability of "X wins the general" is bounded by the probability of "X wins the primary" multiplied by the probability of winning the general conditional on winning the primary. If X wins the primary 40% of the time, and the general contract is priced at 45%, that implies X would need to win the general more than 100% of the time it wins the primary. That's not possible.
This is the entire logic of correlated contracts. Nested or dependent outcomes carry a mathematical ceiling on each other, and when observed prices exceed that ceiling, the discrepancy is information, not noise. The general contract might simply be stale, still pricing yesterday's numbers while the primary contract already moved on new information. Or it might have almost no volume, with one trader sitting on a bad price nobody has bothered to correct.
This is the useful part for analysts and researchers, not traders. A market where correlated contracts stay logically consistent, where the primary-to-general relationship holds and mutually exclusive outcomes sum close to 100%, is a market with enough liquidity and attentive participants to keep prices coherent.
PredictionHero currently tracks 337,937 markets across 31,620 events and matches 2,847 of them across Polymarket, Kalshi, Limitless, Predict.Fun, and Opinion, as of September 15, 2026. That's enough live cross-platform coverage to pull a fresh order book before concluding a correlated pair has actually drifted, rather than reasoning from a price that's already hours stale.
This matters because prediction market prices are often quoted as if they're a single clean number: "the market says 62%." That number is only as trustworthy as the process that produced it.
Checking whether a contract's price is consistent with its correlated neighbors is a fast way to sanity-check that process without needing insider knowledge of the event itself. If the primary and general contracts for the same candidate have stayed internally consistent for weeks, that's a market worth taking seriously. If they drift out of bounds and stay there, the number floating around in headlines deserves more scrutiny than it's getting.
The same logic applies across a full field of mutually exclusive outcomes. If the Yes prices for every candidate in a primary sum to 108%, the market has more implied probability than reality allows, a sign of overround driven by spread and fee structure on both sides of each contract. If that sum creeps toward 115% or higher, it usually means liquidity has thinned and market makers have widened their spreads, rather than that the race genuinely got more uncertain.
Correlated contracts don't always trade on the same platform, and that's where the constraint gets harder to enforce in practice. A primary contract might carry deep liquidity on one exchange while the corresponding general-election contract sits on another with a fraction of the volume.
Nothing forces those two venues to arbitrage against each other in real time. Each platform has a different capital base and a different pace of settling trades, so a stale price on one side can sit there until someone bothers to correct it.
A thinly traded contract can also sit stale for hours after a correlated contract has already moved. A single large position can shift a low-liquidity market well past where it should sit relative to its correlated pair, and it can stay there until enough liquidity moves through to correct it.
That lag is normal, not a sign of manipulation. It's simply what happens when trading activity isn't evenly distributed across every related contract on every platform.
Resolution criteria differences compound this. Two platforms covering "nominee" contracts for the same race might define the resolving event slightly differently, one settling on the party's official nomination vote, another on a media call.
When the definitions diverge even slightly, the contracts stop being strictly correlated, and price gaps that look like inconsistency are really just different questions being asked.
Because PredictionHero aggregates all five platforms, the correlated-contract pattern shows up differently depending on where you look, and it's a close cousin of why odds disagree across platforms on the exact same event.
Polymarket carries deep liquidity on most political and macro events, which means its correlated contract pairs tend to stay tighter to their logical bounds. With more capital moving through a contract, mispricings get closed faster.
Kalshi is a CFTC-regulated exchange with a domestic US trader base, and its event menu often includes narrower, more granular contracts inside a broader category. That's exactly the kind of nested structure where consistency checks matter most.
Limitless runs on-chain with shorter-duration contracts in several categories. Shorter time horizons mean less time for a correlated pair to drift before resolution forces convergence.
Predict.Fun settles on BNB Chain and lets collateral in open positions earn yield, which changes the incentive to close out a mispriced position quickly compared to a platform where capital just sits idle.
Opinion leans toward macro and economic contracts, FOMC decisions, CPI prints, and similar cascading outcomes. The conditional relationships between contracts there, a rate cut of any size versus a rate cut of 50 basis points or more, are especially common and especially useful to check against each other.
Checking whether two related contracts are still priced consistently means pulling a live order book, not a screenshot from this morning. See current cross-platform pricing on PredictionHero.
A correlated contract is one whose outcome is logically linked to another contract's outcome, either because one contains the other (a nested primary-and-general pair) or because they're mutually exclusive results of the same event, like every candidate in a single race.
Not directly. They're a way to check whether a market's pricing is internally consistent, which is a signal about liquidity and market quality, not a forecast of what will happen. A consistent pair tells you the market is being priced carefully; it doesn't tell you who wins.
Usually because one of them is thinly traded and hasn't caught up to new information, because the two contracts sit on different platforms with different capital and update speeds, or because the resolution criteria between them differ more than they appear to.
No. PredictionHero is a read-only aggregation layer that surfaces pricing across Polymarket, Kalshi, Limitless, Predict.Fun, and Opinion. The consistency checks described here are for understanding market quality and structure, not for trading guidance, and nothing here is financial advice.
PredictionHero aggregates publicly available prediction market data for informational purposes only. This is not financial advice. Prediction markets may not be available in all jurisdictions.
Related

A three-candidate market pricing at 105 cents isn't broken. Here's what that extra 5 cents actually means and why sportsbook vig is a different animal.
Jared Polites · Sep 6

A price gap between Polymarket and Kalshi isn't a pricing error. Find out what it really represents.
Jared Polites · Aug 19

A recurring contract is not one market. It's a series that resets every cycle, and reading only the latest instance means missing the trend entirely.
Jared Polites · Aug 24