Buy one outcome on Polymarket and the opposite outcome on Kalshi. It is an arb only if both prices plus both taker fees cost less than the $1 each pair pays.
Arbitrage after fees
Fees from Polymarket's fee documentation and Kalshi's fee schedule (July 2026). Check the fee shown in a market's details before you trade.
Kalshi charges takers 0.07 × P × (1 − P) per contract, rounded up, so a 50¢ trade costs 1.75¢ a contract (3.5% of the price). Polymarket charges takers C × feeRate × p × (1 − p): 0.05 on sports, so the same trade costs 1.25¢ a share (2.5%). Makers pay nothing on Polymarket. Enter a price above for the exact fee, break-even probability and odds after fees, or check whether a Polymarket vs Kalshi gap is still an arb once both fees are paid.
Kalshi charges a trading fee only when an order is matched straight away against the order book (a taker order). Its fee schedule (July 2026) sets the general fee as:
Kalshi taker fee = round up(M × 0.07 × C × P × (1 − P))
P = price in dollars (50¢ = 0.50), C = contracts, M = contract multiplier (1 unless stated)| Price | Fee per contract | Fee as % of price |
|---|---|---|
| 5¢ | 0.3325¢ | 6.65% |
| 10¢ | 0.63¢ | 6.30% |
| 25¢ | 1.3125¢ | 5.25% |
| 50¢ | 1.75¢ | 3.50% |
| 75¢ | 1.3125¢ | 1.75% |
| 90¢ | 0.63¢ | 0.70% |
| 95¢ | 0.3325¢ | 0.35% |
Cheap long shots carry the heaviest fee for their price: 6.65% at 5¢ against 0.35% at 95¢. Fees are shown before rounding; on a single contract they round up to the next 0.01¢.
Polymarket charges only takers, at a rate set by the market's category. Makers are never charged and earn a share of the fees as a rebate. The formula is:
Polymarket taker fee = C × feeRate × p × (1 − p)
C = shares, p = price in dollars; rounded to 5 decimal places| Category | Taker fee rate | Fee per share at 50¢ |
|---|---|---|
| Crypto | 0.07 | 1.75¢ |
| Sports | 0.05 | 1.25¢ |
| Economics, culture, weather, other | 0.05 | 1.25¢ |
| Combos | 0.05 | 1.25¢ |
| Finance, politics, mentions, tech | 0.04 | 1.00¢ |
| Geopolitics | 0 (no fee) | 0¢ |
Each market's own fee rate is shown in its market details on Polymarket.
At the same sports price a Kalshi taker pays 40% more than a Polymarket taker (0.07 against 0.05), and Polymarket makers pay nothing:
| Price | Kalshi taker, per contract | Polymarket sports taker, per share |
|---|---|---|
| 10¢ | 0.63¢ | 0.45¢ |
| 25¢ | 1.31¢ | 0.94¢ |
| 50¢ | 1.75¢ | 1.25¢ |
| 75¢ | 1.31¢ | 0.94¢ |
| 90¢ | 0.63¢ | 0.45¢ |
Fees are only part of the cost. On thin markets the gap between the best bid and ask, and how much is available at the price, often matter more.
A contract bought at price P with a fee F per contract has to win more often than P to break even:
Break-even probability = P + F
Odds after fees = 1 ÷ (P + F)Compare the odds after fees with a sportsbook's price or a no-vig fair line before you call a prediction-market price value.
When the same game is priced differently on the two venues, buying one side on each locks in $1 per pair, but only if both prices plus both fees cost less than $1:
Arb if p₁ + f₁ + p₂ + f₂ < $1
Return = $1 ÷ (p₁ + f₁ + p₂ + f₂) − 1Check that both markets settle on the same result under the same rules before you trade a cross-venue arb.
OddsFantasy's positive EV and arbitrage finders price Polymarket and Kalshi after their taker fees, against Pinnacle's no-vig line and 50+ sportsbooks and exchanges, so a value bet or arb that only exists before fees is never listed.
Add this free calculator to your website or blog. Copy the code and paste it into your page's HTML; it resizes itself to fit.
Kalshi charges takers 0.07 × P × (1 − P) per contract, rounded up to the next 0.01¢: 1.75¢ at 50¢ and 0.63¢ at 10¢ or 90¢. Makers pay 0.0175 × P × (1 − P) on markets with maker fees and nothing on the rest.
Yes, on taker orders. The fee is shares × rate × p × (1 − p), with a rate by category: 0.05 for sports, 0.07 for crypto, 0.04 for politics and finance, and 0 for geopolitics. Makers pay nothing.
For sports takers, Polymarket: its 0.05 rate is below Kalshi's 0.07 at every price, so a 50¢ trade costs 1.25¢ a share on Polymarket against 1.75¢ a contract on Kalshi.
The fee is proportional to P × (1 − P), which peaks at 0.25 when the price is 50¢ and falls toward zero near 1¢ and 99¢.
Add the fee per contract to the price. A Kalshi contract at 50¢ needs to win 51.75% of the time; the same price on Polymarket sports needs 51.25%.
No. Kalshi charges only when an order is matched, and cancelling a resting order is free. Polymarket charges takers only.