Arbitrage Scanner
Price comparisons between two prediction markets, with an explanation of contract costs and possible payouts.
The Arbitrage Scanner compares two prediction markets from Polymarket or Kalshi. The comparison brings their price histories together and calculates the cost and possible payout of buying one contract in each market. The prices determine the estimated purchase cost, while the contracts' resolution conditions determine which settlement outcomes are possible. Those conditions are available in the event details where supplied by the venue.
Each side of the comparison represents a market within a selected event. An event can contain several markets, and each side's market list lets you choose the one to compare. The comparison, calculator, and event details are available without an account.
Choosing the events
An empty comparison shows two slots, Choose the first event and Choose the second event, with a search field below them. Search for a name, a subject, or part of an event's question, and select a result to place it in the first slot. For the second slot, Relevance lists events related to the first, and Search lets you look for a counterpart yourself. Once both events are chosen, the chart and calculator appear.
You can also arrive with the first event already selected. Open in Arbitrage Scanner, available in the event details opened from Cross-venue Search or Market Screener, carries that event into the scanner. The same action is available on a research page's Related events card.
Related events
Relevance lists open events with wording similar to the event on the other side. The venue menu lets you choose All venues, Polymarket, or Kalshi. Suggestions can include events on the same venue as your starting event.
The list keeps its relevance order. Columns lets you change which trading figures appear beside each event. The arrow at the end of a row opens its research page; selecting the title or row chooses it for the comparison.
Shared wording can suggest a useful counterpart, but the contracts may have different deadlines, thresholds, or resolution conditions. The rules in Event details establish what each contract covers. Search offers a way to find a counterpart that does not appear among the suggestions.
Searching for a counterpart
Search accepts ordinary names and phrases. Include rules text, shortened to Rules on a phone, extends matching to contract rules. This can find a resolution source or condition absent from an event's title. The Cross-venue Search manual explains how wording is matched.
The venue menu narrows the results to Polymarket or Kalshi, or includes both. The Sort menu orders those results by Relevance, 24h volume, Volume, Open interest, or Closing in. These choices correspond to wording match, recent trading volume, lifetime volume, outstanding positions, and expected closing time.
Both Search and Relevance list open events.
The × in the search field removes the typed subject while retaining the selected events and other search settings. When more search results are available, signed-in users can use ‹ Previous, Next ›, and the numbered pages. Visitors without an account see a sign-up option in place of those controls; a free account enables paging.
Markets within each event
An event can contain several individual markets, such as outcomes or price thresholds. The chance of the market used on each side appears at the bottom of its event card, along with its name when the event has several markets.
On a wide layout, each multi-market event has a list beside the comparison. Selecting a row changes the market used on that side. Filter markets narrows the list by market name, while the selected market remains unchanged until another row is chosen.
On a narrower screen, Change market in the event card opens the same list in a panel. Selecting a market closes the panel and updates the comparison. An event with only one market has no market chooser.
The two events can come from the same venue or different venues. A comparison can also contain two markets within one open event: choosing that event on both sides through Search lets you compare two of its markets, one on each side.
Changing or swapping the pair
Change event on either card returns to the event chooser for that side. The other event stays selected and supplies the reference for Relevance. While the chooser is open, Keep this event returns to the existing pair without replacing it.
Swap events exchanges the two sides, each with the market it shows. The calculator's rows and columns change places, and the Gap chart reverses its sign.
Contract rules and event details
The information icon on either event card opens Event details. When the panel displays several markets, each market row expands to show its rules and additional figures. When only one market is available to display, Rules appears beneath its probability. Rules and resolution-source links appear where the information is available.
The conditions can differ even when the two titles look similar. A different deadline, threshold, or resolution source can change which combinations of outcomes are possible. The Market Resolution guide explains these terms in more detail.
The details panel has its own market list and price chart. Expanding a market or changing a line in that chart leaves the scanner's selected market unchanged. The comparison itself follows the selection in the scanner's market list or Change market panel.
View on Polymarket or View on Kalshi opens the event on its venue. Go to the research page opens its full research page. Closing Event details returns you to the comparison.
Reading the price history
The chart uses the selected markets' Yes prices, or the first-named side's price on markets such as Up/Down, expressed as probabilities. Each market's color connects its card to the chart. The Chance, Gap, and Sum views show those prices in different ways:
| View | What the chart shows |
|---|---|
| Chance | Both markets' available Yes-price histories on the same timeline. |
| Gap | The first market's Yes probability minus the second's, in percentage points. A positive value means the first market has the higher Yes price; a negative value means the second does. |
| Sum | The two Yes prices added together. A value of 100% corresponds to a combined displayed cost of $1 for one Yes contract in each market. |
Sum represents the combined Yes cost on a percentage scale and can exceed 100%. The chart calculations remain the same when you choose a Yes/No or other position in Cost.
The time-range controls change the period shown and appear only when the available history supports more than one useful range. Chance can show one market's line when the other lacks enough history. Gap and Sum require enough overlapping history from both markets and are disabled when that data is unavailable. If changing a market makes the selected Gap or Sum view unavailable, the chart returns to Chance.
When neither market has enough history to chart, a message appears in the chart area. Current-price calculations can still be available below it.
The cost of a position
The Cost grid assumes one contract in each selected market. Its rows describe what you buy in the first market; its columns describe what you buy in the second. The market names and color markers identify their positions.
Each cell represents a combination of Buy Yes or Buy No in the two markets. Some contracts use venue-provided outcome names, such as Up and Down, in place of Yes and No. Selecting a cell fills in the Payout grid, showing how that position would settle. The selection changes the calculation; the scanner does not place an order.
The calculator uses each market's displayed Yes price rounded to cents, then subtracts that price from $1 to estimate the No price. For example, a Yes price of $0.65 gives a No cost of $0.35. The cost shown in a cell adds the two chosen contract prices.
These estimates exclude the bid/ask spread and venue fees. The price available for an order can differ from the displayed price. The calculator has no position-size input and does not estimate how many contracts are available at that price.
Payout and gain or loss
After you choose a Cost cell, Payout restates the selected contracts and their combined cost. Its rows show how the first market resolves, and its columns show how the second resolves. These are settlement outcomes; the contracts you chose to buy remain the same across all four cells.
Each cell shows the total payout, followed by the gain or loss after subtracting the combined purchase cost. The calculation gives a winning contract $1 and a losing contract $0, so two contracts can pay $0, $1, or $2 in total.
In a hypothetical comparison, the first market's Yes price is $0.65 and the second's is $0.67. Buying Yes in the first and No in the second costs $0.65 + $0.33 = $0.98. The payout grid for that position reads as follows:
| First market resolves | Second market resolves | Total payout | Gain or loss |
|---|---|---|---|
| Yes | Yes | $1.00 | +$0.02 |
| Yes | No | $2.00 | +$1.02 |
| No | Yes | $0.00 | −$0.98 |
| No | No | $1.00 | +$0.02 |
When both markets resolve the same way, one of the two contracts pays. When the first resolves Yes and the second No, both purchased contracts pay. In the reverse case, neither pays.
The grid displays all four settlement combinations, including any that the contracts' rules make impossible. The rules determine which cells describe possible outcomes. A positive gain in one cell describes that particular case; whether the pair offers an arbitrage opportunity depends on its cost and payout across every outcome the rules permit. The displayed gains exclude trading costs, and the calculation does not model refunds, voiding, or partial settlements.
How current the prices are
The Last updated time beneath the comparison shows when its prices were last refreshed. The comparison uses periodically refreshed data, which can trail the venues.
When a selection or result is unavailable
An empty candidate list can reflect the selected venue, the wording used, or an event's status. Relevance and Search both list open events, so an older, settled event will not appear there. Search offers an alternative when Relevance has no suitable counterpart; a shorter name or phrase can broaden its results. Include rules text extends matching when the identifying wording is in the contract conditions.
No markets match your filter refers to the market-name filter inside the selected event. Clearing or broadening that filter reveals the other available markets. This event has no markets to compare means the loaded event contains no selectable market; the comparison needs a different event on that side.
If an event could not be loaded, Choose another event returns you to the chooser for that side. When a current market price is unavailable, the Cost cells show No price and cannot be selected. This is separate from unavailable price history, which can prevent a chart from appearing while the calculator still has the prices it needs.