Skip to main content
v0.1.0MIT + Apache 2.0 Licensed • Built in Rust

Stop Paying for Redundant RPC Calls

Prism is a high-performance Ethereum RPC proxy that reduces your RPC costs by 70-90% through intelligent caching, adaptive routing, automatic failover, and partial range fulfillment.

Service A
Service B
Service C
PRISM
80% hit rate
Alchemy
Infura
QuickNode
Cache Hits:4
Upstream Calls:1
Savings:80%
<1ms
Cache Response
90%
Reduced Calls
1000+
Connections
Rust
Built With ❤️🦀

The Hidden Cost of Distributed RPC Access

Every microservice managing its own RPC connections creates compounding inefficiencies.

Duplicate Caching

Every microservice maintains its own block cache, multiplying memory usage and storage costs while serving identical data.

Wasted Quota

Parallel services make redundant upstream calls for the same blocks and transactions, burning through your RPC quota unnecessarily.

Complex Failover Logic

Retry strategies, circuit breakers, and provider fallbacks scattered across codebases lead to inconsistent reliability.

Prism centralizes your RPC layer.
One shared cache. One failover strategy. Zero code changes to your applications.

Everything Your RPC Layer Needs

Production-ready features built for serious infrastructure.

Cache That Understands Ethereum

  • Multi-layer caching (blocks, transactions, receipts, logs)
  • Finality-aware: blocks cached permanently after confirmations
  • Partial range fulfillment for eth_getLogs
  • Roaring bitmap indexes for O(log n) log queries
# Request logs for blocks 100-110
# Prism has 100-105 cached, only fetches 106-110

curl -X POST http://localhost:3030/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "eth_getLogs",
    "params": [{
      "fromBlock": "0x64",
      "toBlock": "0x6e"
    }],
    "id": 1
  }'

# Response header: X-Cache-Status: PARTIAL
Open Source

Get Involved

Prism is fully open source and MIT + Apache 2.0 licensed. We'd love your help building the future of Ethereum RPC infrastructure.

Contribute

Submit PRs, improve docs, or help triage issues. Every contribution matters.

Join the Discussion

Share ideas, report bugs, and help shape the roadmap on GitHub Discussions.

Spread the Word

Star the repo, share your experience, or write about how you use Prism.

Ready to try Prism?

Clone the repo, spin it up, and start saving on RPC costs today.

Transparent Cache Behavior

Every response includes an X-Cache-Status header.

Response Header Example:

All requested data was found in Prism's cache. Fastest response path.

HTTP/1.1 200 OK
Content-Type: application/json
X-Cache-Status: FULL
X-Response-Time: <1ms

Absurdly Fast. Ruthlessly Efficient.

Built in Rust for maximum performance without sacrificing safety.

<1ms
Average cache hit latency
<50ms
P99 latency with hedging
70-90%
Reduction in upstream queries
99.9%
Data integrity via consensus
<50ns
ChainState reads
1000+
Concurrent connections

Benchmark Results

eth_getBlockByNumber
Prism
0.5ms
Direct
120ms
Speedup
up to 240x
eth_getLogs (partial)
Prism
2ms
Direct
180ms
Speedup
up to 90x
eth_getTransactionReceipt
Prism
0.8ms
Direct
100ms
Speedup
up to 125x

* Benchmarks measured with warm cache. Results vary by conditions.

Beyond Basic Proxies: Intelligent Routing

Tail Latency Optimization

P99 < 50ms

Request hedging sends parallel requests after configurable delay, returning first successful response. Eliminates P99/P999 outliers.

Data Integrity Guarantee

99.9% accuracy

Consensus validation ensures multi-provider agreement for critical methods. Detects provider inconsistencies and chain reorgs automatically.

Adaptive Provider Ranking

Real-time scoring

Multi-factor scoring continuously ranks upstreams by latency, error rates, throttling, and block lag using sliding windows.

How SmartRouter Works

Adaptive routing that automatically selects the optimal strategy for each request. Priority flows from Consensus to Scoring to Hedging to Fallback.

Incoming RPC Request
1

Consensus Check

For critical methods, query multiple upstreams and validate agreement

eth_getBlockByNumber, eth_getLogs, eth_getTransactionReceipt
When quorum validation enabled
2

Scoring Selection

Select upstream based on multi-factor weighted scoring

Latency (8.0) • Errors (4.0) • Throttles (3.0) • Block Lag (2.0)
Real-time performance tracking
3

Request Hedging

After delay threshold, send parallel request for tail latency

Configurable delay based on P95/P99 latency percentiles
Returns first successful response
4

Fallback

Weighted round-robin as final fallback strategy

