DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

Engineering Notes #13: The Public RPC Bans You for an Hour at Ten Requests a Second

The symptom

connection refused from rpc.testnet.empooriochain.org. It looks exactly like an outage. Scripts report the network is down; developers report the network is down; an automated agent retries faster and makes it worse.

The cause

The public RPC nodes run fail2ban with an rpc-rate rule: roughly 10 requests per second per IP, with a one-hour ban on exceeding it. A polling loop, a burst of parallel queries, or a tool that fetches metadata on every call trips it within seconds. Automated coding agents hit it constantly — the same IP, tight loops, no back-off — and then conclude the chain is unreachable.

How to tell

A banned IP gets connection refused; an unbanned one gets a JSON-RPC response. Check from a different network or wait an hour. The node's own health is visible from the second endpoint (rpc2.testnet) if the first has banned you.

What to do

  • Batch JSON-RPC calls — one request, many operations.
  • Subscribe over WebSocket (wss://…) for new heads, finalized heads and storage changes instead of polling.
  • Cache metadata; refresh it after runtime upgrades, not on every connection.
  • Back off on error instead of retrying immediately.
  • Run your own node for anything heavier — indexing, load testing, CI. The operator guide gets a full node syncing in minutes, and a full node needs no node key and no bond.

Why the limit exists

Two public nodes serve the whole testnet, and they are also the validators' RPC. A single misbehaving client can degrade the network for everyone. The limit is blunt because the network is small; it will loosen as the RPC tier separates from the validators.

The rule

Before reporting the network down, check whether you were banned. It is written in the operator guide, in the getting-started guide and now here, because it is the single most common false alarm the project sees.

From the September 2026 network operations notes.

Share this article