## Summary Generalize the RPC failover logic to support primary + secondary providers per chain, with automatic failover and fallback to HTTP polling. ## Changes - [ ] Per-chain RPC configuration: primary URL, secondary URL, poll interval - [ ] Shared health-check logic (reuse from Base implementation) - [ ] Failover: primary to secondary to polling - [ ] Metrics: failover count, current provider, health status per chain ## Tests - [ ] Primary failure triggers failover to secondary - [ ] Both providers fail triggers polling mode - [ ] Recovery restores WebSocket mode ## Acceptance Criteria All chains have resilient RPC connectivity with automatic failover.