Skip to main content
AI Fin Hub

Comparator

Kalshi vs Polymarket Arbitrage Calculator

Check a Kalshi vs Polymarket arbitrage after both venues' published fees: enter the YES and NO asks, get both trade directions, fees and net profit.

Runs in your browser. Nothing you enter is uploaded, and no account or API key is needed.

Education, not investment advice. Past performance does not predict future results. How we check our numbers.

The two books

Kalshi YES ask
Kalshi NO ask
Polymarket YES ask
Polymarket NO ask

YES + NO pairs to buy; each pair pays $1. Use a size both asks can fill.

days

Your cash is locked until both contracts settle.

Fees

1 on nearly every series; the series' fee_multiplier in Kalshi's API.

Polymarket order

No arbitrage after fees

−$0.74

The better pair costs 98.00¢, a gap of 2.00¢ to the $1 payout; the two venues' fees take 2.74¢ a pair. The gap is smaller than the fees, so buying both sides loses money.

TradeAsksKalshi feePolymarket feeCostNet
YES on Kalshi + NO on Polymarket98.00¢$1.75$0.99$100.74−$0.74
NO on Kalshi + YES on Polymarket104.00¢$1.75$0.99$106.74−$6.74

For 100 pairs paying $100.00. Kalshi fee rate 0.07 × multiplier 1, rounded up to the cent; Polymarket fee rate 0.04.

Before you trade it

  • Same event, same rules. The $1 payout holds only if both venues settle the event the same way. Read both rule sets: a different source, threshold or deadline ("by July 31" against "in July") can make both legs lose, and then the whole stake is gone.
  • Access. Polymarket's documentation lists the United States, the United Kingdom, Germany and France among the jurisdictions where its exchange accepts no new positions (geographic restrictions).
  • Depth. An ask is the best price for the size resting at it. A larger order fills further up the book, at a worse price.
  • Locked capital. The return arrives at settlement. Compare the annualized figure with what the same cash earns in the meantime.

Fees: Kalshi fee schedule effective 2026-07-07; Polymarket fees page as read 2026-10-19. Deposit, withdrawal and transfer costs are not included.

How to use it

  1. Find the same event on both venues, read the YES and NO asks on each, and enter them in cents.
  2. Set contracts to a size both asks can fill, and the days until both contracts settle.
  3. Pick the Kalshi order type and the series multiplier (1 unless the series lists another) and the category the Polymarket market is listed under.
  4. Read the better direction, both venues' fees, the net profit and the annualized return. "No arbitrage after fees" means the price gap is smaller than the fees.
  5. Before trading, compare both contracts' resolution rules and confirm you can open positions on both venues.

The method, step by step

Price both ways of pairing the two books, YES on Kalshi with NO on Polymarket and the reverse, add each venue's trading fee from its published formula, and keep the trade only if the pair plus fees costs less than the $1 it pays. Both venues charge a rate times contracts × price × (1 − price), so near 50¢ the fees alone come to 2.75¢ to 3.5¢ a pair for orders that take the ask (1.75¢ in Polymarket's fee-free geopolitics markets), and most visible price gaps are smaller than that.

  1. Price the pair both ways

    One YES and one NO on the same event pay $1 between them whichever way it resolves. There are two ways to build the pair across venues: Kalshi YES with Polymarket NO, and Kalshi NO with Polymarket YES. Add the two asks for each. A pair under $1 has a gap; a pair at or above $1 has none before fees, so it can only lose.

  2. Add Kalshi's fee

    Kalshi charges round up(M × 0.07 × C × P × (1 − P)) for an order that matches a resting order, where C is the number of contracts, P the price in dollars and M the series multiplier (1 unless the series lists another). A resting order pays 0.0175 instead of 0.07 on series with maker fees and nothing elsewhere. The fee is rounded up to the cent, which is why one contract near 50¢ costs 2¢ in fees.

    The fee is per order, not per contract, so the round-up costs proportionally more on small orders: 1 contract at 50¢ pays 2¢, 100 contracts pay $1.75.

  3. Add Polymarket's fee

    Polymarket charges C × rate × p × (1 − p) to the side that takes liquidity, with the rate set by the market's category: 0.07 for crypto, 0.05 for sports, economics, culture, weather and other markets, 0.04 for finance, politics, mentions and tech, and nothing for geopolitics. Resting orders are never charged. Fees are rounded to 5 decimals.

  4. Compare the profit with the wait

    Net profit is the $1 payout per pair minus both asks and both fees. It arrives only when both contracts settle, so divide the return by the days to settlement and compare the annualized figure with what the same cash would earn meanwhile. A 0.28% return over 30 days is about 3.4% a year, simple.

