GTC, IOC and FOK — what time in force actually does to your order

There's a setting on the order form reading GTC, IOC, FOK. Most people open it once, don't recognise anything, and close it again. That instinct is sound — but leaving a setting alone and knowing what it does are two different things. These three abbreviations control neither your price nor your quantity. They control how long the order is allowed to stay alive. Pick the wrong one and nothing stops you at the door; the order just quietly stops existing, and the record won't even file it under "cancelled."
It sets how long the order lives, not what price it gets
A limit order really has three dimensions: what price, what quantity, and — while it waits for those two conditions to line up — how long it's willing to wait. The first two go in the boxes. The third is that setting. Binance's help pages define it in a single line: time in force indicates how long your order will remain active before it is executed or expired.
Three values, in the exchange's own wording:
- GTC (Good-Till-Cancel) — the order will last until it is completed or you cancel it.
- IOC (Immediate-Or-Cancel) — the order attempts to execute all or part of it immediately, and any remaining unfilled part is cancelled.
- FOK (Fill-Or-Kill) — the order must be executed in full immediately, otherwise it is cancelled.
In plain terms: GTC waits, IOC takes what it can get and throws the rest away, FOK is all-or-nothing right now. None of the three touches the price you typed, and none of them makes a fill more likely. They answer exactly one question — when this order can't fill, does it stay or does it vanish?
Why half of what you'll read about it doesn't apply here
Search for "time in force" in English and most of what comes back is written for stock and forex traders. Those articles will hand you a list of four or five options: Day, GFD (good for day), GTD (good till date), sometimes GTC, IOC and FOK further down. Then you go to the order form and only three of them exist.
The reason is structural, and worth understanding rather than memorising. Day and good-till-date orders are built around a market that closes. A day order dies at the session bell; a GTD order counts calendar days against a market that has opening hours. Crypto spot trading runs continuously, so there's no bell for a day order to die at, and "end of day" isn't a meaningful boundary. Binance's spot documentation lists three values — GTC, IOC and FOK — and that's the full set.
So when a stock-trading explainer tells you to "use a day order to avoid leaving stale orders overnight," there's nothing to translate that into. The nearest equivalent is a habit rather than a setting: check your open orders yourself, and cancel the ones you've stopped believing in. Binance Academy notes that time in force is available across most of its markets — spot, futures and margin. This page is about spot only.
You've been using GTC without choosing it
Every ordinary limit order you've ever placed behaves the way GTC is defined: it doesn't fill, it doesn't disappear, it sits in your open orders until it fills or you cancel it. You've been relying on this rule the whole time — nobody just told you it had a name.
One caveat worth being strict about: the help page doesn't state which value the interface pre-selects. So don't file "the default is GTC" away as a rule, particularly after switching devices or order modes. If you need to know which rule this order runs under, read what that setting says before you submit. That beats trusting a remembered default.
While we're separating things that get confused: time in force governs whether the order still exists, not whether it fills. A limit order sitting there unfilled is a price-and-queue problem, not a time-in-force problem — that's the subject of why a limit order won't fill. What happens between hitting confirm and landing on the book is covered in the life of an order.
IOC vs FOK: it's all about the remainder
Both demand an immediate fill. The only difference between them is whether a partial fill is acceptable.
Take an example (illustrative numbers, not a real book): you want 10 units of a coin, and only 6 can be filled at that price right now.
- GTC — 6 fill, and the remaining 4 stay on the book, queued.
- IOC — 6 fill, and the remaining 4 are killed on the spot. Nothing left in open orders.
- FOK — nothing fills at all. The whole order is killed and you're holding zero.
Notice that the first two look identical in your trade history: 6 filled. The difference is entirely in what happened to the other 4. That matters here because we have a separate page on what to do with the rest after a partial fill — and it describes the GTC case, where the remainder is still yours to manage. Under IOC there is no remainder to manage; it's gone, and your only move is to place a fresh order. Same "6 of 10 filled" line, completely different next step.
There's a second consequence beginners rarely think through: IOC and FOK never leave anything resting on the book. Whatever can fill takes liquidity that's already sitting there, and whatever can't is killed immediately — so any fill they produce is a taker fill, never a maker one. Why that distinction is worth caring about is in maker vs taker.
Which makes the Post Only checkbox — documented on the same help page — their exact mirror image. Binance describes it as ensuring your order is not executed immediately in the market, so it can only enter the book as a maker order. One family fills now or not at all; the other refuses to fill now. Opposite intentions, so don't reach for them as if they were variations on a theme.
One documented hard limit worth remembering: iceberg orders are not supported with IOC or FOK. That follows from what an iceberg order is — a large order split into a series of small limit orders released gradually — which is fundamentally incompatible with "fill instantly or die."
Order gone? Look for "Expired," not "Canceled"
This is the most immediately useful thing on the page. When IOC or FOK kills the unfilled part of your order, the record does not call it cancelled.
Binance's spot API glossary separates two statuses that sound like synonyms:
- CANCELED — an order cancelled by the user.
- EXPIRED — an order cancelled according to the order type's own rules, or by the exchange.
You hitting cancel is the first. An IOC or FOK order killed by its own rule is the second. So filtering your order history by "Canceled" simply will not surface it. The wording rendered on screen may not match the API value exactly — go by what your page shows — but the split is real: an order you killed and an order that killed itself are not the same event.
This is usually the whole story behind "my order evaporated." When you're reconstructing what happened to a trade, read the status column first and only then start doubting your memory. The mechanics of cancelling and amending orders yourself are in how to cancel and modify an order.
What a beginner should pick (usually: nothing)
Straight answer: leave it alone in almost every case. Three reasons.
First, GTC is the only value that lets an order wait for your price. Not having to watch the screen is the whole point of a limit order. Swap in IOC or FOK and you've deleted that feature by hand — if it doesn't fill, it's gone, and you're back at the form.
Second, FOK kills whole orders on thin pairs. Where there isn't much depth, an order that's large next to what's actually resting on the book often can't be filled in one go, so the entire thing dies. People read that as a platform fault. It isn't — it's the rule they asked for.
Third, IOC locks in a small partial fill and discards the rest. Nothing waits on your behalf, so you place the order again — and by then the price isn't the price you were looking at. If you reach for a market order to catch up, you're also taking on slippage you didn't have before.
If you're going to change it anyway, settle three things first:
- Which screen you're on. Margin and futures forms carry the same three options with the same meanings, but losses there aren't capped at what you put in — why we say stick to spot first is in spot vs margin vs futures.
- Where an unfilled order ends up. The previous section: look under Expired, not Canceled.
- Whether "nothing filled" is an acceptable outcome. Zero fill is a normal result for FOK. If that would derail whatever you had planned, FOK isn't what you wanted.
To work through the order types themselves, start at Binance order types and how they differ; if you're unsure which type this particular trade calls for, our order type decision helper walks the questions with you. Time in force isn't a ranking of features from basic to advanced — GTC isn't the beginner option. It's just the one that lets your order live longer.
Sources
The definition of time in force, the wording for GTC, IOC and FOK, the note that iceberg orders are not supported with IOC or FOK, and the Post Only checkbox all come from Binance's help page on Maker (Post Only), Time in Force and Iceberg orders (checked 2026-08-30). The statement that time in force is available across spot, futures and margin is from Binance Academy's guide to placing a time in force order. The CANCELED and EXPIRED status definitions are from the Binance spot API glossary. This page was written from those public documents; it contains no screenshots of our own trading. Where the control appears on your screen, whether it shows at all in your order mode or on your device, which value is pre-selected, and how much depth any given pair has all change with product versions, clients and market conditions — go by what your page shows at the time you order.