OddsHedgeOddsHedgeStart free
← All guides
Guide

Kalshi vs sportsbook arbitrage: why the prices diverge and how to lock the gap

David, founder of OddsHedge·September 22, 2026·8 min read

Kalshi is a regulated exchange where traders set the price of a game. A sportsbook is a shop where a trading desk sets the line and charges you a margin for the privilege. The two disagree about the same game far more often than you would expect, and when the disagreement is wide enough you can back one side on Kalshi and the other at the book and get paid whichever way it goes. This guide covers why the gaps exist, how to read a Kalshi price as odds, how to place the two legs, and what Kalshi's fees do to the number.

Why an exchange and a sportsbook price the same game differently

A sportsbook's line has its margin built in. A standard -110 / -110 game is 52.4% + 52.4% = 104.8%, and that extra 4.8% is the book's cut. On Kalshi there is no house position: a YES contract and a NO contract on the same game add up to roughly 100¢, with the spread between bid and ask as the only cost, and the price is whatever the last trader was willing to pay.

Gaps open for three reasons. Speed: books move their lines on their own models and on sharp action within seconds; an exchange price only moves when somebody trades, so after injury news or a lineup change one venue often sits stale for minutes. Crowds: an exchange price reflects whoever happens to be trading that market, and a lopsided crowd pushes it away from the book's number. Shading: books lean lines toward the side the public likes, which is why the popular favorite is often a little cheaper on the exchange than at the book.

None of these gaps last. Most close within minutes as traders and the book's desk catch up, which is the whole reason a scanner and a fast routine matter more than the math.

Reading a Kalshi price as odds

A Kalshi contract pays $1 if the event happens and nothing if it does not, so the price in cents is the implied probability. A YES contract at 53¢ is a 53% price, which is the same thing as -113 in American odds or 1.887 in decimal odds. The conversion is the only new skill this needs:

Kalshi priceImplied probabilityDecimal oddsAmerican odds
35¢35%2.86+186
45¢45%2.22+122
50¢50%2.00+100
53¢53%1.89-113
60¢60%1.67-150
75¢75%1.33-300

Decimal odds = 1 ÷ price. American odds: for prices under 50¢, 100 × (1 − p) ÷ p; over 50¢, −100 × p ÷ (1 − p).

One thing that trips people up: for an arb against a book you need the opposite outcome at the book. If you buy "Steelers win YES" on Kalshi, your book leg is the Bengals moneyline. Buying NO on Kalshi and betting the Bengals at the book is the same side twice.

The arb condition

Convert both prices to implied probability and add them. Under 100% is an arb; the shortfall is the margin.

Kalshi  Steelers win YES @ 53¢          → 53.0%
Book    Bengals ML +130                 → 100 ÷ 230 = 43.5%
Total                                    96.5%  →  3.5% margin

To lock the profit you stake in proportion to each side's implied probability, so both outcomes return the same amount. The arbitrage calculator does this for any pair of prices: pick Cents for the Kalshi leg and American for the book leg. On an exchange you buy whole contracts, so read the Kalshi stake as a contract count: the number of contracts is the payout you are targeting, and the cost is contracts × price.

Step by step

  1. Match the market exactly. Same game, same outcome, same rules. A moneyline and a "team to win" contract both include overtime, but check how each venue treats a tie (a push at most books; on an exchange the rule is whatever the market page says) and what happens if the game is postponed (books usually void after a set window; exchange markets have their own cut-off date). For totals, only use half-point lines so neither side can push.
  2. Check the gap is real. On Kalshi look at the ask and the size available at that price, not the last trade. On the book, refresh the line. If either has moved, the arb may already be gone.
  3. Run the numbers. Put the two prices and your total into the calculator. Note the Kalshi contract count and the book stake.
  4. Place the Kalshi leg first. The exchange is the thinner, faster side. A limit order at the ask fills immediately (you pay the taker fee). A resting order a cent below the ask pays the lower maker fee but may never fill, so use it only when the gap is wide enough to wait.
  5. Place the book leg immediately. If the line has moved, switch the calculator to "Already placed leg A" and hedge the contracts you actually hold at the price that is actually available. A slightly smaller profit beats an open position.
  6. Record it. Screenshot both tickets. You will want the record when a leg settles oddly, and it is what a #receipts post is made of.
  7. Wait for settlement. Kalshi pays $1 per winning contract when the market resolves; the book grades the bet at the final whistle. Money is tied up until then, so size for that.

A worked example with the real fees

