Dexalot supports limit and market orders with four Time-in-Force modifiers (GTC, IOC, FOK, PO), giving traders precise control over how every order interacts with the book.
April 09, 2026 | ,
March 28, 2026 | ,
On an AMM, your trading interface is a swap button. On a CLOB, it’s an order ticket. The order ticket has options, and most traders coming from DeFi don’t know what those options do. They click the equivalent of “market buy” on everything and assume the limit-order field is a power-user feature they don’t need.
That assumption costs money. Order types are how you actually control execution on an exchange. This post walks through every order type Dexalot supports, what each one is for, and how they combine in practice.
Dexalot supports two base order types: limit orders and market orders. Everything else is a modifier on top of these.
A limit order specifies a price. You set a maximum for buys or a minimum for sells, and the order only fills if there is a counterparty willing to trade at that price or better. If there is no counterparty, the order rests in the book until one shows up or you cancel it. Your fill price is the price you chose. There is no surprise.
A market order specifies a size, not a price. It executes immediately against the best available orders on the other side of the book. You don’t choose the price; you accept whatever the book offers at the moment of execution. This guarantees a fill, within the safety constraints described below, in exchange for accepting whatever the current top of book looks like.
The mental shift from AMMs is small but important. On an AMM, every trade is functionally a market order. You click swap, the curve fills you, you pay whatever price impact the trade caused. On a CLOB, you have a real choice. Market orders are for traders who want certainty of execution. Limit orders are for traders who want certainty of price. Most experienced traders default to limit orders and only use market orders when speed matters more than the fill.
A limit order also needs to know how long it should live and how it should behave if it can’t fill in full immediately. Time-in-Force modifiers answer that question. Dexalot supports four of them.
GTC (Good-Till-Cancel) is the default. The order stays in the book until it fills completely or you cancel it manually. If you place a bid at $3,100 for ETH while spot is at $3,200, GTC keeps that bid alive overnight, over a weekend, across volatility, until something fills it or you change your mind.
IOC (Immediate-Or-Cancel) flips that behavior. The order executes whatever it can fill immediately at your specified price, then cancels everything else. A 50 ETH IOC buy at $3,200 that only finds 30 ETH of liquidity at that price will fill the 30 ETH and discard the remaining 20. IOC is useful when you want a fast fill at your price but don’t want a resting order left behind afterwards.
FOK (Fill-Or-Kill) is stricter. The entire order must fill immediately at your specified price, or none of it does. No partial fills. A 50 ETH FOK that can only get 30 ETH at the price doesn’t execute at all. This is for traders who need atomicity: either the full position prints, or the trade doesn’t happen.
PO (Post-Only) is the maker’s modifier. The order is rejected if it would execute against the book on arrival. It only enters the book if it can sit there waiting. Why does this matter? Because makers and takers pay different fees, and a market maker who accidentally crossed the spread would pay the higher taker fee instead of receiving the maker side of the trade. PO guarantees you never accidentally take liquidity.
PO has a second use. When a new pair launches on Dexalot, the book starts empty. PO-only mode lets liquidity providers populate the book before matching is enabled, ensuring there is real depth before the first taker arrives.
Maker and taker aren’t order types you select. They are descriptions of how an order interacted with the book once it arrived.
A maker order added liquidity. It posted to the book and waited for someone else to come and hit it. The classic case is a GTC limit order that doesn’t immediately match. It rests in the book, and when another trader’s order comes through and fills against it, you collected the maker side of the trade.
A taker order consumed liquidity. It hit existing orders and removed them from the book. Market orders are always takers. Limit orders that cross the spread are also takers: if you place a limit buy at $3,205 while the best ask is $3,200, you take from the book at $3,200.
The same order can be both. A 100 ETH limit buy at $3,200 might immediately match against 30 ETH of resting offers at that price (the 30 ETH portion is a taker fill), with the remaining 70 ETH then posting to the book to wait (the 70 ETH portion becomes a maker order). The fee structure reflects this split: taker fees on the executed portion, maker fees on whatever subsequently fills from the book.
For traders running size, this matters. Maker fees on a CLOB are routinely a fraction of taker fees, and PO + GTC is how professional makers ensure they are always on the right side of that structure.
Market orders on AMMs require you to set a slippage tolerance. We covered why that’s a false safety in the slippage post: the setting doesn’t reduce slippage, it just defines the worst price you’ll accept, and high tolerances are sandwich-attack invitations.
Dexalot’s market orders have protection built into the exchange itself. A market order that walks the book will automatically cancel its remaining unfilled portion if any partial execution price is more than 5% worse than the first fill. You don’t set this. You don’t have to think about it. The matching engine enforces it.
This matters in two scenarios. The first is large orders that exhaust top-of-book depth and start walking into thinner liquidity. The second is orders placed during fast-moving markets where the book moves between submission and execution. In either case, the auto-cancel caps the worst-case fill. You might get a partial fill instead of a full one, but you won’t get a fill that destroys your entry.
The difference from AMM slippage tolerance is meaningful. There is no setting to misconfigure, no value an MEV bot can read off the mempool, and the protection is targeted at price impact from your own order, not at adversarial price movement caused by your tolerance setting.
The list of order types Dexalot doesn’t have is just as informative as the list it does.
This is a design choice, not an omission. The order types Dexalot supports — limit, market, and the four TIF modifiers — are the foundational primitives of every serious order book ever built. Stops and brackets are higher-level constructs typically built on top of these primitives by the trader’s own logic or by a broker layer.
By keeping the matching engine focused on primitives, Dexalot keeps execution deterministic and the surface area for bugs small. Traders who want stop-loss behavior can implement it with monitored limit orders or build it via the API. For most users, the absence of these advanced types won’t even be noticed: GTC, IOC, FOK, and PO cover the strategies that retail and professional traders actually run day to day.
A few common pairings:
These combinations are the actual interface between a trader’s intent and the matching engine. Choosing the right one is the difference between getting filled the way you wanted and getting filled the way the market wanted.
On an AMM, the curve decides how you trade. On a CLOB, you do. Dexalot’s order types are the toolkit for that decision: limit or market, modified by GTC, IOC, FOK, or PO, classified as maker or taker by how they land in the book.
Learn what each one does once, and the same vocabulary translates to every order-book venue in crypto and outside it.