https://rpc.testnet.arc.network does not return results for eth_getLogs requests spanning the full chain (current head ~43.3M blocks). Requests hang past 60s and never return, with no limit exceeded style error.
Reproduce (ethers v6):
const p = new ethers.JsonRpcProvider('https://rpc.testnet.arc.network');
// any deployed contract, e.g. our LendingPool 0x4dc7A9BbcB1139cDeDf5274272F541461ef4d20E
await p.getLogs({
address: '0x4dc7A9BbcB1139cDeDf5274272F541461ef4d20E',
topics: [ethers.id('Supply(address,address,uint256)')],
fromBlock: 0,
toBlock: 'latest',
}); // → hangs > 60s, never resolves
Workarounds we had to use:
- Chunking to ≤10k blocks — still 4000+ sequential requests to scan history; impractical from a browser
- Falling back to the Arcscan v2 REST API to list contract activity
Impact:
- Subgraph/indexer cold-starts require scanning from deploy block — currently not viable against the public RPC
- Any dApp showing historical events (liquidations feed, position history, leaderboards) can't use the public RPC directly
useLogs-style React hooks degrade to "mock data" fallbacks
Asks:
- Document the actual
eth_getLogs block-range and result-size limits in the RPC docs — currently unstated
- Return a clear error (e.g.
-32005 limit exceeded) instead of timing out so clients can chunk automatically
- Consider raising the limit, or recommend a partner archive node / subgraph endpoint for indexing workloads
Discovered while building ArcLend.
https://rpc.testnet.arc.networkdoes not return results foreth_getLogsrequests spanning the full chain (current head ~43.3M blocks). Requests hang past 60s and never return, with nolimit exceededstyle error.Reproduce (ethers v6):
Workarounds we had to use:
Impact:
useLogs-style React hooks degrade to "mock data" fallbacksAsks:
eth_getLogsblock-range and result-size limits in the RPC docs — currently unstated-32005 limit exceeded) instead of timing out so clients can chunk automaticallyDiscovered while building ArcLend.