Prediction Markets

Polymarket CLOB Explained: Central Limit Order Book Meaning and How It Matches Your Trade

What the Polymarket CLOB is, how the central limit order book matches bids and asks, the role of spread and depth, and how your order finds a fill.

Polymarket CLOB Explained: Central Limit Order Book Meaning and How It Matches Your Trade

Buried inside every Polymarket market is a panel that most traders glance at but few actually understand. It shows a stack of green bids below the last price and a stack of red asks above it, a spread in the middle, and sizes next to each level. That panel is the Central Limit Order Book. Everything that happens when you buy or sell happens through it, and learning to read it is what turns you from someone who accepts whatever price the card shows into someone who can choose a price and wait for the market to meet you.

The name itself sounds technical, but each word points to a simple idea. Central means there is one unified book per market. Limit means the book is organized around limit orders, which are orders with a price condition attached. Order Book means it is a live, public list of those pending orders, sorted so the best prices are on top. Together those three ideas explain how Polymarket pairs buyers and sellers without a house setting the line.

To see why that matters, consider what trading would be without it. If there were no book, you would only see a single price offered by a dealer and you would have no sense of how much size is available behind it. With a book you see the whole queue. You see how wide the market is, how much is resting at each level, and whether your order will take liquidity that is already there or add liquidity for someone else to take later.

What the Letters CLOB Actually Mean

Central points to where matching happens. On Polymarket there is one order book for each outcome. All orders for YES in a given market, whether from your clicking in the ticket or from a bot quoting through the API, live in that same place. The same is true for NO. There is no fragmentation across venues to reconcile. One book, one queue, one matching engine.

Limit points to the only order type the protocol understands at its core. Every order on Polymarket is expressed as a limit order that can be marketable. That is, even what the interface labels a market order is technically a limit order priced to cross the spread and fill immediately. The underlying primitive must be structured, hashed, and signed in the form the on chain exchange contract expects, which is why the official TypeScript and Python clients handle the construction for you. If you are building on top of the protocol, the orders overview in the Polymarket developer documentation explains the fields that go into a signed order.

Order Book points to the list itself. The book is the set of resting bids and resting asks that have not yet been matched. Bids are buyers willing to buy at a stated price. Asks are sellers willing to sell at a stated price. The book is sorted by price and then by time. Better prices are always in front of worse prices, and among orders at the same price, the one that arrived first is in front.

Polymarket implements this as a hybrid book. Matching happens off chain for sub second speed, while settlement of filled trades happens on chain on Polygon through the Conditional Tokens Framework. When opposing YES and NO orders cross so that their prices sum to one dollar, the engine mints the appropriate outcome tokens from pUSD collateral. Since the production migration to CLOB V2 on April 28, 2026, collateral for this flow is pUSD, which is backed one to one by USDC, and orders are signed with EIP712 domain version two against the new exchange contracts. The changes are summarized in the CLOB V2 migration notes and the official Polymarket V2 migration overview. For everyday trading you still set a price and a size, but the signing and the minting underneath now follow the new format.

For a concise official description of how the book represents trading activity, the guide on prices and order books at docs.polymarket.com is the canonical reference. If you are curious how this structure differs from the regulated alternative, the comparison of Kalshi versus Polymarket goes into the structural differences, and this explainer on Kalshi as a CFTC-regulated exchange shows how a designated contract market handles the same matching problem differently.

Reading the Book: Bid, Ask, Spread, Depth, and Midpoint

Open the book panel and you will see two sides separated by the last traded price. Below that price are the bids, in green, stacked with the highest bid on top. Above that price are the asks, in red, stacked with the lowest ask on top. The gap between the best bid and the best ask is the spread.

Spread tells you the immediate cost of taking liquidity. If the best bid is fifty two cents and the best ask is fifty five cents, a buyer who lifts the ask and a seller who hits the bid cross three cents. Depth tells you how much size is behind each level and therefore how much you can trade before the price moves against you. Depth is the part of the book that most beginners ignore. A headline price may show fifty five cents, but if only twenty shares are available there and your order is for five hundred shares, your average fill will be worse than the headline.

