An OCO order links two orders so that a specified event in one cancels the other. A bracket usually adds an entry order whose execution activates linked take-profit and stop-loss exits. Crypto venues use these labels differently, so verify when exits become active, how partial fills change their quantities, and which events cancel the sibling order before relying on the structure.
The distinction matters most between submitting an entry and finishing an exit. A form can show all three prices while only one order is currently working. A take-profit can trade only part of the position while cancellation removes its paired stop.
This educational article was prepared with AI assistance. The quantities and prices below are hypothetical. Exchange examples describe the named venue and product; they do not establish that KLINEO submits or manages those order types.
OCO describes a relationship; a bracket adds a sequence
Think of OCO, meaning one-cancels-the-other, as a cancellation relationship between two orders. In a common sell arrangement, one path seeks an exit above the market and the other responds to a downward trigger. They are linked by the venue rather than merely placed at the same time.
A common bracket structure adds a parent entry before those exits. The entry activates the pair under the venue's rules. This is often called OTOCO: one-triggers-one-cancels-the-other. The terms describe different parts of the same potential structure: the entry-to-exit activation and the relationship between exits.
Binance Spot's API describes OCO as two linked orders and OTOCO as three: a working entry and two pending orders forming an OCO pair. Its OTOCO pending orders reach the order book only after the working order fills completely. See the Binance Spot order-list specification.
Labels alone are insufficient. An existing holding may need only linked exits; a new trade needs an entry and a defined activation rule. A venue may also use “bracket” for its TP/SL controls. Read the actual order state rather than inferring it from the label.
| Question | OCO exit pair | Entry with a bracket |
|---|---|---|
| What is being coordinated? | Two alternative exit paths | Entry activation, then alternative exits |
| What must already exist? | Enough relevant inventory or position for the intended exits | A valid entry and sufficient resources under venue rules |
| What is easy to miss? | The sibling may disappear before all inventory exits | Pending exits may not yet protect a partial entry |
| What should be recorded? | Pair identity, component IDs and cancellation event | Parent identity, component IDs and activation condition |
Two independent sell orders are not automatically an OCO pair. A client application that watches one fill and then sends a cancel request for the other has its own observation and cancellation interval. Confirm who maintains the relationship: the exchange or the application.
The first partial fill is the revealing test
Consider the difference between two documented spot implementations. Binance Spot OTOCO waits for full entry completion. Kraken Pro's spot TP/SL brackets activate on partial or full primary execution, with exit quantities matching the primary fills. Kraken also says triggering one of the paired exits cancels the other. These are product-specific mechanics, not interchangeable definitions. Kraken Pro spot bracket-order documentation.
Suppose a hypothetical order buys 10 ABC at 100 USDT each. The intended take-profit is a sell at 110; the intended stop trigger is 95. For clarity, assume fees are paid separately and every quantity meets the fictional market's rules. A real order needs actual credited inventory, fee treatment and instrument filters.
| Entry observation | Actual ABC acquired | Full-entry activation policy | Proportional activation policy |
|---|---|---|---|
| Accepted, no fills | 0 | Exit pair pending | No filled entry quantity to cover |
| Four units fill | 4 | Pair still pending | Exits correspond to the four filled units |
| Remaining six fill | 10 | Pair can now activate | Exit coverage should correspond to total fills |
The two policy columns illustrate the documented Binance and Kraken distinction; they are not a universal checklist of every order event. Under a full-entry activation rule, the four acquired ABC already have price exposure even though the pair is pending. Canceling the remaining entry does not undo that purchase.
At this point, the relevant question is what exposure exists and which exits are actually active. Do not describe pending exit instructions as live protection. Avoid adding overlapping exits until the existing list's cancellation and activation behavior is understood. The partial-fill management guide covers the inventory ledger behind that check.
A partial take-profit can remove the other exit
Now assume all 10 ABC were acquired at 100 and the exit pair became active. The take-profit sells three at 110, then liquidity disappears. Under the partial-fill cancellation behavior described in Binance's OCO API guide, the sibling is canceled even if the first fill is small.
The account has sold three ABC for 330 USDT and still holds seven. Allocating 300 USDT of entry cost to the three sold units gives a gross realized gain of 30 USDT, before fees. The remaining seven have an allocated entry cost of 700 USDT. The realized gain does not establish that those seven still have a working stop.
If all seven could later sell at 95, the constructed gross loss on them would be 7 × (100 − 95) = 35 USDT. Combined with the earlier 30-USDT gain, the trade would be down 5 USDT before costs. That calculation assumes a later fill at 95; a trigger is not a promise of that price or any fill.
Record the residual quantity and inspect every component's current status. An open target remainder, canceled stop, triggered limit and rejected replacement are different states requiring different decisions. Recreating a whole 10-unit exit pair after three units have sold would no longer match the seven-unit holding.
Linked cancellation does not improve a stop's execution terms
An OCO relationship coordinates orders. It does not turn a stop-limit into a market exit or make liquidity appear. If the stop triggers a limit sell above available bids during a rapid fall, the limit can remain unfilled after the sibling is canceled. The account then has exposure and a working limit rather than a completed exit.
The stop-market versus stop-limit guide explains the execution tradeoff. When testing a bracket, preserve that distinction: “stop triggered,” “exit accepted” and “position closed” are separate observations.
If a component trails the market, it also needs a tracking-start rule and a saved favorable extreme. The trailing-stop worked ledger explains that moving condition before it hands control to the resulting market or limit instruction.
Derivatives add position-side and reduction rules. Coinbase's Global Derivatives TP/SL documentation describes linked OCO exits, distinguishes attaching them to a new entry from managing an existing position, and identifies the exits as reduce-only. It also warns that TP/SL does not guarantee a maximum loss or avoid liquidation. This scope is Coinbase Global Derivatives for eligible customers, not all Coinbase markets. Coinbase Global Derivatives TP/SL rules.
For a derivatives workflow, confirm whether an exit can increase or reverse exposure after another order reduces the position. Our reduce-only order guide explains why the intention to close and an enforceable reduction restriction differ.
Use a state worksheet before submitting the structure
Complete this worksheet from the exact venue documentation and a controlled test. Use the account, environment, instrument and order types you intend to use; a successful test elsewhere does not establish the same mechanics.
| Check | Evidence to retain |
|---|---|
| Exit activation | Partial or full parent-fill requirement; actual active quantities |
| Sibling cancellation | Trigger, first fill, full fill or manual cancellation rule |
| Quantity ownership | Acquired inventory or position, existing exits and other strategies' orders |
| Stop execution | Reference price, trigger condition, market or limit instruction |
| Manual reduction | Which exits resize, cancel, remain or require intervention |
| Failure recovery | Parent and child IDs, last verified states and unresolved requests |
Test an incomplete entry, an incomplete exit and a manual cancellation, not just a smooth round trip. In a shared account, also test a position change from another authorized source. Check that observation against the venue's supported behavior before taking corrective action.
If a submission or cancellation times out, retain the structure's identifiers and reconcile with the exchange before retrying. The order-timeout recovery guide covers that uncertainty. A missing response does not prove a parent or child order failed to exist.
Instrument eligibility can change while linked instructions exist. The delisting-risk guide adds the deadline and settlement checks needed when a market is being removed; an earlier accepted bracket does not establish that the same exit routes remain available.
The useful outcome is a record showing acquired quantity, current exits and the rule that connects them. OCO versus bracket is the starting vocabulary; verified activation, quantity and cancellation behavior determine what the account can actually do next.
