Leveraging Rust for crypto market-making
Rusty Crypto is intended to be a crypto market-making bot. It parses order book and market trades data for many cryptocurrencies (a.k.a. instruments) across multiple exchanges using websockets. The goal is to take advantage of situations where lower-price trades are possible on one exchange for a given instrument and higher-price trades are possible on another exchange for the same instrument. That said, trades are intended to be executed in pairs.
- OKX
- Crypto.Com
- Coinbase
At the moment, data is streamed for instruments if they appear in at least two exchanges.
If a websocket connection is disrupted, the bot will immediately attempt to reconnect. After the connection is restored, the bot will reset order book records for the affected instruments. Market trades will not be reset but are always subjected to a time-alive filter. Trades that become outdated are removed.
Rusty Crypto currently contains two core components: a data client manager and a data analyzer.
The role of the data client manager is to manage websocket connections that stream market data from the exchanges. Notably, more than one websocket connection can be necessary for a given exchange.
The role of the data analyzer is to aggregate market data from the data client manager, keep it up to date, and perform real-time analysis to inform trading decisions.