Midpoint is the average of the best bid and best ask. Traders use it as a reference for fair value in the moment, but it is not tradable on its own. You always trade at a bid or an ask. Spread tells you how far those two are from the midpoint. When the spread is a cent or less the book is very liquid and competitive. Between two and three cents is normal for a liquid market. Between four and eight cents is moderate, where it is better to place a limit inside the spread and be patient. Above nine cents the book is thin and you should reduce size and expect slow fills. That scale comes from a June 2026 walkthrough of the Polymarket order book guide, which pulled live books across categories and also noted that even liquid Polymarket contracts can show five cent spreads outside the top twenty markets.

The visual layout is the same on the API as in the interface. A snapshot from the CLOB endpoint returns the full ladder of bids and asks with prices and sizes, plus a timestamp. The WebSocket streams updates to that same book in real time, so a bot and a browser are looking at the same state.

A useful complement inside the same panel is the complementary book trick. Every YES outcome has a paired NO outcome and the two prices sum to one dollar. Buying YES at sixty five cents is economically identical to selling NO at thirty five cents. Checking both books can effectively double the liquidity you see, especially in thin markets where one side is more heavily quoted than the other.

If you want the broader vocabulary behind these mechanics, this explainer on how prediction markets work covers contracts, odds, and settlement from the ground up. And if you want to see where the size is actually moving, the Prediction Pulse whale tracker shows large wallet activity that often appears first as unusual depth in the book.

How Matching Works and Why Price Time Priority Matters

When you submit an order the matching engine looks at the opposite side of the book. A buy order looks at asks. A sell order looks at bids. If your price crosses the best price on the other side, the engine matches as much as it can at the best available levels, moving down the ladder as it consumes size, up to your price. Whatever remainder cannot be matched either rests in the book if it is a limit that is allowed to rest, or cancels if it was sent as Fill Or Kill or Fill And Kill.

Price time priority governs who gets filled first. Better prices always have priority over worse prices. At the same price, earlier orders have priority over later ones. That is why two limit orders at the same price do not share a fill equally. The one that arrived first is ahead. Professional market makers who keep quotes in the book are relying on that queue position. If you cancel and resubmit at the same price you go to the back of that queue.

Polymarket also enforces validity checks continually. It tracks underlying balances, allowances for the maker asset to the Exchange, and on chain cancellations in real time. You can only place orders whose required size is covered by what you have made available. The maximum order size at any moment is your underlying asset balance minus the sum of size not yet filled in your other open orders for that market. That constraint is why a second large order can be rejected even though your wallet shows a larger total balance, because the first order has already reserved the collateral.

There is a second layer of protection that surprises new traders. Orders are always checked against the tick size and the market's fee enabled flag. Prices are quoted in one cent increments. Fees are not embedded in the signed order itself since the V2 change, they are determined by protocol and market state at match time, with collateral now expressed in pUSD. Builder attribution also moved from header based HMAC into a signed builder field in the same migration. None of this changes what price you type, but it explains why the TypeScript CLOB client and the Python CLOB client abstract the construction. You set a side, a price, a size, and an order type, and the client builds the correctly signed EIP712 payload that includes timestamp, metadata, and builder.

The Order Types That Actually Matter in the Book

Good Till Cancelled is the workhorse. It rests until you cancel it or it fills. It makes liquidity, it earns rebates when it is taken, and it never fills worse than the price you set. Good Till Date is the same idea but with an expiration time expressed on the wire payload, while the signed order itself carries a timestamp since the V2 update.

Fill Or Kill is all or nothing and immediate. If the book cannot fill the entire size right now at your price or better, the whole order cancels. It is useful when you need certainty that you either get the full size or you get nothing, rather than a partial that leaves you with an awkward stub.