Take the prices above and $500 to stake. The calculator splits it $274.67 on Kalshi and $225.33 on the book. On Kalshi that is 518 contracts at 53¢ (cost $274.54).

LegVenuePriceStakeReturns if it wins
Steelers win YESKalshi53¢ × 518 contracts$274.54$518.00
Bengals moneylineSportsbook+130$225.33$518.25
Total$499.87≈ $518 either way

Before fees that is about $18 locked, or 3.6%. Now the part the calculator does not know about. Kalshi charges a trading fee when your order fills: 0.07 × contracts × price × (1 − price), rounded up to the cent, if you take liquidity. On 518 contracts at 53¢ that is $9.04. If your order rests on the book and gets filled by someone else (a maker order), sports markets are charged at a quarter of that rate, 0.0175, which is $2.26. The sportsbook charges nothing on top; its cut was already in the +130.

Gross profit, either outcome        ≈ $18.13
Taker on Kalshi   − $9.04   →   ≈ $9.09 net   (1.8%)
Maker on Kalshi   − $2.26   →   ≈ $15.87 net  (3.2%)
Rule of thumb

Near 50¢, taking liquidity on Kalshi costs about 1.75¢ per contract, which is 1.75% of a $1 payout. A 3.5-point gap is worth about 1.8% as a taker and 3.2% as a maker. A gap under 2 points near the middle of the range is eaten entirely by the taker fee. The fee shrinks toward the extremes: at 80¢ it is 1.12¢ per contract, at 90¢ 0.63¢.

What goes wrong

  • The second leg moves. The main risk in any arb. Place the exchange leg first and hedge within seconds. If the book line has moved against you, hedge anyway at the best available price and accept a smaller profit or a small loss rather than leaving one side open and hoping.
  • Partial fills. You asked for 518 contracts and got 300 because the ask was thin. Hedge 300 contracts' worth at the book, not 518. The "Already placed leg A" mode is built for exactly this.
  • Rule mismatches. A tie that pushes at the book but resolves the exchange contract to NO leaves you with a loss on one side and a refund on the other. Read the market rules once, before the first arb, not after.
  • Postponements. Books typically void bets on games not played within a day or so; exchange markets carry their own resolution deadline. If one venue voids and the other keeps the position open, you are no longer hedged.
  • Limits. Sportsbooks limit accounts that arb consistently: smaller maximum stakes, sometimes closure. Exchanges do not limit you for winning. Spread action across books and treat each book account as a resource that runs out.
  • Thin liquidity. If the ask on Kalshi shows 40 contracts and you want 500, your order will walk up the book and the average price will not be 53¢. Size to what is there.

Is this allowed?

Placing a trade on a regulated exchange and a bet at a licensed sportsbook are both legal wherever those venues are legal, and doing both on the same game is not against any rule at either. Kalshi is regulated by the CFTC and accepts traders 18 and over, though its sports contracts are currently unavailable in a handful of states that are contesting them; most US sportsbooks require 21 and operate state by state. Books can and do limit accounts that take their mispriced lines too often, which is a commercial decision on their side. Use only venues that are legal where you live, and only money you can afford to have tied up until settlement.

Questions people ask

Can I do the same thing between Kalshi and Polymarket?
Yes, and it is simpler in one way because both sides are priced in cents, but the fee math is stricter because both venues charge trading fees. The Kalshi vs Polymarket guide walks through it with the numbers.
Which leg should I place first?
The exchange leg, almost always. It is thinner and moves faster than a book line, and a partial fill on the exchange is easy to hedge at the book, whereas the reverse leaves you trying to buy contracts that may no longer be there at the price.
Why is my Kalshi profit smaller than the calculator says?
Fees and rounding. Kalshi's trading fee is 0.07 × price × (1 − price) per contract as a taker (0.0175 as a maker on sports markets), rounded up to the cent, and you can only buy whole contracts. On a 3–4 point gap that is roughly half the gross profit as a taker. The OddsHedge scanner shows net-of-fee numbers for exactly this reason.

Fees, availability and venue rules quoted here were correct when this guide was written and change over time; check each venue before you trade. Nothing on this page is financial or wagering advice. Arbitrage carries real risk of loss; read the risk disclaimer.

The scanner does the finding

Stop typing prices in. Get them sent to you.

OddsHedge watches Kalshi, Polymarket and sportsbooks worldwide around the clock and sends every arb to your phone with the stake split already calculated, plus the playbook and a room of people who do this every day.

Start free →Founders' trial: free for your first 24 hours, then $97/mo. Cancel anytime.