Skip to content

moseslua/flux-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flux-engine

Multi-chain, event-driven crypto trading library in Rust. Supports BTC, SOL, BNB across Binance and Solana venues.

[dependencies]
flux-engine = "0.1"

Features

  • 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 Strategy for any algo. Comes with SpreadHunter and MeanReversion
  • Cross-venue arbitrage — ArbitrageOpportunity struct for cross-market spread detection

Quick Start

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]

CLI

cargo build --release
cargo run --bin flux -- book SOLUSDT   # View order book
cargo test                            # Run tests
cargo bench                           # Run benchmarks

Architecture

src/
├── 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

Status

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

Benchmark Targets

orderbook_insert   10k orders  → <10ms
orderbook_cancel   1k cancels  → <5ms
spread_query       1k levels   → <1µs
top_n              1k levels   → <5µs

Roadmap

  • 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

License

MIT

About

Multi-chain, event-driven crypto trading library in Rust. Supports BTC, SOL, BNB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages