OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Temper

Temper is an open-source Rust server that accepts HTTP requests to simulate Ethereum transactions against a local EVM. Its API handles single transactions, ordered bundles, and stateful sequences, with example results including gas use, execution traces, logs and exit reasons.

Independent OpenViST project profile, based on linked sources.

Temper — 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 Temper when a development workflow needs an HTTP-accessible local EVM simulation for individual Ethereum transactions, ordered bundles or stateful sequences.

Who it is for

  • Ethereum developers integrating transaction preflight checks into a wallet or dApp backend.
  • Developers who need to simulate ordered transaction bundles or preserve EVM state across subsequent requests.

Documented uses

  • Simulate one proposed transaction and inspect its execution result.
  • Run a bundle of transactions in order against the same EVM.
  • Maintain a simulation's EVM state across multiple requests, then end the session to free associated memory.
  • Run a local simulation server and submit a sample request through HTTP.
Before you choose

Requirements & limits

Temper is available as a public, MIT-licensed source repository. The README documents running it locally with Cargo. If the API_KEY environment variable is set, calls require the matching X-API-KEY header.

  • The documented service is a Rust server, not a hosted end-user transaction interface.
  • A single transaction can use the latest block when blockNumber is omitted; the README recommends supplying a block number where possible to use the cache.
  • Transactions in a bundle must share a chain ID; block numbers may be incremented for multi-block simulation.
  • Stateful simulations require starting a session and ending it when finished to free associated memory.
  • The README lists local-node IPC and local reth database connections as roadmap items, not documented current features.

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

Run Temper locally and send a sample simulation request

Start the documented local API and submit the repository's sample request to the single-transaction endpoint.

Before you start

  • Temper repository and Rust Cargo tooling, as the documented command is cargo run.
  • A copy of .env.example renamed to .env, with required values filled in.
  • The repository's tests/body.json sample request.

Steps

  1. Copy .env.example to .env and fill out the required values.

  2. Run the command below to start the server.

    Documented command
    cargo run
  3. Submit tests/body.json as JSON to http://localhost:8080/api/v1/simulate with curl.

Expected outcome

The sample request is sent to the local simulation endpoint; the README's example response fields include gas used, success, trace, logs and exit reason.

Guide limitations

  • This documents starting the server and sending a sample request, not a verified execution or a guarantee of a particular response.
  • If API_KEY is set, include the matching X-API-KEY header on API calls.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
EnsoBuild/temper · Official homepage title · retained in its source language