Prediction Market Arbitrage Calculator
A book-versus-book arbitrage calculator cannot price this trade, because one of the two legs charges an explicit fee on top of its price. This one nets the exchange fee out first, then reports what is left — including the common case where the fee eats the whole gap and there is nothing left to lock.
Prediction market arbitrage is covering both sides of the same event across an exchange and a sportsbook so every outcome pays the same amount. It exists only when the contract’s fee-adjusted cost plus the book price’s implied probability sum below 100%, and on a two-venue market the exchange fee is usually what stops them.
where:
- — the exchange ask for the side you are buying, in dollars. The ask, not the midpoint: the mid is a price nobody is offering.
- — the fee-adjusted cost of one contract, in dollars, on the standard Kalshi taker schedule. Read directly as a probability: it is what you pay per $1.00 of payout.
- — the sportsbook’s posted decimal odds on the opposite side. Posted, with the vig still in it — that is the price you can actually take, so that is the price the arithmetic uses. Nothing gets de-vigged here.
- — the two break-even probabilities added together, dimensionless. Below 1.00 the pair covers itself for less than it pays; at or above 1.00 there is no arbitrage — both legs together cost more than they pay, and the panel says so instead of printing a locked profit.
- — the locked return as a fraction of total outlay, after the exchange fee and with the book’s margin already inside .
- — total dollars committed across both venues. Splits as on the exchange and at the book.
- — whole contracts on the exchange, . Because each contract settles at $1.00, the contract count and the dollar payout are the same number.
Worked example — the numbers in the form below
An NFL game. The exchange quotes “Team A wins” at 49¢ bid / 50¢ ask. A sportsbook posts Team A −135, Team B +115. Take the better price on each side: the contract for A, the book for B.
Sized contract-first at contracts, so both legs pay $1,000:
Check a pair of prices
The panel takes American odds for both venues, so the exchange leg goes in fee-adjusted — the conversion is one line and the table below has the common prices. It then picks the better price on each side, splits a total stake so both outcomes pay the same, and prints the locked return or the absence of one.
On the defaults the panel reports , a return of +1.77%, $526.65 on the exchange leg and $473.35 at the book, paying $1,017.70 whichever side wins — a locked $17.70. That is the same trade as the worked example, scaled so the outlay is $1,000 rather than the payout; the return is identical because scaling a hedge does not change its rate.
Getting the exchange leg’s fee-adjusted price
One conversion, from the ask you would actually pay. Add the per-contract fee to the price, then run the standard American formula on the result:
The right-hand column below is the other half of the same fact, and it is the number worth memorising: it is the price the sportsbook has to beat on the opposite side before any arbitrage exists at all.
| Exchange ask | Fee-adj. cost | Enter as (American) | Book must beat | …if the fee were zero |
|---|---|---|---|---|
| 20¢ | 0.2112 | +373.48 | −373.48 | −400.00 |
| 30¢ | 0.3147 | +217.76 | −217.76 | −233.33 |
| 40¢ | 0.4168 | +139.92 | −139.92 | −150.00 |
| 45¢ | 0.4673 | +113.98 | −113.98 | −122.22 |
| 50¢ | 0.5175 | −107.25 | +107.25 | +100.00 |
| 51¢ | 0.5275 | −111.64 | +111.64 | +104.08 |
| 55¢ | 0.5673 | −131.12 | +131.12 | +122.22 |
| 60¢ | 0.6168 | −160.96 | +160.96 | +150.00 |
| 70¢ | 0.7147 | −250.51 | +250.51 | +233.33 |
| 80¢ | 0.8112 | −429.66 | +429.66 | +400.00 |
Note the 51¢ row. On a 49/50 book the exchange’s other side is not 50¢ — a taker buying NO pays 100 − 49 = 51¢, which is why the form’s two exchange fields are −107.25 and −111.64 rather than a matched pair. The spread is charged to whoever is in a hurry, in both directions. The prediction market odds converter has the full table of formats, and computes the fee-adjusted break-even on any price.
The fee moves the bar by 7.25 points of American odds
Everything on this page reduces to one comparison. Without a fee, a 50¢ contract on side A pairs with anything better than +100 on side B. With the standard taker fee, the bar moves to +107.25:
That is 1.75 probability points, and it is why exchange-versus-book pairs that look arbitraged on a screen usually are not. The gap has to clear both venues’ costs, and the two costs are charged in different places: the book’s inside the price (−135 / +115 is a 3.96% overround — a 3.81% hold), the exchange’s bolted on after it ( of outlay at 50¢). An arbitrage survives only by taking the good half of each.
No arbitrage is an answer
Same 50¢ contract, same side A, but now the book prices side B at +105 instead of +115:
A gap that does not survive its costs
This is the same rule the rest of the site runs on: when the inputs contain no edge, no edge gets printed. Rounding a negative into “thin but positive” is how a spreadsheet turns into a slow leak.
Contracts are integers; stakes are not
The stake split is continuous, the exchange leg is not. Contracts come in whole units, so the two payouts almost never match to the cent and a small directional residual is left over. On the worked example, sizing from a $1,000 outlay:
At a thousand contracts the rounding costs two cents. At twenty contracts, on a market whose fee rounds up a full cent, it is a materially larger share — which is the same regressive-at-small-size effect the fee schedule has on its own. Round the contract count down and match the book stake to the contracts actually filled, not the other way round: the leg you can only buy in whole units is the one that sets the size.
Round trips are taxed twice
The locked figure assumes both legs run to resolution. Exchange fees are charged per trade and settlement is free, so unwinding the contract leg early adds a second fee of roughly the same size as the first:
One round trip on the exchange leg turns a $17.38 locked margin into a 12-cent loss, before whatever the exit price does to the hedge. The asymmetry is worth stating plainly because it inverts the usual intuition: on this pairing the illiquid path — sitting on both legs until the game ends — is the cheap one.
Execution risk, priced where it can be
The arithmetic above is exact. Everything that makes it wrong in practice is below.
- Depth, not price. The ask is a price for the contracts resting at that ask. If 300 contracts sit at 50¢ and the next 700 fill at 51¢, the average price is 50.7¢, becomes 0.5245, and the locked margin falls from $17.38 to $10.38 — a 1¢ slip on 70% of the order erases 40% of the edge. An order book shows you this before you send the order, which is one genuine advantage over a posted line.
- Partial fills. A half-filled exchange leg against a fully-matched book leg is not a hedge; it is an ordinary directional position that you did not intend to hold. The book leg is all-or-nothing, the exchange leg is not.
- The clock. Two venues means two interfaces, two confirmations, and a gap between them. This site’s own analysis of arb shelf life puts the decay in seconds, which is precisely why arbitrage stays a free calculator and a free board flag here rather than a paid alert — an alert that arrives after the price has moved is worth nothing, and charging for it would be worth less.
- Settlement rules diverge. The exchange settles against the contract’s own written rulebook; the sportsbook grades against its house rules. Overtime, abandonment, a shortened game, what counts as an official result — these are defined separately in two documents. Where they disagree, the two legs are not the same event.
- Postponements. On Kalshi a postponed game can re-ticker: the old market stops updating and a new one appears under a different symbol. A quote that has quietly stopped moving still renders like a live price, and a hedge built on it is a hedge against a fossil.
- Account treatment. Sportsbooks limit or close accounts that consistently take arbitrage prices. An exchange earns its fee whichever side wins and has no reason to care — so the two legs of this trade have very different lifespans as a repeatable activity.
- Capital in two places. Money at the exchange is not money at the book. The return above is on committed capital, not on capital you could deploy elsewhere in the meantime.
Why the book-versus-book calculator cannot do this
The standard arbitrage calculator assumes both legs are quoted the same way: a price in, a payout out, all costs inside the number. Two sportsbooks satisfy that. An exchange does not — its cost arrives as a separate line item that scales with , peaking at a coin flip and shrinking toward the tails, which is the exact inverse of how a book’s margin behaves. Feed a raw contract price into a book-versus-book tool and it will systematically overstate the edge, worst of all in the middle of the price range where most game markets live.
The fix is the one line at the top of this page: adjust the contract leg to first, then the two legs are comparable and the ordinary arbitrage arithmetic applies unchanged.
Common mistakes
- Using the midpoint. On a 49/50 book the mid is 49.5¢ and nobody will sell you a contract there. A taker pays the ask.
- Skipping the fee. It is the single largest correction on this page and it flips signs, not just magnitudes — +1.23% to −0.53% on the example above.
- De-vigging the book price first. Expected-value work needs a de-vigged reference. Arbitrage needs the price you can actually take, vig and all. Mixing the two conventions produces a number that describes no trade that exists.
- Assuming the exchange’s two sides are complements. YES at 50¢ does not mean NO at 50¢. Across the spread, NO costs 100 minus the bid.
- Treating the round trip as free. Two trades, two fees. Only settlement is free.
- Sizing from the payout instead of from the fill. Whole contracts set the size; the book stake follows.
- Reading a large number as a large opportunity. Above roughly 12% return, a two-way arbitrage is nearly always one stale or mistyped leg, and the panel demotes it to a caution rather than presenting it as value.
Sources
- Kalshi. “Fee Schedule” (July 2026 revision). — the taker formula, the round-up-to-the-cent rule, and the zero settlement fee that makes holding cheaper than trading out.
- Burgi, C., Deng, W. & Whelan, K. (2026). “Makers and Takers: The Economics of the Kalshi Prediction Market.” GWU Working Paper 2026-001. PDF. — taker cost and price behaviour across 300k+ settled contracts.
- Thaler, R. H. & Ziemba, W. T. (1988). “Anomalies: Parimutuel Betting Markets: Racetracks and Lotteries.” Journal of Economic Perspectives 2(2), 161–174.
Frequently asked questions
What is prediction market arbitrage?
Prediction market arbitrage is covering both sides of the same event across an exchange and a sportsbook so every outcome pays the same amount. It exists only when the contract’s fee-adjusted cost plus the book price’s implied probability sum below 100%, and on a two-venue market the exchange fee is usually what stops them.
How do you calculate an exchange versus sportsbook arbitrage?
Add the exchange leg’s fee-adjusted cost per contract to the inverse decimal odds of the book’s posted price on the opposite side. If that sum is below 1.00, the two legs cover each other for less than they pay. The locked return is 1 divided by the sum, minus 1, and the stake on each leg is proportional to its own term.
Why does the exchange fee kill most of these arbitrages?
Because it is charged on the leg that looks cheapest. A 50¢ contract taken as a taker costs 51.75¢ per $1 of payout, so the sportsbook has to price the other side better than +107.25 rather than better than +100. On a worked $982.62 position the fee took $17.50 of a $34.88 gross gap — a fraction over half.
What happens when the gap does not survive the fee?
The panel flags “no arb at these prices” and prints the shortfall rather than a locked profit. A 50¢ contract against a book at +105 sums to 0.5175 + 0.4878 = 1.0053, which is above 1.00, so both sides together cost more than they pay and the return reads −0.53%. Before the fee the same pair reads +1.23%, which is the number a fee-blind tool would show.
Does holding both legs to settlement matter?
It is the difference between the arithmetic holding and not holding. Exchange fees are charged per trade and settlement is free, so unwinding the contract leg early pays a second fee of roughly the same size. On the worked example that second fee is about $17.50 against a $17.38 locked margin, which turns the position negative.
Do the two legs always settle on the same rules?
No, and this is the risk least often priced. The exchange settles against the contract’s own written rulebook and the sportsbook grades against its house rules, and they can differ on overtime, abandonment, postponement and what counts as an official result. When the rules diverge the two legs are not the same event and the hedge is not a hedge.