Practical overview
When it fits
Use Contender when you need to benchmark an Ethereum execution node or network with configurable transaction traffic, or when a scenario-driven workload needs to be repeated or managed remotely.
Who it is for
- Ethereum execution-client developers benchmarking node behavior under transaction load.
- Engineers creating scenario-based stress tests for EVM networks.
- Teams that want to manage remote Contender test sessions through a JSON-RPC server interface.
Documented uses
- Generate transaction traffic at a chosen per-second or per-block rate.
- Prepare and run bundled or custom scenario-based tests.
- Repeat fuzzed workloads using seeded inputs.
- Keep state for runs, contracts and reports in SQLite.
- Host multiple remote instances and manage sessions through the server interface.
Requirements & limits
The project is open source under the Apache-2.0 license. Documented ways to run it include installing the Rust CLI or using Docker.
- The target must be reachable through a JSON-RPC endpoint.
- The CLI installation prerequisites include a stable Rust toolchain and SQLite development headers.
- The Docker instructions mount a host directory for persistent Contender state, including its database.
- The server is a separate operating mode for hosting instances and managing sessions; the CLI is the documented quick-start route.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install Contender and run a bundled stress scenario
Use the documented CLI steps to prepare and run the repository's stress scenario against an Ethereum JSON-RPC endpoint.
Before you start
- Stable Rust toolchain
- SQLite development headers, such as libsqlite3-dev on Linux
- A JSON-RPC endpoint for the target Ethereum node
- A private key for the scenario setup command
Steps
Install Contender with the command below.
cargo install --git https://github.com/flashbots/contender --lockedPrepare the bundled scenario with
contender setup scenario:stress.toml -r $RPC_URL -p $PRIVATE_KEY.Run it with
contender spam scenario:stress.toml -r $RPC_URL --tps 10 -d 3.
Expected outcome
Contender is installed and instructed to run the bundled stress scenario at the specified transaction rate and duration against the supplied endpoint.
Guide limitations
- The commands require a usable target RPC endpoint and the private key used during setup.
- The guide describes the documented commands; it does not establish a test result for any particular endpoint.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 12 October 2026
- Original website title
- flashbots/contender · Official homepage title · retained in its source language

