How to Map Markets Across Prediction Markets Automatically

Same event, different books. Fetch, normalize, match, verify, then keep the join key alive.

Why titles never match

Symbols, wording, and resolution rules differ per book for the same event, so string matching breaks on the cases that matter.

The 4 steps

ToolingOne HTTP client and an API key: curl -H "x-api-key: YOUR_KEY" \ "https://api.matchwire.win/api/v1/rows?sport=nfl". See the docs.

Worked example

A Polymarket International, Polymarket US, and Kalshi walkthrough on generic tickers.

DataReal row key: ev:ncaaf:alabama:south-carolina:2026-09-26, with one listing per venue, each naming the venue's own market ID and the exact request that reads it.

Automate it

DIY upkeep against one maintained join key. matchwire keeps the mapped ID; you keep your client. Accuracy figures are not published yet; matching is tiered, only alias-resolved equality auto-binds, and unsure matches are held for review. See event mapping.

Mistakes that break joins

Resolution mismatches, duplicate listings, stale markets, and wording that drifts after a market is repriced.

FAQ

Manual or automatic?
Manual works once. Automation wins on upkeep. Plans start at $99 per month with a 14-day trial; see pricing.
How is accuracy reviewed?
Every match carries a tier and a confidence, unsure matches are held for review instead of served, and a wrong bind becomes a must-not-match case. Review rates are not published yet.
Where does the code live?
Start at the quickstart.
Which venues?
Polymarket International, Polymarket US, Kalshi, PredictFun.