Stop market order - stop hit, but order wasn't executed


I had a position on BTC/USDT on futures, on which I placed a LIMIT takeprofit order and a STOP_MARKET stoploss order. However, when the stop on the STOP_MARKET got hit, I received position status EXPIRED and afterwards nothing happened. The market order didn’t execute.
Is this normal behaviour or did I do something wrong? This did work before…


Please check the order history from fapi/v1/allOrders and see if you have filled order.

When the STOP_MARKET order is triggered, the original order is expired, but another market is generated and will be matched immediately.

Thanks for the response, but this was the behaviour I assumed would happen. That time it didn’t, though.
Here are some of the logs I kept of the incident by listening to the userdata stream:

Sep 21 03:30:04 info ORDER => ID: 7614822637 - ACTION: NEW - STATUS: NEW
Sep 21 12:16:11 info ORDER => ID: 7614822637 - ACTION: EXPIRED - STATUS: EXPIRED

After this, nothing happened…

is it possible that the websocket connection was broken? that’s the major reason that client side has no more data stream.

I’m pretty sure the websocket stream was not broken. I had two servers running on different binance accounts with the exact same stop market order and both only received the EXPIRED status. On Binance app, the order also just showed up as ‘expired’. I also didn’t receive an error or close event on the websocket.

This is a screenshot of what is seen on the Binance account:

As you can see, the Stop market expired, but didn’t trigger a market order. The market order you see at the top was done manually, after the stop market should have already been done.

Thanks for the screenshot, do you think is there enough margin to open position when the price is triggered. We see this happening quite often.

Minutes later, the same amount of the stop market was manually market sold, so I assume there must have been enough margin.