Fill And Kill is immediate but allows a partial. It takes as much as it can right now at your price or better and cancels whatever cannot be filled immediately. Most interface market style orders behave like Fill And Kill against resting liquidity, which is why the ticket warns that the displayed price is not a guarantee of an average fill on a large order.

Post only is designed to avoid taking at all. It rests only. If it would cross the spread and take immediately, it rejects. That is useful for quoting strategies that want to be sure they are making and not inadvertently paying a taker fee.

There is also the practical split between limit and market style in how the ticket describes them. The interface presents market as speed against available liquidity. The risk is that the first price you saw may have had limited size, so your average moves beyond it. The interface presents limit as price control with a risk of no fill or a stale resting order. Guides like this breakdown of Polymarket order types make that choice explicit before you click, which is exactly the habit the book itself rewards.

For strategy, think in terms of making versus taking. A maker order is a limit that rests before it fills. It adds liquidity. A taker order fills immediately by crossing the spread. It removes liquidity. Polymarket pays makers zero fees and funds rebates from taker fees. That means crossing the spread has a different cost basis than waiting inside it. The trade off is not that one is always better, it is that immediacy costs more and patience risks missing the trade or holding a stale level after news.

If you want to see which endpoint serves which need, this practical guide to the Polymarket API walks through the data access layers. Gamma is for market discovery, CLOB is for trading, and the WebSocket channels are for real time book updates rather than polling.

Why the Same Market Feels Liquid to One Trader and Thin to Another

Liquidity is not a single number that belongs to a market. It is a relationship between the book and the size you are trying to push through it. A trader buying ten dollars of exposure may get a clean fill where a thousand dollar order in the same market walks through several levels and pays noticeable slippage. A copy trading setup with proportional sizing may work at one follower bankroll and fail at another. A market that looks liquid on the card can feel thin once you ask how much is actually executable at the best price.

That is why volume is a poor proxy for the next fill. A market can have large historical volume while the current best bid and ask are far apart and the size behind them is small. What matters for execution is current executable depth, not yesterday's turnover. The book snapshot is the more honest source. Check the size at the top two or three levels on both the YES and NO sides, compare it with the size you plan to send, and ask whether your order is small relative to what is actually resting there.

This size awareness shapes how you place and how you split. If your order exceeds one or two percent of the visible depth, splitting the total into three to five smaller limits at slightly different prices with short time gaps between them reduces market impact. Varying the price levels slightly also avoids showing a single large block that other participants can react to. Splitting across correlated markets can help for similar reasons. Simultaneous demand for Trump wins and Republican wins Senate creates correlated slippage when you try to lift both at once. Staggering timing or routing one leg through the complementary NO book can smooth that out.

Copy trading makes the same point from a different angle. If you follow a leader wallet, remember that the leader's size already moved the book before your order arrived. A leader who bought YES at forty one cents in size may have consumed the affordable depth. Your follower order that lands at forty eight cents pays a gap that never appears in the leader's profit and loss. Reviewing the leader entry price, your follower entry price, the visible spread at both moments, order size, skipped trades, partial fills, and protocol fee for that market category gives a truer picture than the source wallet return alone. This guide on Polymarket trading costs walks through that checklist with the explicit distinction between taker and maker cost, and this piece on prediction market arbitrage shows why many apparent edges disappear once execution cost is included.

Bots do not solve this by themselves. A bot can move faster, show confirmations, enforce price limits, and respect post only or Fill Or Kill protections, but it cannot create depth where none exists. The execution logic still needs to check the book, decide whether to make or take, set limits that match the intended risk, and size within the market it has now, not the market it had an hour ago.

If you want to explore beyond manual tickets, build guides like this one on creating a Polymarket trading bot are approachable next steps, but the discipline is the same. Ask whether the order you are about to send is small relative to depth, whether a limit more honestly expresses the price you want, and whether you are copying a leader whose size already consumed the liquidity you were counting on.

