Home / Pitfall Files / What is an OCO

Binance OCO Orders: Why They Get Rejected

SpotRules EditorialLast updated 2026-07About a 9-min readMechanics
Diagram of a take-profit exit up top and a stop-loss exit at the bottom, current market price marked in the middle, the two orders joined by a chain into a one-or-the-other pair

Those three letters put a lot of people off. OCO looks like an advanced feature, and it's quick to throw up a red rejection when you submit, so after a couple of failed tries plenty of people just give up on it. The core idea is one sentence, though: pin a take-profit and a stop-loss together, let whichever fills first win, and the other cancels itself. What actually trips people up isn't the concept — it's a blunt rule about which price has to be higher than which. Get that order straight and the rejections mostly stop for good.

What an OCO really is: one or the other

OCO stands for One-Cancels-the-Other, and that name is the whole story. It's a pair of orders placed together, with the exchange watching both for you: the moment one meets its condition and fills, the other is cancelled on the spot. So you never end up in the awkward spot of having both fill.

It solves a very real problem. Say you hold a bit of a coin and you're thinking two ways at once — take profit and step out if it rises to some price, cut the loss and leave if it drops to another. With plain orders you can't really keep both live at once: either you set the take-profit and forget the stop, or you set both and, if they both trigger, you end up selling more than you meant to. An OCO bundles those two exits into one group. Up or down, only one door opens, and the other shuts by itself.

So the picture to hold onto is this: an OCO is a take-profit exit up top, a stop-loss exit down below, the current price in the middle, one or the other. Under the hood it's just a limit order and a conditional stop order from the order types you already know, combined — nothing brand new, just two things wrapped into a single submission.

How many prices are in one OCO

Here's the first hurdle for newcomers: the form suddenly shows three price boxes and it isn't obvious which number goes where. Pull it apart and it's clear, because those three boxes map to two orders.

The take-profit side is an ordinary limit order and needs just one price — the price you're willing to sell at to lock in a gain. That's no different from any limit sell order you've placed before.

The stop-loss side is a conditional order and needs two prices — a trigger price and a limit price. This is exactly the split between trigger price and limit price: the trigger says "if it drops to here, wake this stop order up," and the limit says "once woken, at what price do I actually place the order." If you haven't got that distinction straight yet, read that piece first — otherwise the three prices in an OCO will keep tangling you up.

So the three boxes come out as: take-profit limit (one) plus stop trigger and stop limit (two). Once you see the split, you know which order each number serves, and getting them in the right order won't feel like guesswork.

The sell rule: limit > market > trigger

This is the heart of the OCO, and the spot where most people come unstuck. Take the most common case — a sell OCO, where you hold a coin and want a take-profit and a stop-loss set at once. The three prices have to follow a fixed high-to-low order. Get them in the wrong order and the system rejects it flat, no room for argument.

The whole rule fits on one line: take-profit limit > current market price > stop trigger. In plain terms:

  • The take-profit limit has to be above the market price. Take-profit means "wait for a rise, then sell," so the sell price naturally sits higher than now. If you set the take-profit below the current price, that limit order would fill the instant you submit — it isn't waiting for anything, which breaks the OCO logic, so it's rejected.
  • The stop trigger has to be below the market price. A stop means "if it breaks below some point, get out," so the trigger naturally sits under the current price. If you set the trigger above the current price, it would fire the moment you submit — same violation, rejected.
  • The stop limit sits near the trigger, no higher than it. You've already decided to leave if the price breaks the trigger, so the price you place the sell at shouldn't be above the trigger — otherwise there's no one to fill it and it contradicts itself.

Line them up and it's a single stack: take-profit limit up top, current market price in the middle, stop trigger below, and the stop limit right at the trigger or lower. If any one number strays into a zone it doesn't belong in, the submission is rejected. That's the "for sells, limit > market > trigger" rule people talk about.

Heads-upThis order applies to a sell OCO. A buy OCO runs the other way (take-profit below, stop above), but the logic is the same: neither side can be set so it would fill the instant you submit. Buy or sell, hold onto the one principle — both halves of an OCO have to be "wait until the condition is met," and anything set to "should fill right now" gets rejected. For the exact precision and minimum tick on the pair you're trading, go by the notice on the Binance order page.

Why it gets rejected — the usual suspects

