Introduction
The crypto market never closes, and it is not in one place either. Each cryptocurrency trades on dozens of exchanges at once, and on each of them someone must always be ready to buy and sell. That ever-present counterparty is the market maker: they buy a little cheaper, sell a little dearer, and do not need to know which way the price will go. Their risk is having traded on the wrong side just before a large move; and in a market spread across several exchanges, that move often starts somewhere else.
Before writing the algorithm, we have recorded this whole market, and keep recording it.
The Crypto Market Maker project gathers the market of 22 heavily traded cryptocurrencies on 16 global exchanges, at the level of every single trade and order. The scope of the work is one full year for each cryptocurrency, that is, 60 terabytes of raw data. The destination is an automated market-making desk that runs capital with an algorithm trained and tested on this same history.
Inside the platform
These are real screens from the project's platform, not mock-ups. All three views show one market: the BTCUSDT perpetual contract on Binance, 29 days of September 2026, with 15-minute bars built from the archived trades. Click the image to enlarge it.
Fifteen-minute bars in the Bar-Band view: each bar with the shaded band around it.
The same bars, and beneath them two panels: the volume of each bar and the delta candles (Δ candles).
Price as a line, and beneath it the cumulative delta drawn as bars (Cum Δ bars).
Approach
First we record the market completely and correctly, then we rebuild it, and we train and measure the algorithm inside a reconstruction of that same market. The work proceeds in three stages:
-
From the market to the archive
An automated line receives, compresses, verifies and stores the spot and futures data of all 16 exchanges, day by day. The result is a uniform archive in which every file has been measured against the source. This stage is built and runs around the clock.
-
From the archive to the full picture of the market
Our platform rebuilds each day of the market exactly as it happened and shows it on a chart. Its trades part is built and tested. Rebuilding the order book, the list of waiting orders at each moment, will be the next step.
-
From the picture of the market to the algorithm and tested execution
With machine learning and statistical analysis, the market-making algorithm will learn from this same data where to place an order, which trade to avoid and when to step aside. It will be tested in an execution simulator that rebuilds the behaviour of the exchange itself. The yardstick will be the net financial result after every cost.
Alongside market making, short-term trading: a second algorithm that goes along with short price moves will be built on this same infrastructure and this same simulator. Both lean on one piece of knowledge: telling which move will carry on. The market maker uses it to step aside, and the short-term trader uses it to enter.
What stands out
-
A line that works without a supervisor.
Gathering tens of terabytes from 16 sources, if it depends on human care, stops at the first outage in the night. Our line recovers by itself from network outages, source errors and a full disk, and sets aside only what will not fix itself. That behaviour has been tested against more than 50 failure scenarios.
-
Data whose correctness has been proven.
An algorithm trained on incomplete data learns the data's errors instead of the market's patterns. Each of our files is compared with the source by three independent measures before it is stored; in a one-month sample, 376 million trades from 126 markets were rebuilt and showed no difference from the source. Wherever the source itself has a gap, it is recorded by name and followed up, and does not stay hidden.
-
Less than half the size, without losing a digit.
Keeping and moving tens of terabytes has a continuous cost. Our storage format holds the same data in less than half the source's compressed size, and the original file comes back from it byte for byte. The cost of storage and the time of transfer fall in the same proportion.
-
The picture of the whole market, not one exchange and not one coin.
Price is not made on one exchange, and a market maker who sees only their own exchange understands a move when it has already reached them. We hold all 16 exchanges side by side in one format and on one clock. The algorithm can learn from the relationship between markets, not from just one.
-
A reconstruction that does not know the future.
Many tests unintentionally use information that had not yet arrived at that moment. Two times are recorded for each trade: the moment it happened on the exchange and the moment the news of it arrived. At each moment the platform shows only what could be seen that day, and its output is the same with any number of processors.
-
A simulation whose result still holds in execution.
Many strategies are profitable on paper and not in practice, because their test assumes an order fills at once at the quoted price. In our simulator an order will reach the exchange with a delay, take its turn in the queue, and fill in part or stay at the back of the queue. The algorithm will be tested across a range of speeds and fees, so that before any financial commitment it is clear under which conditions the plan is justified.
The road ahead
-
Done
The automated collection line, the storage format, the data-download panel and the trades part of the platform are built and tested on real data.
-
Now
Today the collection line is taking the cryptocurrencies one after another, and we are building the next parts of the platform.
-
Next
After that come rebuilding the order book, the execution simulator, and building and testing the market-making algorithm and then the short-term trading algorithm.
-
Final step
The final step is connecting to live data, a trial period with limited capital, and market making with real capital on a server next to the exchange's engine.
Technology
The collection line, the storage format and the platform's core are written in Rust, and the chart in C#. Processing is parallel: one month's 376 million trades are built and self-checked in under three minutes. No version is released except after one complete, error-free run from start to finish.