Site icon Chainstack

Blockchain RPC Benchmark: Meet Chainbench

blockchain rpc benchmark

Introduction

In Web3 development, every millisecond matters. Slow or unreliable RPC endpoints can quickly become bottlenecks that degrade user experience. Whether you’re syncing blocks, querying smart contracts, or processing transactions, your infrastructure’s performance directly impacts your users. That’s why having a reliable blockchain RPC benchmark is essential to identify weak points early.

But here’s the challenge: how do you know if your RPC endpoint is actually fast? Marketing promises of “10,000 RPS” or “no rate limits” sound impressive, but they don’t tell you what matters most—how your endpoint performs under real-world conditions with the traffic patterns your app generates.

This is why we built Chainbench: an open-source, vendor-neutral tool that provides standardized benchmarking for blockchain RPC infrastructure.

Why blockchain infrastructure needs a benchmark standard

Until now, measuring blockchain node performance has been inconsistent at best. Teams rely on ad-hoc scripts or trust provider claims that are hard to verify. This creates several problems:

AspectAd-hoc ScriptsChainbench
Setup timeHours to days5 minutes
Test consistencyVaries per scriptStandardized profiles
Method coverageUsually 1-3 methods20+ methods per profile
Traffic realismStatic patternsDynamic, weighted distribution
Results formatCustom/inconsistentHTML reports + CSV
Provider comparisonNearly impossibleDirect comparison
ReproducibilityLowHigh
Community supportNoneOpen-source, documented

The blockchain space needs what other infrastructure sectors already have: a standardized, transparent way to measure and compare performance. That’s exactly what Chainbench provides.

What is Chainbench

Chainbench is an open-source blockchain RPC benchmark tool that helps developers measure node performance under real-world conditions. It wraps a high-performance load generator (built on Locust) to simulate realistic blockchain traffic and reveal how nodes perform under stress.

Key features:

Chainbench is completely open source. This transparency allows the community to verify the methodology, contribute improvements, and establish it as a standard blockchain RPC benchmark.

See it in action

Let’s look at three common scenarios where Chainbench helps you make better infrastructure decisions.

Scenario 1: Quick performance check

You want to quickly test how fast your endpoint responds to a common RPC call. Install Chainbench and run a single-method test:

pip install chainbench

chainbench start eth_blockNumber \

  --users 50 \

  --workers 2 \

  --test-time 5m \

  --target https://your-endpoint.example \

  --headless --autoquit

This simulates 50 concurrent users continuously calling eth_blockNumber for 5 minutes. Within seconds, you’ll see requests per second, latency percentiles, and failure rates.

When to use this: Quick smoke tests, verifying endpoint availability, or testing a single method’s performance before production deployment.

Scenario 2: Realistic workload testing

Your app doesn’t just call one method—it makes a mix of requests: reading balances, fetching transactions, querying logs. Test with a profile that matches real-world usage:

chainbench start \

  --profile evm.light \

  --users 100 \

  --workers 4 \

  --test-time 10m \

  --target https://your-endpoint.example \

  --headless --autoquit

The evm.light profile mixes common read methods with realistic weights:

Chainbench also includes chain-specific profiles (bsc.general, polygon.general, solana.general) and heavier profiles that test resource-intensive operations like eth_getLogs and debug traces.

When to use this: Performance validation before production, comparing multiple providers, or establishing baseline metrics for your infrastructure.

Scenario 3: Verifying method support

Before running extensive tests, verify which RPC methods your endpoint actually supports:

chainbench discover https://your-endpoint.example \

  --clients geth,erigon

This checks your endpoint against known method specifications for different node clients (Geth, Erigon, etc.) and shows you:

When to use this: Validating new node deployments, auditing provider capabilities, or debugging unexpected method failures.

What the results look like

After each test, Chainbench generates a detailed HTML report showing:

These metrics answer the questions that matter: Does my endpoint handle p95 requests under 100ms? What happens at 500 RPS? Where does it start failing?

The report also includes downloadable CSV files for further analysis or integration into your monitoring dashboards.

Advanced features for power users

Beyond basic load testing, Chainbench supports several advanced scenarios:

Getting started

Ready to benchmark your infrastructure? Here’s what you need:

Install Chainbench and start testing:

pip install chainbench

chainbench --help

For a complete step-by-step guide covering installation, advanced usage, and custom profile creation, check out the official Chainbench tutorial in the Chainstack documentation.

Don’t have an RPC endpoint yet? Deploy one on Chainstack with support for 70+ protocols including Ethereum, Base, Solana, and more.

Conclusion

Blockchain infrastructure performance shouldn’t be a mystery wrapped in marketing speak. Chainbench provides the transparency and standardization the industry needs to make informed decisions about RPC endpoints. It sets the foundation for what an effective blockchain RPC benchmark should look like.

Use Chainbench to:

As a community-driven open-source project, Chainbench will continue to evolve with contributions from developers who need better tools for infrastructure testing. We invite you to try it, share your feedback, and help push the industry toward faster, more reliable blockchain infrastructure for everyone.

Power-boost your project on Chainstack 

Exit mobile version