Multi-chain, event-driven crypto trading library in Rust. Supports BTC, SOL, BNB across Binance and Solana venues.
[dependencies]
flux-engine = "0.1"- Price-time priority limit order book — O(log n) insert/cancel via nested BTreeMaps. Targets 1M+ orders/sec
- Multi-chain support — Binance (BNB Chain), Solana, Bitcoin
- Binance REST + WebSocket — Live trades, depth updates, klines, 24h ticker
- Event-driven backtester — Replay any market event stream against a strategy
- Strategy trait — Implement
Strategyfor any algo. Comes with SpreadHunter and MeanReversion - Cross-venue arbitrage — ArbitrageOpportunity struct for cross-market spread detection
use flux_engine::{OrderBook, Market, Side, Price, Order, OrderId};
let mut book = OrderBook::new(Market::SOLUSDT);
// Insert a limit bid
let id = OrderId::new(1);
let order = Order::new_limit(id, Market::SOLUSDT, Side::Bid, Price::from_f64(150.0), 1.0);
book.insert_limit(order);
println!("{}", book.top_n(5));
// SOL/USDT seq=1 1 orders
// ASKS (1 levels)
// 150.0000 1.0000 [1 orders]
// === spread: none ===
// BIDS (1 levels)
// 150.0000 1.0000 [1 orders]cargo build --release
cargo run --bin flux -- book SOLUSDT # View order book
cargo test # Run tests
cargo bench # Run benchmarkssrc/
├── lib.rs # Public API
├── types.rs # Chain, Market, Price, Order, OrderId
├── orderbook.rs # Price-time priority LOB (BTreeMap-based)
├── events.rs # MarketEvent, TradeEvent, PnL, MempoolTxn
├── strategy.rs # Strategy trait + SpreadHunter + MeanReversion
├── backtester.rs # Event-driven backtest engine
└── venues/
├── mod.rs
├── binance.rs # Binance REST + WebSocket
└── solana.rs # Solana RPC + mempool
| Component | Status |
|---|---|
OrderBook |
✅ Complete |
types.rs |
✅ Complete |
events.rs |
✅ Complete |
strategy.rs |
✅ Complete |
backtester.rs |
✅ Complete |
venues/binance.rs |
✅ REST + WebSocket |
venues/solana.rs |
🔜 Next |
| Benchmarks | ✅ Written |
| Tests | ✅ 14 tests passing |
| crates.io publish | 🔜 Pending |
orderbook_insert 10k orders → <10ms
orderbook_cancel 1k cancels → <5ms
spread_query 1k levels → <1µs
top_n 1k levels → <5µs
- Core OrderBook with price-time priority
- Strategy trait + SpreadHunter, MeanReversion
- PnL tracker + BacktestReport
- Binance REST client (ticker, depth, trades, klines)
- Binance WebSocket venue (trade + depth streams)
- Solana RPC venue + Jito mempool
- Cross-venue arb scanner
- CSV/JSON market data loader
- Criterion benchmarks (real hardware)
- Publish to crates.io
MIT