https://github.com/rupeshrb/cross-venue-arbitrage-feed
A high-performance backend system written in modern C++17 for detecting cryptocurrency arbitrage across Binance, Bybit, and OKX. Uses WebSockets, lock-free queues, SIMD optimization, and multithreading to process orderbook data and publish arbitrage opportunities with ultra-low latency.
https://github.com/rupeshrb/cross-venue-arbitrage-feed
Last synced: 8 months ago
JSON representation
A high-performance backend system written in modern C++17 for detecting cryptocurrency arbitrage across Binance, Bybit, and OKX. Uses WebSockets, lock-free queues, SIMD optimization, and multithreading to process orderbook data and publish arbitrage opportunities with ultra-low latency.
- Host: GitHub
- URL: https://github.com/rupeshrb/cross-venue-arbitrage-feed
- Owner: rupeshrb
- Created: 2025-07-06T13:18:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-06T13:22:48.000Z (about 1 year ago)
- Last Synced: 2025-07-06T14:28:12.938Z (about 1 year ago)
- Language: C++
- Size: 1.12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🚀 Cross-Venue Arbitrage Feed - GoQuant Assignment
## 📌 Overview
A high-performance backend system in modern C++17 that detects real-time spot arbitrage opportunities across multiple cryptocurrency exchanges (Binance, OKX, Bybit). Built with Boost.Beast, multithreading, and SIMD-optimized processing.
## 🎯 Objective
- Ingest L2 orderbook data via WebSocket
- Process real-time bid/ask prices from each exchange
- Detect arbitrage within 10ms latency
- Stream opportunities via WebSocket & expose monitoring API
## ⚙️ Tech Stack
- Language: C++17
- Libraries: Boost.Beast, Boost.ASIO, nlohmann/json
- Concurrency: `std::thread`, `std::mutex`, `boost::lockfree::queue`
- Optimization: SIMD (``), custom memory handling
## 🔧 How to Build
### Prerequisites
- C++17 compiler (tested on `g++ 13+`)
- OpenSSL
- Boost 1.76+
### Build Instructions
```bash
g++ -std=c++17 -o arbitrage_engine src/main.cpp -lssl -lcrypto -lws2_32 -lwsock32
./arbitrage_engine