The Question of Fees and What They Change in the Book

Fees do not change where bids and asks sit, but they change whether crossing those prices is worth it. Polymarket's current docs treat protocol fees as taker only, with fee parameters varying by market category, and the on chain check looks at the market's fee enabled flag. Makers are not charged protocol fees and may earn rebates equal to a share of the taker fees that were eligible. The rebates program is funded by those eligible taker fees, which is why quoting with a resting limit can be attractive even before directional view is considered.

The wire payload still carries an expiration field for Good Till Date behavior, while the signed order no longer carries take, expiration, nonce, or fee rate in the signed struct since the migration to version two. The signed struct now carries timestamp, metadata, and builder, and the builder attribution that once used HMAC headers lives in that signed builder field. This is the kind of detail that the Polymarket 2026 guide and the official trading documentation abstract away, but it explains why older sample code that signs with version one will no longer be accepted in production.

In practical terms, the presence of a taker fee and a maker rebate tilts the economics toward resting. A market style order that takes two or three cents of spread plus a fee needs a larger subsequent move to be profitable than a limit that rested inside the spread, paid no fee, and earned a small rebate on its fill. That does not make waiting free. A resting limit can become stale after news and be taken at a price that no longer reflects your view. Managing resting orders means reviewing them when the thesis changes, canceling when the market has moved far, and not leaving Good Till Cancelled orders in markets you are no longer following.

When you want to see the fee effect directly, add half the spread to your intended fee and see whether the thesis still works. That crude sum is closer to the true cost of immediacy than the fee line alone. It is why the habit that most helps execution is simple. Read the book, decide whether you will make or take, and set your price to make that choice explicit.

In Summary

The CLOB looks busy at first glance because it is busy. It is a live queue where price and time determine who gets filled. Once you see the structure, the book becomes less noisy and more useful. The best bid and best ask frame where you can take right now, depth shows how much you can take there without moving the price, and the choice of Good Till Cancelled, Good Till Date, Fill Or Kill, or Fill And Kill lets you state how much immediacy you will pay for.

Start with the simplest useful habit. Before every trade, look at the best prices, look at the size behind them, and decide whether you want to add liquidity with a limit or remove it by crossing the spread. That single check, done consistently, does more for execution than any other tweak, and it is the same check you will use whether you click in the ticket or send the order through the CLOB API from a script.

Not investment advice. Prediction markets involve risk, and liquidity, fees, and order behavior can change. Verify the live book and current official documentation at docs.polymarket.com before committing capital.

Share:

Rate this piece — one tap, no signup

Mary Ngaruiya
Mary Ngaruiya

Political Markets Correspondent

Mary Ngaruiya is our Political Markets Correspondent, covering the intersection of legislative policy, financial markets, and regulatory conflict. Her reporting focuses on the evolving federal preemption debate, including disputes between the CFTC and state gaming regulators, while breaking down the legal and regulatory issues shaping event-based markets.


Mary also tracks emerging legal risks around prediction markets, including questions about whether federal employees can trade sensitive event contracts and why regulatory rulings can differ across states such as Nevada and Massachusetts. Her work aims to make complex policy and legal developments easier for readers to understand, particularly as the lines between traditional gaming, financial markets, and event contracts continue to shift.


Alongside her political markets coverage, Mary is a specialist in iGaming and contributes to BettingTop10, where she writes casino reviews, sportsbook reviews, betting guides, and other practical content for online betting audiences. This experience gives her a broader understanding of the gambling industry, from regulatory policy and market structure to the platforms and products used by everyday bettors.

Newsletter

The Weekly Signal

Every Friday — the week's sharpest prediction market analysis, forecasting insights, and data-driven commentary. No noise.

Disclaimer: This content is for informational and educational purposes only. It does not constitute financial advice, investment recommendations, or trading guidance. Prediction market participation involves risk of loss. Always conduct your own research before making any financial decisions.

Read Next