Files
mev-beta/.env.production.template
2025-10-04 09:31:02 -05:00

178 lines
7.9 KiB
Plaintext

# Production Environment Configuration for MEV Bot
# WARNING: This file contains sensitive information - NEVER commit to version control!
# =============================================================================
# MULTI-RPC ENDPOINT CONFIGURATION FOR PRODUCTION
# =============================================================================
# Reading endpoints (WSS preferred for real-time data monitoring)
# Format: Comma-separated list of WebSocket endpoints optimized for event monitoring
# The system will automatically prioritize by order (first = highest priority)
ARBITRUM_READING_ENDPOINTS="wss://arbitrum-mainnet.core.chainstack.com/YOUR_API_KEY_1,wss://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY_2,wss://arbitrum-mainnet.infura.io/ws/v3/YOUR_PROJECT_ID"
# Execution endpoints (HTTP/HTTPS preferred for transaction reliability)
# Format: Comma-separated list of RPC endpoints optimized for transaction submission
# The system will automatically handle failover and load balancing
ARBITRUM_EXECUTION_ENDPOINTS="https://arbitrum-mainnet.core.chainstack.com/YOUR_API_KEY_1,https://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY_2,https://arbitrum-mainnet.infura.io/v3/YOUR_PROJECT_ID"
# =============================================================================
# LEGACY CONFIGURATION (backward compatibility)
# =============================================================================
# Legacy single RPC endpoint (used if multi-endpoint config is not available)
ARBITRUM_RPC_ENDPOINT=wss://arbitrum-mainnet.core.chainstack.com/YOUR_API_KEY_HERE
# Legacy single WebSocket endpoint
ARBITRUM_WS_ENDPOINT=wss://arbitrum-mainnet.core.chainstack.com/YOUR_API_KEY_HERE
# Fallback RPC endpoints (used if reading/execution endpoints not specified)
ARBITRUM_FALLBACK_ENDPOINTS=https://arb1.arbitrum.io/rpc,https://arbitrum.llamarpc.com,https://arbitrum-one.publicnode.com,https://arbitrum-one.public.blastapi.io
# =============================================================================
# RATE LIMITING CONFIGURATION
# =============================================================================
# Global rate limiting settings (applied across all endpoints)
RPC_REQUESTS_PER_SECOND=200
RPC_MAX_CONCURRENT=20
# Per-endpoint rate limiting is automatically configured:
# - WebSocket endpoints: 300 RPS, 25 concurrent connections, 60s timeout
# - HTTP endpoints: 200 RPS, 20 concurrent connections, 30s timeout
# - Health checks: 30s interval for WSS, 60s for HTTP
# =============================================================================
# BOT CONFIGURATION FOR PRODUCTION
# =============================================================================
# Performance settings (higher than staging for production)
BOT_MAX_WORKERS=10
BOT_CHANNEL_BUFFER_SIZE=2000
# =============================================================================
# ETHEREUM ACCOUNT CONFIGURATION FOR PRODUCTION
# =============================================================================
# CRITICAL: Your production trading account private key (64 hex characters without 0x)
# Generate a new key specifically for production trading and fund it appropriately
# NEVER USE YOUR MAIN WALLET - USE A DEDICATED TRADING ACCOUNT
ETHEREUM_PRIVATE_KEY=your_64_character_production_private_key_here
# Account address (derived from private key)
ETHEREUM_ACCOUNT_ADDRESS=0xYOUR_PRODUCTION_ACCOUNT_ADDRESS_HERE
# Gas price multiplier for competitive transactions (higher than staging for faster execution)
ETHEREUM_GAS_PRICE_MULTIPLIER=2.0
# =============================================================================
# REAL DEPLOYED CONTRACT ADDRESSES ON ARBITRUM MAINNET FOR PRODUCTION
# =============================================================================
# PRODUCTION READY - ArbitrageExecutor contract (VERIFIED)
CONTRACT_ARBITRAGE_EXECUTOR=0xEC2A16d5F8Ac850D08C4C7F67EFD50051E7cFC0b
# PRODUCTION READY - UniswapV3FlashSwapper contract (VERIFIED)
CONTRACT_FLASH_SWAPPER=0x5801EE5C2f6069E0F11CcE7c0f27C2ef88e79a95
# Additional deployed contracts for production
CONTRACT_UNISWAP_V2_FLASH_SWAPPER=0xc0b8c3e9a976ec67d182d7cb0283fb4496692593
CONTRACT_DATA_FETCHER=0x3c2c9c86f081b9dac1f0bf97981cfbe96436b89d
# =============================================================================
# SECURITY CONFIGURATION FOR PRODUCTION
# =============================================================================
# Encryption key for secure storage (generate with: openssl rand -base64 32)
# KEEP THIS SECRET AND BACK IT UP SECURELY
MEV_BOT_ENCRYPTION_KEY="YOUR_32_CHARACTER_ENCRYPTION_KEY_HERE"
# =============================================================================
# DATABASE CONFIGURATION FOR PRODUCTION
# =============================================================================
# PostgreSQL configuration for production
POSTGRES_DB=mevbot_production
POSTGRES_USER=mevbot_production
POSTGRES_PASSWORD=your_secure_production_database_password
# =============================================================================
# MONITORING CONFIGURATION FOR PRODUCTION
# =============================================================================
# Metrics and logging for production
METRICS_ENABLED=true
METRICS_PORT=9090
HEALTH_PORT=8080
LOG_LEVEL=info
LOG_FORMAT=json
# Grafana credentials for production
GRAFANA_USER=admin
GRAFANA_PASSWORD=your_secure_production_grafana_password
# Prometheus port for production
PROMETHEUS_PORT=9091
GRAFANA_PORT=3000
# =============================================================================
# PRODUCTION SETTINGS
# =============================================================================
# Environment
GO_ENV=production
DEBUG=false
# Resource limits and timeouts for production
MAX_MEMORY=2G
MAX_CPU=4000m
# =============================================================================
# EXAMPLE PREMIUM RPC PROVIDERS FOR PRODUCTION
# =============================================================================
# Chainstack (Recommended for production)
# ARBITRUM_RPC_ENDPOINT=wss://arbitrum-mainnet.core.chainstack.com/YOUR_API_KEY
# Alchemy (Enterprise tier recommended for production)
# ARBITRUM_RPC_ENDPOINT=wss://arb-mainnet.g.alchemy.com/v2/YOUR_API_KEY
# Infura (Premium tier recommended for production)
# ARBITRUM_RPC_ENDPOINT=wss://arbitrum-mainnet.infura.io/ws/v3/YOUR_PROJECT_ID
# QuickNode (Business tier recommended for production)
# ARBITRUM_RPC_ENDPOINT=wss://YOUR_ENDPOINT.arbitrum-mainnet.quiknode.pro/YOUR_TOKEN/
# =============================================================================
# SECURITY BEST PRACTICES FOR PRODUCTION
# =============================================================================
# 1. Use a dedicated server/VPS for production deployment
# 2. Enable firewall and limit access to necessary ports only
# 3. Use premium RPC providers for better reliability and speed
# 4. Monitor all transactions and profits closely
# 5. Start with small position sizes to test everything works
# 6. Set up alerts for unusual activity or losses
# 7. Keep private keys encrypted and backed up securely
# 8. Use separate accounts for testing and production
# 9. Regularly update and patch the system
# 10. Monitor gas prices and adjust strategies accordingly
# =============================================================================
# PRODUCTION DEPLOYMENT CHECKLIST
# =============================================================================
# ☐ Set up dedicated server/VPS
# ☐ Configure firewall and security groups
# ☐ Install Docker and docker-compose
# ☐ Generate production private key and fund account
# ☐ Deploy smart contracts to Arbitrum mainnet
# ☐ Configure premium RPC provider
# ☐ Set up monitoring and alerting
# ☐ Test deployment with dry-run mode
# ☐ Start with small position sizes
# ☐ Monitor closely during first week
# ☐ Set up automated backups
# ☐ Configure log rotation
# ☐ Set up system monitoring (CPU, memory, disk)
# ☐ Set up profit tracking and reporting
# ☐ Set up emergency stop procedures