Time in Force (GTC, IOC, FOK)

Instructions that tell the broker how long your order should remain valid and how its submission to the book should be handled.

On this page

Who it's for — For those placing complex orders on derivatives and wanting granular control over what happens if the order cannot be completely executed.

Every time you open the window of a Limit Order on a professional exchange (like Binance or Bybit), you will find a small dropdown menu called Time in Force.

It serves to tell the exchange server: "If the order cannot be filled 100% right away, what do you want me to do with the rest?"

Tuo Ordine: 10 BTC Liquidità disponibile al tuo prezzo: 6 BTC

GTC
<!-- Eseguiti -->
<rect x="200" y="165" width="300" height="50" fill="#1e3a8a" rx="4" class="target"/>
<text x="350" y="195" fill="#60a5fa" font-family="system-ui" font-size="14" text-anchor="middle">6 BTC Eseguiti Subito</text>

<!-- Pendenti -->
<rect x="510" y="165" width="200" height="50" fill="#0f172a" stroke="#60a5fa" stroke-dasharray="4 4" rx="4" class="target"/>
<text x="610" y="195" fill="#94a3b8" font-family="system-ui" font-size="14" text-anchor="middle">4 BTC Pendenti nel Book</text>
IOC
<!-- Eseguiti -->
<rect x="200" y="265" width="300" height="50" fill="#78350f" rx="4" class="target"/>
<text x="350" y="295" fill="#fbbf24" font-family="system-ui" font-size="14" text-anchor="middle">6 BTC Eseguiti Subito</text>

<!-- Cancellati -->
<rect x="510" y="265" width="200" height="50" fill="#0f172a" stroke="#ef4444" stroke-width="2" rx="4" class="target"/>
<line x1="510" y1="265" x2="710" y2="315" stroke="#ef4444" stroke-width="2" class="target"/>
<text x="610" y="295" fill="#ef4444" font-family="system-ui" font-size="14" font-weight="bold" text-anchor="middle">4 BTC Cancellati</text>
FOK
<!-- Kill -->
<rect x="200" y="365" width="510" height="50" fill="#450a0a" rx="4" class="target"/>
<text x="455" y="395" fill="#fca5a5" font-family="system-ui" font-size="14" text-anchor="middle">Non c'è 100% liquidità. Ordine UCCISO (0 Eseguiti).</text>
The fate of a partially executed order based on Time in Force directives. Hover to explore.

The 3 main variants

1. GTC (Good Till Canceled)

It is the default setting. It means the order will remain alive in the Order Book forever. If it is filled for only 50%, the other 50% will stay there waiting for another trader to buy it, even for months, until you manually cancel it.

2. IOC (Immediate Or Cancel)

You are telling the exchange: "Execute everything you can in THIS exact instant at the price I said. If anything is left over (because there isn't enough liquidity), cancel the remainder, don't leave it in the book!"

  • Useful when you want to buy or sell massive amounts quickly without risking leaving a passive order exposed if the market is crazy.

3. FOK (Fill Or Kill)

It is the most tyrannical order. "Either execute 100% of my size instantly at my price, or cancel EVERYTHING. I do not accept partial executions."

  • Used by arbitrage bots: they need the exact quantity to be mathematically guaranteed to make the math work, a partial execution would break their strategy.

Summary Sheet

  • GTC: Wait forever. Leaves remainders in the book. (The option for 99% of Retail traders).
  • IOC: Take what is there immediately, cancel the rest.
  • FOK: All at once, or nothing.

Module: Module 3 — Orders and Operations

Know what happens when you click buy or sell.