Erpc
eRPC — fault-tolerant evm rpc proxy
Install / Use
/learn @erpc/ErpcREADME
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.
<img src="./assets/hla-diagram.svg" alt="Architecture Diagram" width="70%" />Quick Start
With the below setup, you get immediate access to 2,000+ chains and 4,000+ public free EVM RPC endpoints.
Run an eRPC instance:
Using npx:
npx start-erpc
Or, using Docker:
docker run -p 4000:4000 ghcr.io/erpc/erpc
Or, using Railway:
Send a request to your eRPC instance:
curl 'http://localhost:4000/main/evm/42161' \
--header 'Content-Type: application/json' \
--data '{
"method": "eth_getBlockByNumber",
"params": ["latest", false],
"id": 9199,
"jsonrpc": "2.0"
}'
Next Steps:
This setup is ideal for development and testing purposes. For production environments, we recommend extending your configuration with dedicated premium providers and advanced failover settings. See our Configuration Guide for more details.
Key Features
- Retries, circuit breakers, failovers, and hedged requests: Ensures the fastest, most reliable upstream is always used
- Configurable rate limits: Set hourly or daily rate limits per upstream to control usage and costs
- Local re-org aware cache: Avoid redundant upstream calls and maintain data consistency when blockchain reorgs occur
- Automatic method routing: No need to worry which provider supports which
eth_*method - Unified error handling: Consistent error codes and detailed messages across multiple providers
- Single dashboard: Observe throughput (RPS), errors, and average latency across all providers
- Flexible authentication: Supports basic auth, secrets, JWT, SIWE and more
- Smart batching: Aggregate multiple RPC or contract calls into one
- Selection policy: Allows you to influence how upstreams are selected to serve traffic (or not) w/ selection policies.
- Data integrity: Ensures accurate, up-to-date responses by levering several data integrity mechanisms.
- Consensus policy: Compares results from multiple upstreams and punishes nodes that consistently disagree.
Case Studies
Local Development
- Clone this repository:
git clone https://github.com/erpc/erpc.git
- Install Go dependencies:
make setup
- Create a configuration file:
cp erpc.dist.yaml erpc.yaml
vi erpc.yaml
- Run the eRPC server:
make run
Contributors
<a href="https://github.com/erpc/erpc/graphs/contributors"> <img src="https://contrib.rocks/image?repo=erpc/erpc&max=50&columns=10&anon=1" alt="Contributors" /> </a> <p> By contributing to this project, you agree that your contributions may be used in both the open-source and enterprise versions of the software. Please review our <a href="./CONTRIBUTING.md">Contributing Guidelines</a> and <a href="./CLA.md">Contributor License Agreement</a> before submitting your contributions. </p>License
Apache 2.0
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
