Files
mev-beta/docs/architecture.md
2025-09-12 01:16:30 -05:00

1.7 KiB

MEV Bot Architecture

This document describes the high-level architecture of the MEV bot.

Components

1. Arbitrum Monitor

Responsible for monitoring the Arbitrum sequencer for new blocks and transactions.

Key responsibilities:

  • Connect to Arbitrum RPC endpoint
  • Monitor new blocks as they are added
  • Identify potential swap transactions
  • Extract transaction details

2. Market Scanner

Analyzes potential swap transactions to determine if they create arbitrage opportunities.

Key responsibilities:

  • Calculate price impact of swaps
  • Scan for arbitrage opportunities across pools
  • Estimate profitability after gas costs
  • Filter opportunities based on configured thresholds

3. Uniswap Pricing

Handles all Uniswap V3 pricing calculations.

Key responsibilities:

  • Convert between sqrtPriceX96 and ticks
  • Calculate price impact of swaps
  • Work with liquidity values
  • Implement Uniswap V3 mathematical formulas

4. Transaction Executor

Responsible for executing profitable arbitrage transactions.

Key responsibilities:

  • Construct arbitrage transactions
  • Optimize gas usage
  • Submit transactions to flashbots or similar services
  • Handle transaction confirmation and errors

Data Flow

  1. Arbitrum Monitor detects new blocks and transactions
  2. Potential swap transactions are sent to Market Scanner
  3. Market Scanner analyzes swaps and identifies opportunities
  4. Profitable opportunities are sent to Transaction Executor
  5. Transaction Executor constructs and submits arbitrage transactions

Configuration

The bot is configured through config/config.yaml which allows customization of:

  • Arbitrum RPC endpoints
  • Polling intervals
  • Profit thresholds
  • Gas price multipliers
  • Logging settings