Project · Prediction markets · Cross-venue arbitrage
Cross-venue divergence scanner
The same question trades on Kalshi, Polymarket, and Manifold at different prices. Most of that divergence is noise — subtly different resolution criteria, different deadlines, different reference sources. The scanner starts from a human-curated question-link table: rows only enter when the resolution criteria have been verified equivalent, which is exactly the step naive fuzzy-matching skips and exactly why naive cross-venue “arbs” burn people.
For every linked question the scanner pulls live prints (Polymarket Gamma and Manifold are public; Kalshi upgrades from sample to live with an API key), then computes the fee-adjusted executable edge: buy YES at the ask on the cheap venue, buy NO at one-minus-bid on the rich venue, pay Kalshi's 0.07·P·(1−P) fee and a Polymarket gas allowance, and lock $1 of payout at resolution. Positive edge after all of that is a real spread, annualized to the resolution date and sized with a quarter-Kelly rule that haircuts for leg-failure risk. Manifold is play-money, so it prints as signal — useful for spotting where real-money venues might drift next — and stays out of the executable math unless you opt in.
Curation is the product
The link table ships with 14 seed rows across politics & elections and rates & crypto — the categories with the deepest cross-venue overlap heading into the November 2026 cycle. Each row records the venue identifiers, the resolution text, the close date, and any equivalence caveats (aggregator differences, strip-leg mappings, declaration-by vs occurring-in mismatches). Growing this table carefully is the roadmap: every verified row is a question the scanner can watch forever.
Related work: World Cup 2026 arbitrage applies the same dispersion machinery within a single event, and the portfolio allocator turns scanner output into position sizes against the margin framework.