polymarket-tui/blog/order-types

Limit vs. Market Orders on Polymarket

Polymarket's exchange only ever accepts one kind of order: a limit, a price you name yourself. There is no separate "market order" button on the order form. What everyone calls a market order is really a limit order priced aggressively enough to cross the book immediately, paired with an instruction to cancel whatever doesn't fill. Knowing which one you're placing changes what you should expect to happen next.

01You always name a price

What a limit order actually promises

A limit order says: fill me at this price or better, and wait as long as it takes. Buy YES at 40c and the order either matches instantly against an ask at 40c or lower, or it joins the book as a new bid at 40c and sits there - visible to everyone, filled only if someone later sells into it. Nothing forces a limit order to trade right away. That patience is the whole point: you control the price completely, and you accept that the trade might never happen if the market never comes to you.

Sell orders work the same way in reverse - a limit sell rests as an ask, filled only when a buyer's bid reaches it. Either side, the order you place is the price you're willing to live with, published to the book for anyone to take.

02No such thing as a market order

What "market order" actually means here

Plenty of trading apps show two separate buttons: "limit" and "market." Polymarket's CLOB (central limit order book) has no market-order type to send - every order it accepts is a limit, full stop. A "market" order is a limit order priced at (or through) the best available price on the other side, so it crosses immediately instead of resting. Buying "at market" really means placing a limit buy at the current best ask, or a bit above it for a large size that needs to walk up several levels; selling at market means a limit sell at the best bid, or below it.

That's also why aggressive limits and market orders can look identical in effect: a limit buy priced 5c above the best ask behaves exactly like a market order for any size the book can absorb within that range. The difference is only in how deliberately you chose the price versus letting the app pick the touch for you.

03The other half: what happens to the leftover

Time-in-force decides the remainder's fate

Price alone doesn't finish the picture - the exchange also needs to know what to do with any part of the order that doesn't fill immediately. That instruction is the order's time-in-force:

  • GTC (good-til-cancelled): the default. Whatever crosses fills now; anything left over rests on the book until it fills or you cancel it. This is what a limit order means when nobody says otherwise.
  • FOK (fill-or-kill): all of it fills right now, or none of it does. There's no partial outcome and nothing is left resting - if the book can't absorb the whole size at your price, the entire order is cancelled.
  • FAK (fill-and-kill): take whatever fills immediately, and cancel the rest instead of resting it. Order-book veterans elsewhere call the same idea IOC, immediate-or-cancel.

A market order is really shorthand for one specific combination: a limit priced at the touch, with FAK time-in-force. That pairing is what makes it behave the way people expect a market order to behave - it either fills now or gets out of the way, never sitting quietly on the book at a price you didn't choose.

04Read the fill before you commit

Fills now, rests, or cancelled - never guess which

Because the same size can split between "fills now" and "leftover," the useful question before placing an order isn't just "what price" - it's "how much of this actually happens right now." Summing the book depth your limit price crosses answers that in advance:

BUY 500 YES @ 42c, book currently:
ASK price   size
42c         180
43c         260
44c         400

-> fills ~440 now, ~60 rests on the book   (GTC)
-> nothing fills - too little depth, killed (FOK)
-> fills ~440 now, ~60 cancelled            (FAK / market)

Same order, same price, three different outcomes, entirely decided by time-in-force. The leftover's fate is never in doubt once you know the TIF: GTC quietly rests, FOK refuses to do anything unless the whole size clears, and FAK (including every market order) takes the partial fill and throws the rest away rather than leaving it exposed on the book.

05Picking one

When each makes sense

Reach for a plain GTC limit when the price matters more than the timing - you're willing to wait for the market to come to you, and a partial fill today plus more tomorrow is fine. Reach for a market order (a marketable limit at the touch, FAK) when getting filled now matters more than the exact price, and you'd rather take what's available than leave an order sitting at a stale price. FOK is the narrow case: an all-or-nothing size where a partial fill would be worse than no trade at all, for example an order sized to exactly hedge something else.

In polymarket-tui's order panel, leaving the price field empty places a market order - a marketable limit at the touch with FAK - while typing a price places a regular limit, defaulting to GTC. ctrl+g cycles the time-in-force through GTC, FOK, and FAK for any priced limit, and the panel's summary line always states the fill split before you confirm: "fills all ~440 now," "fills ~440 now, ~60 rests on the book," or "nothing fills now - the order is cancelled, not rested." New setups start in dry-run, so the whole pipeline - pricing, splitting the fill, signing - runs with nothing at stake.

$ uv tool install polymarket-tui
$ polymarket-tui

No account is needed to browse markets, books, and charts. The install page has Homebrew and one-liner options.

More posts on the blog index, or subscribe via RSS. Not affiliated with Polymarket; nothing here is financial advice.