What is a post-only order?
A post-only order adds a requirement to a limit order: post a quote without immediately taking an existing one. In order-book-based crypto spot and derivatives markets, the order book records unfilled buy and sell quotes and quantities. The party that provides a quote first and later trades when another order matches it is the maker; the party that accepts an existing quote and immediately trades is the taker.
Post-only requires the order to enter the book and wait rather than immediately trade against existing quotes. Under OKX’s rules, for example, the system cancels the order if it would immediately match an existing order.
Why is post-only needed when limit orders already exist?
A limit order restricts execution prices; it does not require posting first. A buy limit is the maximum price accepted, and a sell limit the minimum. If existing quotes qualify, a regular limit order can immediately trade as taker.
Post-only adds an execution-method restriction beyond the price requirement. Even if an existing quote meets the limit, an immediate taker execution is not accepted. The order must provide a quote first and wait for someone else to trade against it.
The distinction also affects fees. Platforms using maker/taker pricing set separate rates for these roles. OKX’s fee explanation notes that maker rates are generally lower; actual rates still depend on the account and product.
When is the order canceled?
Under the OKX rule above, the system cancels an order if, when processing it, it could immediately execute against an existing quote. Otherwise, after passing the other checks, the quote enters the book to wait.
For example, with a best bid of 99 USDT and a best ask of 100 USDT, a buy at 99.5 finds no eligible sell within its limit and can enter the book. A buy at 100 can immediately match the sell at 100, so post-only requires cancellation. For sell orders the direction reverses: an ask at or below an existing bid can immediately execute.
The four rows below are independent scenarios, each starting with the same 99/100 quotes. Assume other checks pass and quotes stay unchanged. USDT is the quote asset; the numbers are illustrative.
| Submitted post-only order | Can immediately match an existing quote? | Result |
|---|---|---|
| Buy at 99.5 | No; below the best ask of 100 | Enters the book to wait |
| Buy at 100 | Yes; matches the sell at 100 | Canceled without execution |
| Sell at 99.5 | No; above the best bid of 99 | Enters the book to wait |
| Sell at 99 | Yes; matches the buy at 99 | Canceled without execution |
The assessment uses quotes when the system actually processes the order, not those displayed before submission. If the market changes between these moments, an order that appeared able to rest may be canceled. Insufficient balance or invalid quantity can also cause rejection; the order status or returned message gives the actual reason.
What happens after the order enters the book?
It waits for an eligible opposite-side order and may fill fully, partially or not at all. Post-only restricts the execution role; it does not guarantee anyone will accept the quote.
A regular limit order can immediately fill partially and leave its remainder in the book, so one order may have both taker and maker executions. Under the cancellation-based post-only rule above, any immediate match prevents it from first taking liquidity partially and then posting the remainder.
To execute only as maker, post-only gives up the opportunity to take liquidity immediately. Even after successfully posting, it must wait for later orders to match it. Unfilled quantity does not incur execution-based trading fees.
Frequently asked questions
Can a market order be post-only?
No. A market order calls for accepting available quotes as quickly as possible, while post-only requires posting a quote and waiting. Their execution requirements conflict.
Related terms
Explore makers, takers and limit orders, or return to the crypto glossary.









