Goodbye, System Overloads
The Next Generation of Matching Engines
Our work at BTSE is driven by a simple vision:
to provide our users with the quintessential suite of tools to cater to their cryptocurrency trading needs. Whether you’re a beginner looking to make your first Bitcoin purchase, or a seasoned trader seeking access to an arsenal of derivatives and leverage options, we’ve got you covered.
Critical to ensuring a seamless user experience is the ongoing development of a robust infrastructure that can handle the throughput required at scale. In this post, we’ll discuss the use of matching engines, and some of the design decisions the BTSE team has taken into consideration while bringing to life our own.
First Off, What Is Order Matching?
Order matching, as the name may suggest, involves matching buy or sell orders in a way that ensures a rapid trade at the best market price. A simple example of this is Alice logging into her account, with the intention of selling 5 BTC. She acts as a market taker, as she taps into an existing pool of limit orders to exchange her coins as quickly as possible at the current price.
To quickly touch on the example of a limit order (as opposed to the above market order), one may look to Bob, who may be in no rush to sell his coins and is happy to wait for the right price. He may believe that the BTC price will rise from $10,000 to $12,000, and therefore sets an order stating that his 5 BTC should be sold when the price reaches that point.
These are two very common order types, but there are of course a number of more complex strategies (i.e. those dictated by sophisticated algorithms).
Speed, Performance, and Security
One thing we wanted to avoid in the design of our platform were the limitations faced by exchanges during the iconic bull run of 2017, when many were proven to be unprepared for an onslaught of new users and orders. Even the most resilient stacks struggled to deal with the volume, and often faced system overloads as a result.
It’s a problem the industry should have learned from by now, and a fix is long overdue: we believe it’s not a matter of if, but of when another bull run occurs – and it may very well be orders of magnitude bigger than the last. As such, BTSE’s entire matching architecture has been carefully designed to scale as required – we’re entirely self-hosted, which allows us to simultaneously take security into our own hands, and to maintain a granular level of control over the infrastructure of the platform.
We believe it’s not a matter of if, but of when another bull run occurs – and it may very well be orders of magnitude bigger than the last.
As it stands, our matching engine is capable of processing up to 2 million transactions (and is able to match an estimated 800,000 orders) per second. Part of what makes it so efficient and speedy, even in times of intensive throughput, is the implementation of the engine entirely in-memory: our databases are not bombarded with unwieldy amounts of requests, and transactions can be completed in sub-millisecond timeframes.
But in case that’s not enough, we’ve opted for horizontal scaling, meaning that in times of high demand, it’s trivial for us to spin up additional servers to accommodate our users and push those limits even higher. Also with the addition of ot upgrades and high fault tolerance, we’re also able to push updates to the platform without any downtime at all.
We want you to enjoy the best trading experience possible. At BTSE, we’re committed to providing our users with the ultimate toolkit for trading cryptocurrencies. With a next-generation matching engine, high liquidity and extensive support for derivatives and leveraged trades, BTSE is a one-stop shop for newcomers and cryptocurrency veterans alike
Our aim is to create a platform that offers you the most enjoyable trading experience. If you have questions or suggestions, please don’t hesitate to reach out to us at firstname.lastname@example.org or DM us on Twitter: @BTSEcom.