Critical fixes applied to resolve 94.4% error rate from RPC rate limiting: **Configuration Fixes:** - .env.production: Set Chainstack WSS as primary endpoint - config/providers_runtime.yaml: Prioritized Chainstack with 100 RPS limits - config/arbitrum_production.yaml: Increased rate limits from 20 to 100 RPS **Code Fixes:** - pkg/scanner/market/scanner.go: Use shared RPC client from contractExecutor instead of creating new clients for every pool fetch (critical fix) **Results:** - Blocks processing continuously without interruption - DEX transactions being detected and analyzed - 429 errors reduced from 21,590 (94.4%) to minimal occurrences - System health restored to production readiness **Root Cause:** Scanner was creating new RPC clients for every concurrent pool fetch, bypassing rate limiting and causing excessive requests to RPC endpoint. Each goroutine's client made independent requests without coordination. **Technical Details:** - Shared client respects global rate limits - Prevents connection pool exhaustion - Reduces overhead from repeated connection setup - Ensures all RPC calls go through rate-limited provider manager Resolves: LOG_ANALYSIS_20251029.md findings Impact: Critical - enables continuous block processing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.4 KiB
3.4 KiB