Automatic retry with circuit breaker protection
Always available
Validated Response

Unified ChainState

Lock-free read pattern provides sub-50ns reads for chain tip data. Single source of truth coordinated across all components.

Provider Penalty System

Disagreeing upstreams are automatically penalized through the scoring system. Bad actors are deprioritized in real-time.

Method-Aware Routing

Different strategies automatically selected based on method criticality. Consensus for state-changing, hedging for latency-sensitive.

Full Ethereum JSON-RPC Support

Smart caching for immutable data, transparent proxy for everything else.

Optimized with Caching

  • eth_getBlockByNumberBlock cache with hot window
  • eth_getBlockByHashHash-based lookup
  • eth_getLogsPartial range fulfillment
  • eth_getTransactionByHashTransaction cache
  • eth_getTransactionReceiptReceipt with logs

Proxied to Upstream

  • eth_blockNumber
  • eth_chainId
  • eth_gasPrice
  • eth_getBalance
  • net_version
  • All other JSON-RPC methods

Built for Serious Infrastructure

From startups to enterprises, Prism scales with your needs.

DeFi Backends

High-volume log queries with 95%+ cache hit rates for event monitoring and indexing.

Block Explorers & Analytics

Aggregate data from multiple RPC sources reliably with automatic failover.

NFT Platforms

Handle transaction lookups at scale without hitting rate limits.

MEV & Trading Bots

Ultra-low latency access for searchers, arbitrage bots, and automated trading strategies.

Development Teams

Reduce RPC provider costs during development and testing cycles.

Support & Partnerships

Running Prism at Scale?

Prism is a community-driven open-source project. If you're building something ambitious or need a hand with your setup, the maintainers are happy to connect and collaborate.

Maintainer Support

Get direct guidance from the people who built Prism when you need it most.

Feature Collaboration

Have a specific use case? We love working with the community to prioritize what matters.

Deployment Guidance

We're happy to share our experience with production setups and performance tuning.

How We Can Help

Community-first collaboration

Production guidance
Architecture review
Feature prioritization
Integration help
Knowledge sharing

Prism is and always will be 100% open-source and MIT + Apache 2.0 licensed.
We believe in building together with our community.

Simple to Deploy, Powerful in Production

A single binary that sits between your services and upstream providers.

Service A
Service B
Service C
PRISM
Cache Manager
Alchemy
Infura
QuickNode
Request to PRISM
Cache Hit (Fast Response)
Upstream Response

Up and Running in 5 Minutes

No complex setup. Just clone, configure, and run.

1

Clone and Build

git clone https://github.com/prismrpc/prism
cd prism && cargo make build-release
2

Configure

cat > config.toml << EOF
[server]
bind_address = "127.0.0.1"
bind_port = 3030

[[upstreams.providers]]
name = "alchemy"
chain_id = 1
https_url = "https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY"
weight = 2

[[upstreams.providers]]
name = "infura"
chain_id = 1
https_url = "https://mainnet.infura.io/v3/YOUR_KEY"
weight = 1

[cache]
enabled = true
EOF
3

Run

PRISM_CONFIG=./config.toml ./target/release/server
4

Test

curl http://localhost:3030/ \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

What's Coming Next

Active development with a focus on performance and reliability.

Core proxy & cachingShipped
WebSocket chain tip trackingShipped
API key authenticationShipped
Prometheus metricsShipped
Finality-aware cachingShipped
Consensus validationShipped
Hedged requestsShipped
Multi-chain support (Arbitrum, Optimism, Base)Planned
OpenTelemetry tracingPlanned
Multi-chain batch requestsPlanned
Cluster mode with shared statePlanned
Client-facing WebSocketsPlanned

How Prism Compares

Beyond basic proxies: intelligent routing, consensus validation, and performance optimization.

Language
PrismRecommended
Rust 🦀
eRPC
Go
Direct RPC
Partial Log Caching
PrismRecommended
eRPC
Direct RPC
Bitmap Indexes
PrismRecommended
eRPC
Direct RPC
Consensus Validation
PrismRecommended
eRPC
Direct RPC
Request Hedging
PrismRecommended
eRPC
Direct RPC
Multi-Factor Scoring
PrismRecommended
eRPC
Direct RPC
Smart Routing
PrismRecommended
eRPC
Direct RPC
Memory Efficiency
PrismRecommended
eRPC
Direct RPC
Failover
PrismRecommended
eRPC
Direct RPC
Circuit Breaker
PrismRecommended
eRPC
Direct RPC
Self-hosted
PrismRecommended
eRPC
Direct RPC

Comparison based on publicly available documentation and benchmarks.

Frequently Asked Questions

Everything you need to know about Prism.