OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Contender

Contender is a Rust CLI and server tool that generates Ethereum transaction traffic through JSON-RPC for repeatable execution-client and network load tests. It supports TPS- and block-based timing, scenario-driven workloads, seeded fuzzing, and SQLite-backed records and reports.

Independent OpenViST project profile, based on linked sources.

Contender — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

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.
Before you choose

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.

Source-based practical guide

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

  1. Install Contender with the command below.

    Documented command
    cargo install --git https://github.com/flashbots/contender --locked
  2. Prepare the bundled scenario with contender setup scenario:stress.toml -r $RPC_URL -p $PRIVATE_KEY.

  3. 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.
Evidence and transparency

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