Skip to content
Binance Support page on OCO orders showing the order details for a buy OCO (Take Profit limit, Stop, Stop Loss limit and Amount), the Open Orders tab, and the OCO price setting conditions for sell and buy orders
Binance Support, “What Is an OCO (One-Cancels-the-Other) Order and How to Use It?”, screenshot, October 2026.

One OCO order on Binance sets your take-profit and stop-loss at the same time

Binance keeps OCO inside the Spot order form. Go to [Trade] → [Spot], open the Order Type drop-down and pick [OCO]. You then enter two orders in one go: a limit order under Take Profit, and a stop-limit order under Stop Loss. How the two are linked, in the words of Binance's support page: "If one is triggered, the other is canceled."

The prices have to sit on the right sides of the current market price, and those sides flip between a sell OCO and a buy OCO. The stop-loss half has its own catch. It's a stop-limit order, so reaching the trigger only places a limit order, and that limit order can go unfilled if the price drops through it too fast.

Quick price check before you submit

Selling with OCO: take-profit limit price above the current price, stop-loss trigger below it. Buying with OCO: take-profit limit price below the current price, stop-loss trigger above it.

Where to find OCO in Binance Spot on the website and app

On the website, log in, go to [Trade] → [Spot] and click [OCO] in the Order Type drop-down menu. The app uses the same path: [Trade] → [Spot], then [OCO] from the Order Type drop-down.

Pick the trading pair before typing any price. The price boxes in the OCO form are judged against that pair's current price, so a level that made sense on BTC/USDT means nothing once you've switched to another pair.

Binance's own walkthrough uses a buy OCO and finishes with a single button: click [Buy] to place the OCO order. Before you press it, make sure you meant to buy rather than sell. The price rules for the two sides are mirror images, and a set of numbers that fits one side breaks the other.

What each box in the OCO form is asking for

Two of the boxes are labelled [Limit]. The section they sit under is what tells them apart, so read the heading above each box before you type into it.

Box in the OCO formWhat it sets, in Binance's words
[Limit] under Take Profit"your limit order's price"
[Stop]"the trigger price of your stop-limit order"
[Limit] under Stop Loss"the limit price of the stop-limit order"
[Amount]"the amount of crypto you want to purchase" (wording from the buy example)

The stop-loss side therefore takes two numbers. [Stop] is the price that sets it off. The [Limit] beneath it is the price of the limit order that then goes on the book. Binance's Spot API glossary defines a limit order as one where "the execution price will be no worse than the order's set price", which makes that second number the worst price you'll accept on the way out, not a price you're promised.

How far apart should the two be? Binance's support page has a suggestion: "For Stop Limit orders, you may try setting the limit price closer to the stop-loss trigger price."

Which side of the market price each OCO price goes on

Order sideBinance's OCO setting condition
Sell OCOPrice (limit order) > current market price > stop-loss trigger price (stop-limit order)
Buy OCOPrice (limit order) < current market price < stop-loss trigger price (stop-limit order)

Read each row from left to right. On a sell, the take-profit waits above the market and the stop trigger waits below it, so whichever way the price moves first, it runs into one of them. Binance's sell example puts the limit order at 3,000 and the stop trigger at 1,500. A rise to 3,000 or above executes the limit order and cancels the stop limit. A drop to 1,500 triggers the stop limit and cancels the limit order.

A buy OCO turns that picture upside down. In the buy example the limit price is 1,500, below the market, and the stop trigger is 3,000, above it. If the price drops to 1,500 or below, the limit buy executes and the stop limit is cancelled. If it rises to 3,000, the stop limit is triggered and the limit buy is cancelled. One order holds two possible entry levels, and only one of them can go through.

In both examples the market has to be somewhere between 1,500 and 3,000 at the moment you submit. If Binance won't take your OCO, compare your numbers with the live price before changing anything else. A fast market can move past one of your levels in the time it takes to fill in the form, and then the order no longer fits the conditions in the table.

Working through a 0.1 BTC sell OCO with Binance Academy's numbers

Binance Academy's OCO entry uses a coin that's already held: 0.1 BTC bought at $90,000. The OCO pairs a limit sell at $100,000 with a stop-limit order triggered at $87,000 and priced at $85,000. Typed into the form, that becomes:

