equivalent pairs.
Three ways in
Events do the same for browsing: when both venues list the same event,
GET /v1/events returns it once with a twin and both venues’ asks on each outcome. See Events and markets.
Reading a pair
Pairs are stated from the left market’s side:
Each pair carries
evidence, the facts the match rests on, and both markets in full, with their strikes, quotes and liquidity fields. Both venues’ markets appear whatever their volume, so read liquidity before treating a pair as tradeable.
Sports: matched games
A cross-venue proof needs the same real-world quantity and the same settlement scope on both sides. For games, that means two full-game lines on the same match. What is matched:
Winner (moneyline) markets, team totals, first-half and other period lines, and draws are not matched across venues; period series such as
KXNFL1HTOTAL never enter the matcher. Moneyline markets are read only to learn each venue’s team order.
Leagues
Eighteen leagues are matched, each with its own alias table of team names:
Soccer lines exclude extra time and penalties on both venues. An NHL line on Kalshi is refused unless its rules state the shootout convention; a Polymarket line is refused when its shootout or 90-minute wording does not fit its league.
When two lines are the same game
All of the following must hold:- Same league, identified from the Kalshi series token and the Polymarket slug prefix.
- Same scheduled date in US Eastern time. Kalshi’s date comes from the event ticker and must agree with its rules text; Polymarket’s comes from the recorded game start, which must agree with its description. A reused slug with a stale date is refused.
- Same settlement scope, from the table above.
- Start times within 90 minutes of each other when both are known, so a doubleheader’s two games stay apart.
- Same teams, decided by team codes, by team names, or both. Codes are the letters in the Kalshi ticker against the Polymarket slug; names are resolved through the league’s alias table, which knows city, nickname and abbreviation forms (
Kansas City,ChiefsandKCare one team;Athleticscovers Oakland, Sacramento and Las Vegas). A name that could be two teams matches nothing, and when codes and names disagree on which team is which, the pair is refused. - One candidate on each side. A game that could pair with two games on the other venue pairs with neither.
Spreads and team order
Kalshi’s spread names the team whose margin is measured; Polymarket’s spread names a team and a handicap. When the two contracts name opposite teams, the Polymarket range is mirrored about zero before comparing: a Broncos margin of(1.5, ∞) is (-∞, -1.5) on Kansas City’s margin. The proof trail shows this as an orient_margin step with the result negated.
Economics: matched releases
Five economic series are matched across venues. Each pairs a Kalshi series with Polymarket markets whose question, slug, group title and description all fit one template and agree with each other:
Both sides must name the same variable and period, the same settlement source and the same observation time: the Bureau of Labor Statistics release for the reference month, or the FOMC statement for that meeting. Headline and core, or monthly and annual, are different variables and never pair. Polymarket’s Fed markets round to 25 basis points; that rounding is folded into their ranges, so the option
4.0% covers upper bounds from 3.875 up to but not including 4.125.
Kalshi’s economic markets are thresholds (more than 0.1%); Polymarket’s are exact values (0.2%) or one-sided buckets. So the relations you will see are mostly subset, superset, contradicts and overlaps rather than equivalent:
Why Bitcoin and Ether are not paired
Both venues list price markets on Bitcoin and Ether, and both are read by the matcher. They are refused because the settlement sources differ: Kalshi settles on the CF Benchmarks real-time index averaged over the 60 seconds before the hour named in the ticker, while Polymarket settles on the close of the Binance BTC/USDT or ETH/USDT one-minute candle at noon Eastern. Different index, different minute: not the same quantity.GET /v1/status counts these under cross_venue_econ_settlement_source_differs.
What the matcher never does
- It never pairs on a title. Two questions with the same wording and no matched game or release are unrelated.
- It never pairs a market whose rules text or description does not fit the venue’s template exactly.
- It never guesses between two candidates.
Related
- Relations: the kinds and the proof.
- Leads: the arithmetic on a pair’s prices, fees and depth.
- Proof trail:
same_game,orient_marginandecon_quantitysteps in full. - Events and markets: twins and merged outcomes.
- Compare a market across venues: ranking gaps yourself.