When submitting an OCO throws up a red error, it almost always falls into one of the buckets below. Run through them and you'll usually pin it down.

1. The prices are in the wrong order (most common)

This is the rule from the last section not being met: the take-profit limit isn't above market, or the stop trigger isn't below market. It's the number-one cause. Plenty of people fat-finger a digit on one of the prices, or mix up which way take-profit and stop-loss are supposed to point, so one side would fill the instant they submit and the system flags it. Check this first — nine times out of ten, it's the culprit.

2. The quantity is below the minimum

Every pair has a minimum order quantity and a minimum order value, and both halves of the OCO have to clear those on their own. Split things too fine, with too small a quantity, and it gets blocked. It's the same as any plain order, except an OCO has to satisfy two orders at once, so it bumps the line more easily. For more on that threshold, the piece on the greyed-out buy button covers it in full.

3. The price doesn't match the tick size

Every pair sets rules for how many decimals a price can have and the smallest step it can move in (often called the tick size). If the price you enter has the wrong precision — an extra decimal, say — it's rejected. The interface usually rounds it for you, but pasting a number in by hand is where it tends to go wrong.

4. Not enough balance or available quantity

A sell OCO ties up the matching amount of the coin; a buy OCO ties up the matching quote funds. If part of your balance is already frozen by other open orders and there isn't enough free, it won't submit either.

How to set it right the first time

Boil everything above down into a pre-submit checklist and you can skip the trial and error:

  • Picture the stack first: current market price in the middle, take-profit above, stop below (for a sell OCO). Lock the direction in your head before you touch any numbers.
  • When you enter the take-profit limit, confirm it's clearly above the current price; when you enter the stop trigger, confirm it's clearly below. Both need to land on the correct side of the current price.
  • Don't set the stop limit higher than the trigger — put it at the trigger or a touch below, to leave a little room for it to fill. That's the same "protect the price, not the fill" trade-off you get with a limit stop.
  • Check the quantity clears the minimum, the price precision matches, and you have enough free balance.

If doing the mental arithmetic feels error-prone, run your intended prices through this site's OCO parameter checker first. It flags which number is out of bounds against rules like "limit > market > trigger," and then you go back to the Binance screen and enter them. The tool is pure front-end — no network, no fake numbers — it only checks the order for you. It won't place the order and it won't tell you what price to set; that call is yours.

TipAn OCO is a tool for lining up your exits in advance, but it won't read the market for you and it doesn't guarantee a profit. Crypto is volatile and can go to zero, and even with an OCO placed, a violent move can fill it at a price you'd rather not have. Learning the rules is about not getting rejected and not setting it backwards — it isn't a nudge to trade more often. This site only covers how to read the mechanics and how to avoid mistakes; none of it is investment advice.

FAQ

What does OCO mean?

OCO stands for One-Cancels-the-Other. It's a pair of orders placed together as one — a take-profit limit order and a stop-loss conditional order. Whichever meets its condition first fills, and the other cancels automatically, so you'll never fill both.

What's the price order for a sell OCO?

For a sell OCO, the usual rule is the take-profit limit above the current market price, and the market price above the stop trigger — limit > market > trigger. Take-profit waits up top for a rise, the stop guards below against a fall, and the current price is in between. If any number crosses out of that order, the system rejects it.

Why does my OCO keep getting rejected?

Most often the prices are in the wrong order: the take-profit limit isn't above market, or the stop trigger isn't below market, so one side would fill the instant you submit — which breaks how an OCO works. Other causes are a quantity below the pair's minimum, not enough balance, or a price that doesn't match the pair's tick size. Check the high-low order first, then quantity and precision.

Can both halves of an OCO fill at the same time?

No. An OCO is one or the other by design: the moment one side triggers and starts filling, the system cancels the other. That's the point — you keep a take-profit exit and a stop-loss exit ready at once, without worrying both will fire.

Sources & notes

An OCO (One-Cancels-the-Other) is a combined conditional order offered on Binance spot. The high-low price checks, the minimum order size, and the price precision all vary by pair and by interface version, so this piece only covers the direction of the rules and doesn't pin down any specific number — go by the notice and the rejection message on your own order page. To check the official definition, look up the OCO and conditional-order entries in the Binance help centre, or find the OCO order explainer on Binance Academy.

SR
SpotRules Editorial
Pen-name team · We explain how it works, never shill coins or call trades · Editorial principles