Sources: Fee Schedule for Event Contracts (General Trading Fees Table and Maker Fees) (Kalshi, effective July 7, 2026) ; Fees: fee structure and fee rates by market category (Polymarket documentation) ; Geographic Restrictions: restricted jurisdictions (Polymarket documentation) ; Get Series: fee_type and fee_multiplier (Kalshi API documentation)

Mistakes that undo the result

Treating the price gap as the profit

Both venues charge on each leg. A 2¢ gap between two markets near 50¢ loses money once Kalshi's 1.75¢ and Polymarket's 1¢ to 1.75¢ per pair are paid; only Polymarket's fee-free geopolitics markets leave a sliver of it.

Assuming the two contracts are the same event

Each venue settles on its own rules. If the source, threshold or deadline differ, Kalshi can settle NO while Polymarket settles YES, and then both legs of the pair lose: the whole stake, not the gap.

Sizing beyond the quoted ask

An ask is the best price for the size resting at it. A larger order fills at worse prices further up the book, which can close the gap before the order completes.

Questions people ask

What's Kalshi-Polymarket arbitrage?

When the same event trades on both Kalshi and Polymarket, buying YES on one venue and NO on the other pays exactly $1 whichever way it resolves. It is an arbitrage only if the two asks plus both venues' trading fees cost less than $1. YES at 54¢ on Kalshi plus NO at 43¢ on Polymarket costs 97¢, but the 3¢ gap is not all profit: the fees come out of it.

How much do the fees take?

Both venues charge a rate times contracts × price × (1 − price), so the fee peaks at 50¢. Kalshi's rate for an order that takes the ask is 0.07 (fee schedule effective July 7, 2026), rounded up to the cent. Polymarket's rate depends on the market's category, from 0.04 (politics, finance, tech, mentions) to 0.07 (crypto); geopolitics markets are free and resting orders never pay. On the 97¢ pair, 100 pairs pay $1.74 to Kalshi and $0.98 to Polymarket in a politics market: 2.72¢ a pair, leaving 0.28¢, or $0.28 on $99.72 (3.4% a year if it settles in 30 days). In a crypto market the same pair loses money.

Why doesn't the gap close instantly?

Often it is not a gap worth closing: a price difference smaller than the two venues' fees loses money, and near 50¢ those fees come to 2.75¢ a pair in a politics market and 3.5¢ in a crypto one when both orders take the ask. A larger gap needs funded accounts on both venues, which many traders cannot hold (Polymarket's documentation lists the United States, the United Kingdom, Germany and France among the jurisdictions where it accepts no new positions), and books can be thin, so the ask may cover only a small size.

Are the events actually equivalent?

You have to check. The calculator assumes both contracts resolve on exactly the same outcome; it does not compare resolution rules. Small differences in source, threshold or deadline (for example 'by July 31' against 'in July') can make both legs lose (Kalshi settles NO while Polymarket settles YES), and then the whole stake is gone.

Does it scan live markets?

No. It does not fetch quotes: read the asks on both venues at the moment you would trade and enter them, since prices move and an ask covers only the size resting at it. The fee rates are the venues' published schedules as of the dates under the calculator; deposit, withdrawal and transfer costs are not included.

  • Playgrounds Calibration Dojo

    Train your probabilistic intuition. Answer binary forecasting questions at any confidence level; track Brier score and reliability curve over time. All state stored locally.

  • Calculators Risk-Adjusted Returns Calculator

    Paste a returns CSV. Sharpe, Sortino, Calmar, Omega, alpha, beta, tracking error, information ratio, max drawdown, and tail moments — plus a benchmark-relative block when you include one.

Use it from code

The same calculation as a JavaScript module you can import. It runs where you import it, with no request, key or rate limit.

import { compute } from "https://aifinhub.io/engines/kalshi-poly-arb.js";

Input and output contract and the guide for agents.