109 lines
3.2 KiB
YAML
109 lines
3.2 KiB
YAML
# MEV Bot Configuration
|
|
|
|
# Arbitrum node configuration
|
|
arbitrum:
|
|
# RPC endpoint for Arbitrum node
|
|
rpc_endpoint: "${ARBITRUM_RPC_ENDPOINT}"
|
|
# WebSocket endpoint for Arbitrum node (optional)
|
|
ws_endpoint: "${ARBITRUM_WS_ENDPOINT}"
|
|
# Chain ID for Arbitrum (42161 for mainnet)
|
|
chain_id: 42161
|
|
# Rate limiting configuration for RPC endpoint (reduced to avoid limits)
|
|
rate_limit:
|
|
# Maximum requests per second (reduced to avoid rate limits)
|
|
requests_per_second: 5
|
|
# Maximum concurrent requests
|
|
max_concurrent: 3
|
|
# Burst size for rate limiting
|
|
burst: 10
|
|
# Fallback RPC endpoints
|
|
fallback_endpoints:
|
|
- url: "${ARBITRUM_INFURA_ENDPOINT}"
|
|
rate_limit:
|
|
requests_per_second: 3
|
|
max_concurrent: 2
|
|
burst: 5
|
|
- url: "https://arbitrum-rpc.publicnode.com"
|
|
rate_limit:
|
|
requests_per_second: 4
|
|
max_concurrent: 2
|
|
burst: 8
|
|
|
|
# Bot configuration
|
|
bot:
|
|
# Enable or disable the bot
|
|
enabled: true
|
|
# Polling interval in seconds (increased to reduce load)
|
|
polling_interval: 3
|
|
# Minimum profit threshold in USD
|
|
min_profit_threshold: 10.0
|
|
# Gas price multiplier (for faster transactions)
|
|
gas_price_multiplier: 1.2
|
|
# Maximum number of concurrent workers for processing (reduced to avoid rate limits)
|
|
max_workers: 3
|
|
# Buffer size for channels
|
|
channel_buffer_size: 50
|
|
# Timeout for RPC calls in seconds
|
|
rpc_timeout: 30
|
|
|
|
# Uniswap configuration
|
|
uniswap:
|
|
# Factory contract address
|
|
factory_address: "0x1F98431c8aD98523631AE4a59f267346ea31F984"
|
|
# Position manager contract address
|
|
position_manager_address: "0xC36442b4a4522E871399CD717aBDD847Ab11FE88"
|
|
# Supported fee tiers
|
|
fee_tiers:
|
|
- 500 # 0.05%
|
|
- 3000 # 0.3%
|
|
- 10000 # 1%
|
|
# Cache configuration for pool data
|
|
cache:
|
|
# Enable or disable caching
|
|
enabled: true
|
|
# Cache expiration time in seconds
|
|
expiration: 300
|
|
# Maximum cache size
|
|
max_size: 10000
|
|
|
|
# Logging configuration
|
|
log:
|
|
# Log level (debug, info, warn, error)
|
|
level: "debug"
|
|
# Log format (json, text)
|
|
format: "text"
|
|
# Log file path (empty for stdout)
|
|
file: "logs/mev-bot.log"
|
|
|
|
# Database configuration
|
|
database:
|
|
# Database file path
|
|
file: "mev-bot.db"
|
|
# Maximum number of open connections
|
|
max_open_connections: 10
|
|
# Maximum number of idle connections
|
|
max_idle_connections: 5
|
|
|
|
# Ethereum configuration
|
|
ethereum:
|
|
# Private key for transaction signing (DO NOT COMMIT TO VERSION CONTROL)
|
|
private_key: "${ETHEREUM_PRIVATE_KEY}"
|
|
# Account address
|
|
account_address: "${ETHEREUM_ACCOUNT_ADDRESS}"
|
|
# Gas price multiplier (for faster transactions)
|
|
gas_price_multiplier: 1.2
|
|
|
|
# Smart contract addresses
|
|
contracts:
|
|
# Arbitrage executor contract address
|
|
arbitrage_executor: "0xYOUR_ARBITRAGE_EXECUTOR_CONTRACT_ADDRESS_HERE"
|
|
# Flash swapper contract address
|
|
flash_swapper: "0xYOUR_FLASH_SWAPPER_CONTRACT_ADDRESS_HERE"
|
|
# Authorized caller addresses
|
|
authorized_callers:
|
|
- "${ETHEREUM_ACCOUNT_ADDRESS}"
|
|
# Authorized DEX addresses
|
|
authorized_dexes:
|
|
- "0x1F98431c8aD98523631AE4a59f267346ea31F984" # Uniswap V3
|
|
- "0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9" # Uniswap V2
|
|
- "0xc35DADB65012eC5796536bD9864eD8773aBc74C4" # SushiSwap |