One-Cancels-the-Other (OCO)
Understand crypto OCO orders, linked limit and stop legs, cancellation races, partial fills and practical spot order-management risk.
Reading progress — saved on this device
A one-cancels-the-other (OCO) instruction links two orders so that execution or activation of one leg causes the other leg to be cancelled under the venue rules. It is an order-management relationship, not a guarantee that only one leg can ever execute.
Two linked instructions
A common spot OCO combines a take-profit-style limit order above the current price with a stop or stop-limit order below it for the same asset quantity. The venue tracks both legs and applies a cancellation rule when one leg meets the configured condition.
However, OCO implementations vary: some cancel the sibling when one leg fills; others may cancel or transform it on trigger/activation; partial fills can have special quantity-handling rules.
Typical lifecycle
Because both legs refer to the same economic position, good venue implementations prevent the combined quantity from overselling the available spot balance. But account transfers, manual orders or API activity can still interact with reserved amounts.
What can go wrong?
| Risk | Example | Control question |
|---|---|---|
| Cancellation race | Limit leg partially fills just as stop leg activates | What event confirms sibling cancellation? |
| Partial-fill quantity | 30% fills on one leg | Does the sibling shrink to remaining 70%? |
| Gap risk | Stop leg becomes executable far below trigger | Is stop leg market or limit? |
| Balance interaction | User manually sells some of the reserved asset | Will venue reject, resize or cancel the OCO? |
| System outage | One leg state unclear during venue disruption | How is OCO state recovered/reconciled? |
Worked example
You hold 1 BTC at a venue and create an OCO: sell limit 1 BTC at £85,000 plus sell stop-market trigger at £76,000.
Later, 0.4 BTC fills at £85,000 just before price reverses sharply. A well-defined OCO system should specify whether the stop leg is cancelled immediately, resized to 0.6 BTC, or handled under another rule. If the venue cancels the entire stop leg only after full execution of the limit leg, the remaining 0.6 BTC can be exposed without the conditional protection the user expected.
The correct operational assumption comes from the venue specification—not from the generic OCO label.
Common mistakes and misunderstandings
- Assuming all OCOs cancel the sibling on the same event.
- Ignoring partial fills and remaining-quantity rules.
- Believing OCO eliminates gap or slippage risk on the stop leg.
- Manually changing the position without checking how the venue handles reserved OCO quantity.
- Assuming cancellation messages and fills cannot cross during fast markets.
Knowledge checkpoint
Q1. What exact event must you identify to know when an OCO sibling is cancelled?
Q2. Why can a partial fill make OCO quantity management more complicated?
Q3. If the stop leg is stop-market, which risk remains after activation?
Q4. Why should you test OCO behaviour on the specific venue rather than assume a universal standard?
FAQ
❓ Does OCO guarantee only one leg can ever fill?
Not absolutely. Implementations vary and race conditions or partial fills can create more complex outcomes.
❓ Is an OCO always a take-profit plus stop-loss?
That is a common use, but OCO is a generic relationship between linked orders rather than a specific strategy.
❓ What happens after a partial fill?
Venue rules differ. The sibling may be resized, cancelled or remain subject to specific quantity logic.
❓ Can the stop leg still slip?
Yes. If it activates a market-style order, execution depends on available liquidity.
Summary
- OCO links two child orders with a venue-defined cancellation relationship.
- Partial fills, triggers and cancellation races make implementation details important.
- The order types inside the OCO retain their own price, slippage and non-fill risks.
- Verify venue-specific sibling-cancellation and quantity rules before relying on automation.
This building block explains execution mechanics and risk. It is not a recommendation, signal or instruction to trade any cryptoasset.
Want this in a personalised order?
Take the crypto assessment and get a custom path of 10 modules matched to what you already know. Free, no card required.
Build my path →