What is good til canceled (GTC)?
A time-in-force instruction that leaves an order resting on the book until it fills or you cancel it.
Not yet verifiedHow we verify
3 min read
In this entry
A time-in-force instruction that leaves an order resting on the book until it fills or you cancel it.
Most exchanges make good til canceled the default for limit orders, which means a price you set months ago can still fire today. That is useful for a patient bid well below the market and dangerous if you forget it exists, because the balance it reserves stays locked and the order can execute during a flash move you never saw. Some venues expire resting orders after a set period; the exchange's order type documentation says which. Review open orders periodically.
Every limit order carries a time-in-force setting, and good til canceled is the one that does nothing on its own. The others end themselves: an immediate-or-cancel order dies the moment it stops filling, a fill-or-kill order dies unless it fills completely, and a day order dies at the session close. Good til canceled simply waits. The mistake people make is treating that as a neutral default rather than a standing instruction they remain responsible for.
How it works
When you submit a good til canceled order, the matching engine places it in the book at your price and holds it there across sessions and restarts. The exchange reserves the funds it would need to settle: quote currency for a bid, the asset itself for an offer. That reserved balance is not spendable, so an old order quietly reduces the buying power you think you have.
The order keeps its queue position at its price level for as long as it rests untouched. Editing the price or size usually cancels and replaces it, which sends it to the back of the queue at the new level. That matters on venues that pay a maker rebate or charge a lower maker fee, because queue position decides how much of your size gets filled passively rather than crossing the spread.
Two limits are worth checking in your venue's own order documentation. Some exchanges cap the lifetime, expiring resting orders after a fixed number of days. An order can also be canceled for you: many venues purge open orders when a pair is delisted or a symbol is renamed.
Example
Illustrative arithmetic. You place a good til canceled bid for 0.05 BTC at $50,000, so the exchange reserves $2,500 of your quote balance. Weeks pass and you forget it. A sharp overnight drop prints one trade at $49,800 and rebounds. Your order fills at $50,000, because the market traded through your price. You now hold 0.05 BTC bought at $50,000, and the $2,500 you had earmarked for something else is gone. Nothing malfunctioned. The order did what you told it to do.
Why it matters when you buy
A resting bid is the cheapest way to buy on most venues, because you pay the maker side of the fee schedule rather than crossing the spread. The tradeoff is that you carry an open commitment, so audit your open orders whenever you change your plan, move funds, or stop watching a market. If you want a purchase that either happens now or not at all, use a different time-in-force setting instead.
Related terms
- time in force: the family of order duration settings
- limit order: the order type this usually attaches to
- fill or kill: the all-or-nothing alternative
- post only order: a flag that guarantees maker treatment
- maker taker fee: why resting orders pay less
- order book: where a resting order waits
Questions
Does a good til canceled order ever expire?
On many venues it does not, but some cap the lifetime at a fixed number of days and some purge open orders around delistings and maintenance. Check the order type page for the exchange you use rather than assuming it rests forever.
Why is part of my balance unavailable?
An open order reserves the funds needed to settle it. Cancel the order and the reserved amount returns to your available balance immediately.
Can I change the price without losing my place in the queue?
Usually not. Most matching engines treat an amendment as a cancel and replace, which puts the order at the back of the queue at its new price level.