# MEV Bot Production Configuration for Arbitrum One # Generated based on verified contract addresses as of September 2024 # Top 20 Arbitrum One Tokens by Market Cap and Trading Volume tokens: # Major Stablecoins and Base Assets weth: symbol: "WETH" name: "Wrapped Ether" address: "0x82af49447d8a07e3bd95bd0d56f35241523fbab1" decimals: 18 coingecko_id: "weth" is_base_token: true usdc: symbol: "USDC" name: "USD Coin (Native)" address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" decimals: 6 coingecko_id: "usd-coin" is_stable: true usdc_e: symbol: "USDC.e" name: "USD Coin (Bridged)" address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" decimals: 6 coingecko_id: "usd-coin-ethereum-bridged" is_stable: true usdt: symbol: "USDT" name: "Tether USD" address: "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9" decimals: 6 coingecko_id: "tether" is_stable: true # Native and Governance Tokens arb: symbol: "ARB" name: "Arbitrum" address: "0x912ce59144191c1204e64559fe8253a0e49e6548" decimals: 18 coingecko_id: "arbitrum" is_governance: true # DeFi Blue Chips gmx: symbol: "GMX" name: "GMX" address: "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a" decimals: 18 coingecko_id: "gmx" category: "derivatives" pendle: symbol: "PENDLE" name: "Pendle" address: "0x0c880f6761f1af8d9aa9c466984b80dab9a8c9e8" decimals: 18 coingecko_id: "pendle" category: "yield" # Additional High Volume Tokens wbtc: symbol: "WBTC" name: "Wrapped Bitcoin" address: "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f" decimals: 8 coingecko_id: "wrapped-bitcoin" link: symbol: "LINK" name: "Chainlink" address: "0xf97f4df75117a78c1a5a0dbb814af92458539fb4" decimals: 18 coingecko_id: "chainlink" uni: symbol: "UNI" name: "Uniswap" address: "0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0" decimals: 18 coingecko_id: "uniswap" aave: symbol: "AAVE" name: "Aave" address: "0xba5ddd1f9d7f570dc94a51479a000e3bce967196" decimals: 18 coingecko_id: "aave" crv: symbol: "CRV" name: "Curve DAO Token" address: "0x11cdb42b0eb46d95f990bedd4695a6e3fa034978" decimals: 18 coingecko_id: "curve-dao-token" bal: symbol: "BAL" name: "Balancer" address: "0x040d1edc9569d4bab2d15287dc5a4f10f56a56b8" decimals: 18 coingecko_id: "balancer" comp: symbol: "COMP" name: "Compound" address: "0x354a6da3fcde098f8389cad84b0182725c6c91de" decimals: 18 coingecko_id: "compound-governance-token" mkr: symbol: "MKR" name: "Maker" address: "0x2e9a6df78e42c50b0cefcf9000d0c3a4d34e1dd5" decimals: 18 coingecko_id: "maker" # Arbitrum Ecosystem Tokens magic: symbol: "MAGIC" name: "MAGIC" address: "0x539bde0d7dbd336b79148aa742883198bbf60342" decimals: 18 coingecko_id: "magic" category: "gaming" grail: symbol: "GRAIL" name: "Camelot Token" address: "0x3d9907f9a368ad0a51be60f7da3b97cf940982d8" decimals: 18 coingecko_id: "camelot-token" dpx: symbol: "DPX" name: "Dopex" address: "0x6c2c06790b3e3e3c38e12ee22f8183b37a13ee55" decimals: 18 coingecko_id: "dopex" category: "options" rdnt: symbol: "RDNT" name: "Radiant Capital" address: "0x3082cc23568ea640225c2467653db90e9250aaa0" decimals: 18 coingecko_id: "radiant-capital" ram: symbol: "RAM" name: "Ramses" address: "0xaaa6c1e32c55a7bfa8066a6fae9b42650f262418" decimals: 18 coingecko_id: "ramses-exchange" # DEX Factory and Router Addresses - Verified for Arbitrum One dex_protocols: uniswap_v3: name: "Uniswap V3" factory: "0x1F98431c8aD98523631AE4a59f267346ea31F984" router: "0xE592427A0AEce92De3Edee1F18E0157C05861564" router_v2: "0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" universal_router: "0x4c60051384bd2d3c01bfc845cf5f4b44bcbe9de5" position_manager: "0xC36442b4a4522E871399CD717aBDD847Ab11FE88" quoter: "0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6" quoter_v2: "0x61fFE014bA17989E743c5F6cB21bF9697530B21e" fee_tiers: [100, 500, 3000, 10000] init_code_hash: "0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54" uniswap_v2: name: "Uniswap V2" factory: "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f" router: "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" fee_percent: 0.3 init_code_hash: "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f" camelot: name: "Camelot DEX" factory: "0x6EcCab422D763aC031210895C81787E87B43A652" router: "0xc873fEcbd354f5A56E00E710B90EF4201db2448d" fee_percent: 0.2 supports_custom_fees: true balancer_v2: name: "Balancer V2" vault: "0xba12222222228d8ba445958a75a0704d566bf2c8" # Note: Balancer uses vault-based architecture, not traditional factory/router curve: name: "Curve Finance" address_provider: "0x5ffe7FB82894076ECB99A30D6A32e969e6e35E98" # Registry addresses retrieved via address_provider.get_address(id) registry_ids: stableswap_registry: 0 pool_info: 1 exchange_router: 2 metapool_factory: 3 fee_distributor: 4 crypto_registry: 5 twocrypto_factory: 6 metaregistry: 7 crvusd_factory: 8 tricrypto_ng_factory: 11 stableswap_ng_factory: 12 twocrypto_ng_factory: 13 kyber_elastic: name: "KyberSwap Elastic" factory: "0x5F1dddbf348aC2fbe22a163e30F99F9ECE3DD50a" router: "0xC1e7dFE73E1598E3910EF4C7845B68A9Ab6F4c83" position_manager: "0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8" quoter_v2: "0x0D125c15D54cA1F8a813C74A81aEe34ebB508C1f" tick_fees_reader: "0x165c68077ac06c83800d19200e6E2B08D02dE75D" ramses: name: "Ramses Exchange" router: "0xAAA87963EFeB6f7E0a2711F397663105Acb1805e" position_manager: "0xAA277CB7914b7e5514946Da92cb9De332Ce610EF" # Factory address to be retrieved from router or documentation fee_tiers: [100, 500, 3000, 10000] sushiswap: name: "SushiSwap" factory: "0xc35DADB65012eC5796536bD9864eD8773aBc74C4" router: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506" fee_percent: 0.3 init_code_hash: "0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303" # REAL DEPLOYED MEV BOT CONTRACT ADDRESSES ON ARBITRUM MAINNET # Deployed from Mev-Alpha project - PRODUCTION READY contracts: # Core arbitrage execution contract - DEPLOYED AND VERIFIED arbitrage_executor: "0xec2a16d5f8ac850d08c4c7f67efd50051e7cfc0b" # Flash swap contracts - DEPLOYED AND AUTHORIZED uniswap_v3_flash_swapper: "0x5801ee5c2f6069e0f11cce7c0f27c2ef88e79a95" uniswap_v2_flash_swapper: "0xc0b8c3e9a976ec67d182d7cb0283fb4496692593" # Data fetcher for market analysis - DEPLOYED data_fetcher: "0x3c2c9c86f081b9dac850d08c4c7f67efd50051e7cfc0b" # Legacy field mappings for backward compatibility flash_swapper: "0x5801ee5c2f6069e0f11cce7c0f27c2ef88e79a95" # Points to V3 swapper # Arbitrage Service Configuration arbitrage: enabled: true arbitrage_contract_address: "0xec2a16d5f8ac850d08c4c7f67efd50051e7cfc0b" flash_swap_contract_address: "0x5801ee5c2f6069e0f11cce7c0f27c2ef88e79a95" stats_update_interval: "10s" max_concurrent_executions: 3 # Detection thresholds min_profit_wei: 2000000000000000 # ~$4 minimum profit (0.002 ETH at $2000/ETH) min_roi_percent: 2.0 # Minimum 2% ROI to execute min_significant_swap_size: 50000000000000000 # 0.05 ETH minimum swap size to trigger analysis slippage_tolerance: 0.003 # 0.3% max slippage # Scanning parameters min_scan_amount_wei: 100000000000000000 # 0.1 ETH minimum scan amount max_scan_amount_wei: 1000000000000000000 # 1 ETH maximum scan amount max_gas_price_wei: 100000000 # 0.1 gwei max gas price (Arbitrum typical) # Processing limits max_opportunities_per_event: 5 # Max opportunities to process per swap event # Timing constraints opportunity_ttl: "30s" # Opportunities expire after 30 seconds max_path_age: "60s" # Max age for cached arbitrage paths # PRODUCTION Arbitrage Strategy Configuration - ARBITRUM FOCUSED arbitrage_config: min_profit_threshold: "0.01" # 0.01 ETH minimum profit (lower due to cheap Arbitrum gas) max_gas_price: "0.2" # 0.2 gwei max (appropriate for Arbitrum) max_slippage: "0.3" # 0.3% max slippage (tight for profitability) # MEV Competition Settings priority_fee_multiplier: 15 # 15x base gas for competitive advantage max_position_size: "10.0" # Max 10 ETH per arbitrage (risk management) # Profitability Requirements min_roi_percent: 5.0 # Minimum 5% ROI to execute gas_cost_multiplier: 5 # Require 5x gas cost as minimum profit # Priority token pairs for arbitrage priority_pairs: - ["WETH", "USDC"] - ["WETH", "USDT"] - ["USDC", "USDT"] - ["WETH", "ARB"] - ["WETH", "GMX"] - ["ARB", "USDC"] # Flash swap preferences flash_swap_providers: - protocol: "uniswap_v3" priority: 1 fee_tier: 500 - protocol: "camelot" priority: 2 - protocol: "uniswap_v2" priority: 3 # Risk Management risk_management: max_position_size: "10.0" # Max position size in ETH circuit_breaker_threshold: 5 # Stop after 5 consecutive failures cooldown_period: 300 # 5 minutes cooldown after circuit breaker # Arbitrum Network Configuration with Fallback Support arbitrum: # Primary RPC endpoint (can be overridden by ARBITRUM_RPC_ENDPOINT env var) rpc_endpoint: "${ARBITRUM_RPC_ENDPOINT:-wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870}" # WebSocket endpoint (can be overridden by ARBITRUM_WS_ENDPOINT env var) ws_endpoint: "${ARBITRUM_WS_ENDPOINT:-wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870}" chain_id: 42161 rate_limit: requests_per_second: 100 max_concurrent: 10 burst: 20 # Fallback RPC endpoints for reliability (can be overridden by ARBITRUM_FALLBACK_ENDPOINTS env var) fallback_endpoints: - url: "https://arb1.arbitrum.io/rpc" rate_limit: requests_per_second: 50 max_concurrent: 5 burst: 10 - url: "https://arbitrum-mainnet.infura.io/v3/demo" rate_limit: requests_per_second: 30 max_concurrent: 3 burst: 6 - url: "https://arbitrum.llamarpc.com" rate_limit: requests_per_second: 40 max_concurrent: 4 burst: 8 - url: "https://arbitrum-one.publicnode.com" rate_limit: requests_per_second: 60 max_concurrent: 6 burst: 12 - url: "https://arbitrum-one.public.blastapi.io" rate_limit: requests_per_second: 35 max_concurrent: 4 burst: 7 # Legacy Network Configuration (for backward compatibility) network: chain_id: 42161 name: "Arbitrum One" rpc_endpoints: - "https://arb1.arbitrum.io/rpc" - "https://arbitrum.llamarpc.com" - "https://arbitrum-one.public.blastapi.io" ws_endpoints: - "wss://arb1.arbitrum.io/ws" # Gas Configuration for Arbitrum gas: base_gas_price: 0.01 # Base gas price in gwei (Arbitrum typical) priority_fee: 0.005 # Priority fee in gwei (very low on Arbitrum) gas_multiplier: 1.1 # Multiplier for urgent transactions max_gas_limit: 1000000 # Maximum gas limit per transaction (higher for complex arbitrage) # Monitoring and Alerting monitoring: profit_alerts_threshold: "0.1" # Alert for profits above 0.1 ETH loss_alerts_threshold: "0.05" # Alert for losses above 0.05 ETH health_check_interval: 30 # Health check every 30 seconds # Database Configuration database: type: "sqlite" connection_string: "file:./data/mev_bot.db" max_connections: 10 # Logging Configuration logging: level: "info" format: "json" file: "./logs/mev_bot.log" max_size: 100 # MB max_backups: 5 max_age: 30 # days # Security Configuration security: require_signature_verification: true max_transaction_value: "100.0" # Max transaction value in ETH whitelist_only: false emergency_stop_enabled: true