Polymarket fees: calculate the cost of a trade

Worked taker fee on 100 shares at 0.40, category rates, and how spread and exit fees change real round-trip cost before you order.

In this guide

What the fee formula actually charges

On Polymarket, you pay a taker fee only on markets that have fees enabled, and the documented formula is fee = C x feeRate x p x (1 - p). Here C is the number of shares, p is the price per share, and feeRate is a number set per market category. A maker, meaning someone who posts a resting limit order that another trader fills, is not charged. A taker, meaning someone who crosses the spread and fills against an existing order, is the one charged. Because the formula multiplies by both p and (1 - p), the cash fee is largest near a price of 0.50 and shrinks toward the extremes of 0 and 1. A feeRate of .07 therefore does not mean 7 percent of the cash you spend.

Category parameters in the current documentation are crypto .07, sports .05, finance .04, politics .04, economics .05, culture .05, weather .05, general/other .05, mentions .04, tech .04, and geopolitics 0. These are parameters rather than permanent rules, so check the specific market and the current documentation before an order. A sports rate captured at .05 is the current figure, not the older .03. Do not treat every market as free, and do not treat every market as charging the same amount.

Worked example: 100 shares at 0.40 in crypto

Take an illustrative crypto market with feeRate .07 and buy 100 shares at 0.40. The cash notional is 100 x 0.40 = 40.00 USDC. Applying the formula: fee = 100 x .07 x .40 x (1 - .40) = 100 x .07 x .40 x .60 = 1.68. The taker fee is 1.68 USDC, which is 4.2 percent of the 40.00 USDC notional. It is not 7 percent of 40, and it is not a flat 7 percent charge on the trade.

An illustrative sports position of 100 shares at 0.50 with feeRate .05 gives fee = 100 x .05 x .50 x .50 = 1.25 USDC. The share count is identical; the category and price are not, and the fee differs. This is a calculation, not a report of live trading or realized gains.

Illustrative taker fee at 100 shares across selected category rates and prices. Recheck live parameters before ordering.
Category (documented feeRate)Price pFee = 100 x feeRate x p x (1-p)Cash notional (100 x p)Fee as percent of notional
crypto (.07)0.401.68 USDC40.00 USDC4.2%
sports (.05)0.501.25 USDC50.00 USDC2.5%
politics (.04)0.501.00 USDC50.00 USDC2.0%
geopolitics (0)0.500 USDC50.00 USDC0%

Round-trip cost includes more than the entry fee

An entry fee alone is not the cost of a round trip. If you later sell, the exit may carry its own taker fee computed from the exit price and the share count, and the p x (1 - p) term changes as the price moves. The effective total depends on the entry and exit parameters together, not on the entry price by itself.

The spread can outweigh the fee. Displayed prices are usually the midpoint between the best bid and the best ask, but when the spread is wider than 0.10 the last trade is shown instead. A market order consumes several price levels and incurs slippage, so a midpoint is not a promise of execution. Any wallet or bridge intermediary you use around the trade can charge separately. Weigh all of that before deciding to trade.

A concrete decision before you order

Return to the crypto example. The entry fee is 1.68 USDC on 40.00 USDC notional. If the spread is 0.02 and you cross it on 100 shares, the spread cost is about 100 x 0.02 = 2.00 USDC, larger than the modeled fee. If you exit at 0.55 at the same crypto rate, the exit fee is 100 x .07 x .55 x .45 = 1.7325 USDC, and spread at exit can add more. Identifiable cost is already roughly 5.4 USDC on a 40 USDC position before any external charge. That arithmetic should shape the order. Where fee plus spread eats a large share of the edge you think you have, reduce size, use a limit order where you can to avoid being the taker, or skip the trade. Check depth and exit conditions in the Polymarket liquidity guide and run your own inputs through the position calculator instead of copying this example.

Illustrative round-trip decision for 100 shares of a crypto market at feeRate .07. Inputs and outcomes are a worked estimate, not live trading results.
Line itemInput or calculationAmount
Entry pricegiven0.40
Entry notional100 x 0.4040.00 USDC
Entry taker fee100 x .07 x .40 x .601.68 USDC
Entry spread cost100 x 0.02 spread2.00 USDC
Exit pricegiven0.55
Exit taker fee100 x .07 x .55 x .451.7325 USDC
Identifiable round-trip cost1.68 + 2.00 + 1.7325about 5.41 USDC
Cost as share of entry notional5.41 / 40.00about 13.5%

Data you need before calculating

Market details cover the question, outcomes, outcomePrices, clobTokenIds, activity, closure, order acceptance, liquidity, and volume. Several of those fields arrive as serialized arrays that need parsing. Keep the observation date: liquidity and volume are different measures, and a missing or stale value is not a zero.

Trading authentication differs from public read access. You can inspect markets without authenticating, but placing an order needs the authenticated path. Collateral also differs across products: the documentation references USDC in one place while newer product docs reference pUSD, so do not carry a blanket assumption from one product into another without checking the market you are actually trading.

Limits of this estimate

The formula is a model whose inputs you supply. It does not guarantee that the feeRate you assume is the one charged, that your planned price is executable, that depth exists at that level, or that no external intermediary fee applies. A market order can consume multiple levels and produce slippage that p x (1 - p) does not capture. If you are wrong about the direction, you can lose the position as well as the fees and spread you paid, and a fee estimate cannot repair that.

The rates and numbers here are current documented values plus an illustrative calculation, not empirical studies of trading performance and not a promise of gains. Fee parameters change, so confirm the active market fee parameters and current documentation before every order.

To understand buying and settling outcome shares, see how Polymarket works.

Sources & verification

Polymarket: Fees ↗

Sources checked

Polymarket: Market details ↗

Sources checked

Polymarket: Prices and order book ↗

Sources checked

PolyZeno. Automated review with DeepSeek V4.1 Flash.