BoxValue in the Academy example
[Limit] under Take Profit100,000
[Stop]87,000
[Limit] under Stop Loss85,000
[Amount]0.1 BTC

Run it through the sell condition first: 100,000 > current price > 87,000. BTC has to be trading between $87,000 and $100,000 when you submit, or the order doesn't fit.

If BTC reaches $100,000 first, the limit order executes and the stop-limit order is cancelled. Against the $90,000 buy price, that's 0.1 × (100,000 − 90,000) = $1,000 before trading fees.

If BTC drops to $87,000 first, the stop-limit order activates and the limit sell is cancelled. A sell limit order at $85,000 then goes on the book. Filled at exactly $85,000, the result is 0.1 × (85,000 − 90,000) = −$500 before fees. It can fill at a better price than that. It can't fill at a worse one, and it can also stay unfilled.

The $2,000 between the trigger and the limit is there on purpose. Academy explains that the stop price is typically set above the limit price to account for fast-moving markets. The trade-off is plain arithmetic: every dollar of extra room lowers the worst price you've agreed to accept.

What happens to the other order after a fill, a partial fill or a cancel

Binance's support page links the two orders both ways. A triggered order cancels its partner, and "if one order is canceled, the other will also be automatically canceled." The Spot API glossary sets a matching rule for OCO orders placed through the API: if one of the orders executes, the other is automatically expired.

Partial fills are covered on the Academy page, which states: "When either order is fully or partially filled, the platform automatically cancels the remaining one." So a take-profit that sells only part of your amount is enough to remove the stop-loss side. After any partial fill, open [Open Orders] and look at what is actually still working before you assume a stop is in place for the rest.

Cancelling has the same knock-on effect. You can't cancel just the stop to move it a little lower and leave the take-profit standing. Both orders go, and nothing from that OCO is working until you place a new one.

Can the stop-loss side of an OCO order fail to sell?

It can, because the stop-loss side is a stop-limit order. Binance's Spot API glossary defines that order type this way: once the market price hits the stop price, "a LIMIT order is placed on the order book." Reaching [Stop] doesn't sell anything by itself. It puts a limit order in the queue at your Stop Loss [Limit] price.

Binance Academy puts the risk this way: "If the market moves too quickly, the limit order may not execute if the price falls through the limit level before a buyer is found." In the BTC example, that's a drop from above $87,000 to below $85,000 that happens before enough buyers at $85,000 or higher turn up. The sell order is placed and then waits, with the market already under it.

The gap between [Stop] and the Stop Loss [Limit] is the setting that shapes this. A limit close to the trigger, as Binance's support page suggests trying, keeps your worst acceptable price near the level you picked. A wider gap, like Academy's $2,000, leaves more room for a fast drop and pushes that worst price lower. No gap size makes a fill certain, so plan the position on the basis that the stop-loss side can be skipped over.

Where to check your OCO orders once they're placed

Binance's support page points to two tabs. All open orders are listed under [Open Orders], and the history of executed orders sits under [Order History]. Use the first to see what is still waiting and the second to confirm which side executed.

A stop-loss side that has triggered but not filled is still a limit order waiting on the book, so it should appear under [Open Orders] too. That's the tab to open after a sharp drop, before you assume the coins were sold.

If that order is sitting there with the market below its price, the choices are to leave it where it is, or cancel it and exit with a different order type. Each of those order types behaves differently once placed, and How to choose between market, limit and stop-limit orders walks through what each one does.

FAQ

What does OTOCO add to an OCO order on Binance?

OTOCO adds an entry order in front of the OCO pair. Binance chains three orders: a primary entry order is placed first, and once it fills, an OCO exit pair with a take-profit and a stop-loss activates automatically. With a plain OCO, both exit orders go live at the same moment. According to Binance Academy, Binance launched OTOCO in June 2024.

Why use an OCO instead of a separate limit order and stop-limit order?

Placed separately, the two orders are not linked, so if one executes the other stays open. Binance Academy warns that this can create an unintended double position or unnecessary exposure. An OCO ties them together so only one of the two can execute, and cancelling one side cancels the other as well.

Theo Marsh
Writes the beginner guides at Onbit editorial. Theo is a pen name for our editorial team. Onbit is independent and may earn a referral commission when you sign up through our links — at no extra cost to you. Nothing here is financial advice.