Article · 6 min read

Exchange fees explained: maker vs taker.

How fees on order-book exchanges actually work, why the displayed price has no fee baked in, and how to subtract them from your edge math. With worked examples.

The short version

Order-book exchanges (Polymarket, Kalshi, Betfair) charge fees on fills, not on the displayed price. The price you see on the order book is what some other trader is willing to fill at. By construction, YES + NO sum to 1.000. There is no overround baked into that price. The fee is a separate, explicit charge that comes off your fill, typically around 2% if you're a taker (you cross the spread), and 0% or near-0% if you're a maker (you post a limit order that someone else fills).

That's the whole story. The implications run through your edge math.

What maker and taker mean (order book primer)

An order book is a list of bids (buyers willing to buy at price X) and asks (sellers willing to sell at price X). When you place an order, you're either:

  • Taking liquidity (taker), your order matches an existing resting order on the book and fills immediately. You pay a fee.
  • Posting liquidity (maker), your order goes onto the book at a price the current book doesn't cross yet. It sits there until someone else's market order matches it. You pay no fee, or a much smaller one.

This is the same structure as crypto exchanges. Polymarket adopted it because Polymarket is a crypto-native exchange running on Polygon.

Polymarket's actual fee structure

Polymarket's fees have shifted over the platform's history. As of writing, US-eligible markets typically run:

  • Taker fee: ~2% (varies by market type and liquidity)
  • Maker fee: 0% on most markets

High-volume political markets sometimes have lower taker fees. Thin specialty markets sometimes run higher. Always check the market's own fee disclosure before sizing a position. The fee shown in the UI is what gets deducted on fill. Don't try to derive it from the price.

Why this matters for your edge

On a sportsbook, the vig is baked into the displayed odds. When you bet −110 on both sides of a market, the implied probabilities sum to 104.76%. That 4.76% is the bookmaker's fee, embedded. When you devig the line to find fair, you've already accounted for the cost.

On Polymarket, the displayed price has no fee in it. The mid of the order book is the fair value some other trader is willing to fill at. Fees come off your fill separately. So your edge math runs in two stages:

Step 1: gross edge = (sharp_fair − polymarket_price) / polymarket_price
Step 2: net edge   = gross edge − taker_fee

If your gross edge is +3% and the taker fee is 2%, your net is +1%, still positive, still tradeable. If your gross edge is +1.5% and the fee is 2%, your net is negative. Don't take the trade.

The CLV.gg edge calculator ships this exact two-step math.

Worked example

You see Lakers championship YES priced at 0.28 on Polymarket. The CLV.gg sharp consensus says fair is 0.32. Your bankroll is $5,000 and you're considering a $500 fill.

As a TAKER:
  Gross edge = (0.32 − 0.28) / 0.28 = +14.3%
  Taker fee  = 2.0%
  Net edge   = +12.3%
  Expected EV on $500 = $500 × 12.3% = +$61.50

As a MAKER (posted limit at 0.28, got filled):
  Gross edge = +14.3%
  Maker fee  = 0%
  Net edge   = +14.3%
  Expected EV on $500 = $500 × 14.3% = +$71.50

Posting as a maker captures another $10 of EV per $500 fill. Across hundreds of bets, that adds up to real money.

When to be a maker vs taker

Take when:

  • The edge is large enough that you don't want to risk the price moving against you while your limit sits.
  • The market is thin enough that posting an aggressive limit will sit unfilled for hours.
  • You need the position now (event is imminent and you're sure).

Make when:

  • The edge is marginal and the fee differential matters to your final EV.
  • The market has decent volume so your limit will get hit reasonably soon.
  • You're patient. A few hours of “did it fill?” is fine.

Optimal strategy for most users is a mix: make on marginal trades where the fee saved is meaningful, take on high-conviction bets where waiting risks the edge evaporating.

How exchange fees compare to sportsbook vig

A 2% taker fee at Polymarket is roughly half the vig of a typical −110/−110 sportsbook line (which carries ~4.76% overround). On a per-trade basis, the exchange is cheaper. Plus you don't get limited for winning.

The math is clean. The reason to keep retail sportsbook accounts open at all is line-shopping for a specific market that the exchanges don't cover yet, or because you have an unlimited soft book that still takes your action (and the CLV.gg detector points you at those).

What about Kalshi?

Kalshi has a different fee structure. It is a CFTC-regulated derivatives market, so fees are per-contract rather than percentage-based. The arithmetic is similar: fees come off your fill, not the displayed price. The CLV math handles both with the same gross − fee = net pattern.

The takeaway

Exchange fees are simple: ~2% taker, ~0% maker, applied on fill. The displayed price has nothing baked in. Your edge math runs gross-edge first, then subtract the fee, then decide. The edge calculator does this for one trade at a time. The live app does it for every edge it surfaces.

The detector is running. Bring a real tool.

7-day free trial · card required · cancel anytime. Founding rates lock for life on the first 50 members.