eth_getLogs, RouteMesh currently supports a maximum block range of 10,000 per request.
Allowed domains
API keys can be restricted to specific origins (domains). When an key has allowed domains set, the router checks the request’sOrigin (or Referer) header against that list. If the request comes from a domain that is not allowed, the router returns 403 Forbidden and does not forward the request.
- No allowed domains (empty list): the key is allowed from any origin. Use this for server-side or mobile apps where no browser origin is sent.
- With allowed domains: only requests whose origin matches one of the listed hostnames are accepted. Use this for web apps to limit key usage to your front-end domain(s).
app.example.com), without path or scheme. This reduces the risk of a key being used from an unauthorized site.
Cooldowns and rate limiting
When an upstream node returns a rate-limit (HTTP 429) or service-unavailable (503) response, RouteMesh puts that pathway (node + method) on a short cooldown. During cooldown, the router will not send new requests to that pathway, so you avoid hammering a node that is already overloaded.- Cooldowns are per pathway (node and method), not global. Other nodes or methods are still used.
- If all pathways that can serve your route are on cooldown, the router returns HTTP 429 Too Many Requests and a JSON-RPC error with code -32003 (All nodes on cooldown).
- When you get -32003, retry after a short backoff (e.g. a few seconds). Cooldowns are temporary; once they expire, the same request can succeed.
Batch requests
You can send multiple JSON-RPC requests in a single HTTP request by posting a JSON array of request objects instead of a single object. The response is a JSON array of responses in the same order as the requests.- Order: Response index
icorresponds to request indexi. Use theidfield in each request to match responses to requests if needed. - Partial failures: Each batch item is processed independently. Some entries may have
resultand otherserror. The HTTP status of the batch is derived from the set of per-request statuses (e.g. 200 if any succeeded, 424 if all failed dependency, 429 if all rate limited). - Empty batch: Sending an empty array
[]is invalid and returns 400 with JSON-RPC code -32600 (Invalid request).
eth_call or eth_getBlockByNumber in one HTTP request).
For request debugging (including X-Batch-Id and the Dashboard Logs page), see Debugging.
