A Look Behind the Scenes at Why Spot Trading Temporarily Stopped
Deposits, withdrawals, and spot trading were temporarily halted due to an issue with trailing stop orders.
Binance’s systems underwent a short system maintenance period, and spot trading functionality, deposits, and withdrawals resumed at 14:00 (UTC) on 2023-03-24.
Your funds are SAFU as per usual.
In the spirit of transparency, we want to explain more about the recent pause on trading and our standard operating procedure.
While we always aim to maintain a 24/7, 365-days-of-the-year service, occasionally, technical issues can happen.
I understand that hearing that deposits, withdrawals, and spot trading are on pause can be alarming. However, our standard operating procedure (SOP) is always promptly implemented to help keep your funds SAFU.
Any halt to trading is considered a priority-0, all-hands-on-deck issue that requires our team’s full attention.
So What Happened?
At 11:27 (UTC), spot trading on Binance was temporarily disabled. This is the first time the system has been down since December 2021.
The matching engine encountered a bug on a trailing stop order. Our matching engine facilitates price discovery and matches buy and sell orders.
The bug was not something we’d typically see, making it a reasonably unusual one to encounter. It’s important to note this was an internal issue and not caused externally.
Although our engines take hourly snapshots, this bug happened 57 minutes in, affecting our reconciliation time. The issue impacted a number of products, including spot trading, spot transfers, BLVT, portfolio margin, and spot grid trading.
Throughout this whole process, I tweeted live updates through my personal Twitter. We also notified the community via Binance’s official Twitter.
We also stopped deposits and withdrawals along with spot trading. This was done to prevent a potential system accounting issue since the matching engine was temporarily paused. The state of orders in the matching engine may affect available funds for withdrawal in user accounts. We opened withdrawals again once we completed the reconciliation.
Roughly an hour later, engine one was back online. More time was, however, needed to perform reconciliations and for other engines to catch up. Deposits were later enabled, followed by internal transfers and 30 minutes of cancel-only mode. After this, spot trading was resumed, followed by withdrawals roughly an hour later.
We fixed the issue by 13:30 UTC and notified users that they had until 14:00 UTC for the platform to function as usual (apart from trailing stop orders).
Is Everything Back to Normal?
Users can now cancel orders, process deposits, trade on P2P, lend, redeem, transfer assets, and access all other account-related functions. Withdrawals were also resumed shortly after spot trading.
However, we have temporarily suspended trailing stop orders until further notice, and all existing trailing orders have expired automatically.
As mentioned in our announcement, “It is recommended that futures and margin trading users with open positions re-assess their collateral balances prior to the start of spot trading to mitigate against price fluctuations that may occur.”
When bugs like this arise, our top priority is the safety of user funds and reliably resuming our services. The key to this is transparency; we’re here to let you know every step of the way what’s occurred and why.