Our take: cross-venue arbitrage on Kalshi, Polymarket US and Gemini is real, small and slow. The fees near 50 cents eat about 3.5 cents of every dollar pair. Your money sits on two venues until both markets settle. And the one risk that can wipe out the trade, two venues settling the same question differently, never shows up in a spread scanner. Treat arbitrage as a way to learn how each venue prices and settles a contract. Do not treat the spread as free money.
How does prediction market arbitrage work?
Every binary contract pays $1 if its outcome happens and nothing if it doesn't. Suppose one question trades at 45 cents Yes on Kalshi and 52 cents No on Polymarket US. You buy one of each for 97 cents. Exactly one pays $1, so the pair locks in 3 cents a contract before costs.
- US residents pair Kalshi, Polymarket US and Gemini. All three are CFTC-regulated and trade in dollars.
- Traders outside the US pair Kalshi with polymarket.com. polymarket.com rejects new positions from the US.
- Every leg lives in its own account. No venue nets your position against another venue.
What counts as arbitrage on Kalshi and Polymarket?
The word covers four different trades. Only the first two lock in a payout, and both carry rules risk.
- Cross-venue. Yes on one venue, No on another, for under $1. It's what most of this page is about.
- Every outcome on one venue. In a single binary market, Yes and No trade on one book, so buying both at the asks costs $1 or more. The single-venue version lives in multi-outcome events. Say an election lists six candidates as six markets. If the Yes asks add up to 96 cents, buying one Yes on each pays $1 whoever wins. You pay a fee on all six legs, and a candidate missing from the list breaks the trade.
- Correlated markets. "Fed cuts in December" against "Fed funds rate below a level by January". The two move together, and neither guarantees the other. This trade is a bet on a relationship, not an arbitrage.
- Combo mispricing. A parlay quoted below the product of its legs looks cheap. Market makers price combos by request for quote with a margin, and legs from one game move together. The product of the leg prices is not the fair price of a same-game parlay.
Example: two taker orders on Kalshi and Polymarket US
You buy 100 Yes on Kalshi at 45 cents and 100 No on Polymarket US at 52 cents. Both orders take liquidity.
The 3 cent gap looks free and loses 47 cents per 100 pairs. Near 50 cents the taker fee on Kalshi, Polymarket US and Gemini is about 1.75 cents a contract. Two taker legs need a gap of about 3.5 cents to break even.
Example: a resting maker order on one leg
Same prices, but you rest the Kalshi order as a limit bid at 45 cents and wait for a seller. On most Kalshi markets a maker pays nothing. About 160 series, mostly major sports leagues, charge makers 0.0175 x C x P x (1 - P).
A Polymarket US maker gets paid: the rebate is 0.0125 x C x p x (1 - p), or 31 cents on 100 contracts at 52 cents. Resting orders turn a losing gap into a winner. The catch:
- Your resting order only fills if someone sells to you at your price.
- One leg fills and the other doesn't, and now you're holding a naked bet on the event.
- The price moves while you wait. The gap you saw is gone by the time your order fills.
The honest fix: rest the leg on the thinner book first, and take the second leg only after the first fills. You give up some fills. You never hold one side by accident.
Example: three outcomes across Kalshi, Gemini and Polymarket US
A Fed decision lists three outcomes: cut, hold and hike. You find the cheapest Yes for each outcome on a different venue and buy 100 of each.
The fee on the 3 cent leg is tiny because p x (1 - p) shrinks near the edges. The profit is real on paper. Now check the rules:
- Does each venue define "cut" as any cut, or a 25 basis point cut only? A 50 point cut breaks a pair built on different definitions.
- Does each venue settle on the same meeting, the same announcement time and the same published rate?
- Does one venue list a fourth outcome, such as an emergency move between meetings?
Three venues means three rulebooks. The more legs you add, the more ways the set stops covering every outcome.
How big does the spread need to be to make money?
Taker fees on Kalshi and Polymarket US for 100 contracts, with the Yes leg at the price shown and the No leg at the mirror price. Gemini's taker rate matches Kalshi's 0.07, so a Gemini leg costs the same as the Kalshi column.
What the table tells you:
- Gaps on coin-flip markets need to be wide. A 3 cent gap at 50 cents loses money.
- Gaps on lopsided markets need less room. A 2 cent gap at 10 cents clears the fees.
- Polymarket US rounds to the nearest cent. Kalshi and Gemini round up. On small orders the rounding moves your break-even by a full cent.
- polymarket.com charges takers 0 to 0.07 by category, with geopolitics free, so a polymarket.com leg sometimes costs nothing.
How long is your money tied up?
Your money sits on both venues until both markets settle. A good-looking percentage shrinks fast once you divide by the calendar.
A 1.29% edge on a two-week sports market is a strong trade. The same edge on an election a year out pays less than Kalshi's interest on cash. Kalshi pays that APY on open-position collateral too, so the Kalshi leg earns interest while you wait. Check each venue's current terms for the other leg.
Moving money between venues adds more dead time:
- Polymarket US withdrawals take 3 to 4 business days by card or ACH, 1 day by wire.
- Kalshi card and ACH deposits carry a security hold until they settle, about five business days for ACH.
- polymarket.com moves only in crypto, so dollars go through an exchange first.
Arbitrage between polymarket.com and Kalshi outside the US
Traders outside the US add polymarket.com to the mix, and the math changes in your favor on some markets:
- Lower fees on some categories. polymarket.com charges takers 0.04 on politics, finance and tech, 0.05 on sports and economics, 0.07 on crypto and nothing on geopolitics. A politics pair with a polymarket.com leg costs about 2.75 cents a contract near 50 cents instead of 3.5.
- Maker rebates. Resting orders on polymarket.com pay no fee and earn a share of taker fees, 20% to 25% depending on the category.
- Crypto rails. Your polymarket.com balance is pUSD on Polygon. Moving money between Kalshi and polymarket.com means going through crypto on at least one side, with network fees and conversion steps.
- Slower, stranger settlement. A disputed polymarket.com market goes to a UMA token-holder vote over four to six days, and the vote can land somewhere Kalshi's rules would not.
Why can two venues settle the same question differently?
The spread is the easy part. The rules decide whether you get paid. These mismatches come up again and again when you compare venues:
- Deadline and time zone. One market closes at 11:59 PM Eastern. The other closes at midnight UTC. An event landing in the gap resolves Yes on one venue and No on the other, and both legs lose.
- Source and revisions. Economic markets settle on a named release. One venue uses the first print, the other waits for a revision. Temperature markets name a weather station. Two stations in one city report different highs.
- Thresholds. "Above 3%" and "3% or above" are different bets when the number prints exactly 3.0%.
- Postponements and no-shows. A game moves to the next day. One venue settles at a last fair price, another voids, a third waits. Your hedge no longer offsets.
- Resolution process. Kalshi and Polymarket US settle from the sources in each market's rules, and their decision is final. polymarket.com settles through UMA's oracle, where a proposed answer faces a two hour challenge window and a disputed answer goes to a token-holder vote over four to six days.
A rules mismatch costs you the full price of both legs. Weigh that against the 1 or 2 cents the trade earns. If you cannot say in one sentence why both markets settle on the same fact, skip the trade.
How to check a spread by hand
- Open both markets and read the full rules. Match the deadline, source, threshold and edge cases.
- Price each leg at the size you plan to trade. The top of the book often holds a few contracts only.
- Add each venue's fee at those prices. The formulas are in Kalshi fees and Polymarket fees.
- Divide the profit by your cost, then by the days to settlement. Compare the result with the interest your cash earns sitting still.
- Decide which leg rests and which leg takes. Place the resting leg first.
- Log both fills and both settlements. A trade you do not track is a trade you do not learn from.
Is prediction market arbitrage worth it?
- Worth doing on short markets with clear, matching rules, such as a single game with official league stats, where you rest one leg as a maker.
- Worth skipping on long-dated markets, markets with loose wording and any trade needing two taker legs near 50 cents.
- Worth learning from in every case. Comparing two venues' rules for one event teaches you more about settlement than any guide.
Professional market makers run this trade with rebates, fast order management and capital on every venue. A retail trader with two taker orders pays the spread those firms earn. Play the trade where the rules and the fees favor you.
Does Rivo find arbitrage for you?
No. Nothing in Rivo matches an event across venues or flags a spread, and we would rather tell you that than sell you a scanner. What Rivo does give you is everything you need to check a spread yourself, in one screen:
- One market search across all four venues, so you find the same question everywhere at once.
- The venue's own order book for each market, so you price a leg at your size.
- One order ticket for every venue. The ticket walks the book and shows the fill price, the venue's exact fee, the total and the payout before you send. The fee math runs the same formulas as this page.
- Portfolio across venues, so both legs of a pair show up together until they settle.
- Your own accounts. Rivo is not an exchange and holds no funds. Each order goes through your account on that venue.
Want to script your own scanner? The Rivo REST API and MCP server search markets across venues with one key. The venue comparison lives in Kalshi vs Polymarket.
Frequently asked questions
What is prediction market arbitrage?
You buy opposite sides of the same question on two venues for less than $1 combined. One side pays $1 whatever happens. If Yes costs 45 cents on Kalshi and No costs 52 cents on Polymarket US, the pair costs 97 cents and pays $1.
Is Kalshi and Polymarket arbitrage profitable?
Only when the gap beats the fees on both legs. Two taker orders near 50 cents cost about 3.5 cents a contract in combined fees. A 3 cent gap loses money. A 5 cent gap makes about 1.5 cents a contract before resolution risk.
What is the biggest risk in prediction market arbitrage?
The two markets settling differently. Each venue writes its own rules, deadline and resolution source. A question with the same headline on two venues is two different contracts, and a rules mismatch turns a locked profit into two losing legs.
Can I arbitrage Polymarket and Kalshi from the US?
Between Kalshi, Polymarket US and Gemini, yes. All three accept US residents. polymarket.com does not accept new positions from the US, so a Kalshi and polymarket.com pair is open only to traders outside the US.
How big does a spread need to be to beat the fees?
About 3.5 cents a contract near 50 cents with two taker orders, about 2.9 cents at 30 or 70 cents, about 2.2 cents at 20 or 80 cents and about 1.3 cents at 10 or 90 cents. A resting maker order on one leg cuts the bar roughly in half.
Is arbitrage better than holding cash on Kalshi?
Often not. Kalshi pays a 3.25% variable APY on cash and open-position collateral of $250 or more for US accounts. A 1.3% arbitrage on a market settling in 300 days works out to about 1.6% a year, less than the interest on idle cash.
Does buying Yes and No on the same market lock in a profit?
No. On one binary market Yes and No trade on the same book, so buying both at the asks costs $1 or more. The single-venue version lives in multi-outcome events, where the Yes prices of every candidate sometimes add up to less than $1.
Is there a Polymarket arbitrage bot?
Several third-party tools scan for gaps. Every bot pays both venues' fees, funds two accounts and carries the resolution risk. Check any quoted spread against the fee formulas on this page before you trust the number.
Does Rivo find arbitrage for me?
No. Rivo doesn't match markets across venues or flag spreads. It gives you one search across Kalshi, Polymarket, Polymarket US and Gemini, each market's order book and one order ticket with each venue's exact fee, so you can check a spread yourself in one screen.