eRPC is a fault-tolerant EVM RPC proxy and re-org aware permanent caching solution. It is built with read-heavy use-cases in mind such as data indexing and high-load frontend usage.
⚠️ eRPC is still under development, and for now should be used for "testnets" or as "a fallback" for RPC calls.
✅ Retries, circuit-breakers, failovers and hedged requests make sure fastest most-reliable upstream is used
✅ Define hourly, daily rate limits for each upstream provider, to control usage, costs and high-scale usage
✅ Avoid redundant upstream costs by locally caching RPC responses, with reorg-aware caching layer
✅ You don't need to think about which upstream supports which eth_*
method; eRPC automatically does that.
✅ Receive consistent error codes with details across 5+ third-party providers and reporting of occured errors.
✅ Single dashboard to observe rps throughput, errors, and avg. latency of all your RPC providers.
✅ Authentication modules such as basic auth, secret-based, JWT and SIWE.
✅ Smart batching to aggregates multiple RPC or contract calls into one.
🚀 Moonwell: How eRPC slashed RPC calls by 67%
🚀 Chronicle: How eRPC reduced RPC cost by 45%
- Visit docs.erpc.cloud for documentation and guides.
- Join eRPC's Telegram for technical discussions and feedbacks.
- Request a feature in Featurebase.
- Clone this repository:
git clone https://github.com/erpc/erpc.git
- Install Go dependencies:
make setup
- Create a
erpc.yaml
configuration file based on theerpc.yaml.dist
file, and use your RPC provider credentials:
cp erpc.yaml.dist erpc.yaml
vi erpc.yaml
- Run the eRPC server:
make run
Apache 2.0