A sophisticated Rust based arbitrage and marjet making system that monitors decentralized exhange (DEX) pools and centralized exchange (CEX) price feeds to identify tradin opportunities on Base Network.
The system is based on an even driven architecture.
sikkara-adapters: Exchange adapters for CEX (Coinbase WebSocket) and DEX (Uniswap V4) integrationsikkara-bot: Main bot logicsikkara-core: Shared utilities, engine framework, and common typessikkara-wsclient: WebSocket client infrastructure with reconnection and heartbeat
- Real-time CEX Data: WebSocket connection to Coinbase Pro for live ETH/USDC pricing
- On-chain DEX Data: Direct integration with Uniswap V4 pool contracts on Base
- High-precision Calculations: Uses 512-bit decimal arithmetic for financial accuracy
- Cross-venue Price Comparison: Identifies price discrepancies between CEX and DEX
- Configurable Thresholds: Set minimum profit percentages and absolute amounts
- Directional Analysis: Determines optimal buy/sell venue combinations
- Fair Value Reference: Uses CEX prices as baseline for range calculations
- Dynamic Spread Management: Adjusts spreads based on market volatility and conditions
- Rust 1.70+ with Cargo
- Access to Base network RPC endpoint
- Coinbase Pro WebSocket access
# Install Cargo Maker For Easy
cargo install cargo-make
# Build the project
cargo make build-release
# Run tests
cargo test# Start the bot
cargo run --bin sikarra-bot
# Enable debug logging
RUST_LOG=debug cargo run --bin sikarra-bot- A default configuration is provided in
configfolder. - It subscribes to
ETH-USDCtrading pair. - Please note that events from CEX and DEX are only logged in debug mode. So if interested in seeing those events please turn on the DEBUG logs, as shown above
