The behavior of StopMarket when not enough balance

Let’s assume I have 105k USDT in my account as free balance, and assume the BTC price is 100k, and ETH price is 2k. I placed a StopMarket order to buy 1 BTC when it hits 104k. With StopMarket the locked amount is calculated from the current price, so 100k USDT is locked. Now I also placed a StopMarket order to buy 1 ETH when it hits 3k, and 2k USDT is locked. BTC hits 104k, assuming irrelevant slippage, my USDT balance will be deducted 104k, leaving me 1k USDT. Assuming ETH is still not 3k, will my ETH StopMarket order be auto-canceled, or will it just fail when it hits 3k, leaving me the chance to refill my USDT?

Hi @Ahmet_Yazici,

On Binance Spot/Margin the “locked” USDT for a StopMarket order is reserved at the time you place the order and isn’t re‐checked or auto‐canceled just because your free balance later dips below that amount .

Your ETH StopMarket order will remain active until the market hits 3 000 USDT, at which point it will immediately turn into a market‐buy for 1 ETH. If at that point your total available (locked + free) USDT is still >= 3 000, it will fill. If it isn’t, the market order will simply fail with an “insufficient balance” error and the triggered order will be canceled.

So, in short: StopMarket orders aren’t auto-canceled when your free balance falls. They fire at the trigger price and then either fill or error out based on whatever funds remain.

1 Like

Hey @dimitrisn,

Thanks for the clarification. But that leaves me with another confusion. Now assume the same scenario, but the ETH order is Limit order instead of StopMarket. Now what happens? First 100k is locked for BTC StopMarket order, and 3k ETH Limit order will also be valid and will lock 3k USDT. Again BTC is filled at 104k. Does the ETH order still remain active, and only able to partially fill the remaining 1k USDT, then erroring with something like insufficient balance, limit order partially filled?

Hi @Ahmet_Yazici, you actually can place both orders:

  • You start with 105.000 USDT. Placing the 1 BTC StopMarket @ 104.000 locks 100.000 (leaving 5.000 free), then your 1 ETH Limit @ 3.000 locks 3.000 (leaving 2.000 free).

  • After BTC fills, your ETH Limit still has its full 3.000 USDT reserved. When ETH hits 3.000 it will execute (or partially fill if there isn’t a full 1 ETH available) with no “insufficient balance” error, because the funds were locked up front.

Let us know if that’s clear for you!

1 Like

I see. Only question left from me is whether the Limit order still remains open. Does it get cancelled the moment it tries to fill the order further than 1000 USDT available once it hits the limit price and sees that there is no more USDT balance left?

Your ETH limit will simply partially fill and stay open for the remainder:

  • When ETH hits 3.000, Binance will fill as much as the order book lets it (e.g. 0.333 ETH for 1.000 USDT).
  • The 1.000 USDT used is deducted and the rest 2.000 USDT remains reserved for the remaining 0.667 ETH.
  • The order won’t error or auto‐cancel – it just sits live for the unfilled portion until you cancel it or it completes.
1 Like

Thanks a lot @dimitrisn !

1 Like