Explanation on Symbol Status

These are the following symbol status available on the API

PRE_TRADING
TRADING
POST_TRADING
END_OF_DAY
HALT
AUCTION_MATCH
BREAK

For clarification we want to explain some of them here, as there have been many unsure of the differences between them.

HALT and BREAK are two possible states that occur during downtime. When a symbol is in either of these two states trading is not enabled.

BREAK is used during expected downtime. Market data is not being generated for this symbol when the status is on BREAK. To compare it with a traditional stock market, BREAK would be during a mid-day lunch break. BREAK is also set for symbols where it has been delisted from the exchange.

HALT is used during emergency situations. Market data is still being generated during this time. To compare it with a traditional stock market, HALT would be used if trading stopped due to the “market moved 7% too fast” (similar to what the NYSE did recently).

There’s no distinct way to tell at the moment whether a symbol is on BREAK due to an emergency downtime or due to it was actually delisted. Best is to always check up with Binance Announcements as we do state when symbols are officially delisted.

In Summary:

Symbol Status Can trade ? Can cancel order ? Market data generated ?
TRADING :white_check_mark: :white_check_mark: :white_check_mark:
END_OF_DAY :x: :white_check_mark: :x:
HALT :x: :white_check_mark: :white_check_mark:
BREAK :x: :white_check_mark: :x:

PRE_TRADING, AUCTION_MATCH, and POST_TRADING are reserved status, we just support them in case they are needed.

1 Like

Is there a way to get notified of status changes other than polling exchangeinfo? I hope I’ve missed some stream in Websocket interface, If I have to request and parse this large message, can you advise me some schedule to minimise my time and traffic expencies.

1 Like

@Alexander_Krivtsov thanks for your feedback. Unfortunately we don’t have websocket that pushing this info. Since the symbol status change is low frequent event, it’s still a good practices to get from this endpoint and find the updates.

Hi, dino, I’ve got a hope. I noticed, that API’s bookticker sends zero bid and ask prices for all symbols with BREAK status. What about !bookticker stream of Websocket interface? I hope to recieve there (A) zero prices at the moment of symbol entry in BREAK status, (B) silence during this coffee break, © non zero prices when exiting BREAK status. Is this assumption worth to test?

bookTicker stream is pushed when “any update to the best bid or ask’s price or quantity in real-time”,
I don’t think there will be data from this when a symbol is in BREAK status.

@dino You gave the explanation on the HALT and BREAK , but what you wrote is different from the table when it comes to when market data is generated. It seems to be the other way around. Not sure if your description needs to be adapted or your table.

Hey @dino is this still the case that we need to repeatedly poll the API in the case of a symbol status going from trading to break/halt?