What triggers rate limiting
- High-frequency polling (e.g., checking balance every 100ms)
- Large
eth_getLogsqueries spanning many blocks - Burst traffic from scripts without backoff logic
Handling 429 responses
When you receive a429 Too Many Requests HTTP response, implement exponential backoff:
Best practices to reduce API usage
Use WebSocket subscriptions instead of polling Instead of callingeth_getBlockNumber every few seconds, subscribe to new blocks: