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.
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.
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.examplerenamed to.env, with required values filled in. - The repository's
tests/body.jsonsample request.
Steps
Copy
.env.exampleto.envand fill out the required values.Run the command below to start the server.
cargo runSubmit
tests/body.jsonas JSON tohttp://localhost:8080/api/v1/simulatewithcurl.
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_KEYis set, include the matchingX-API-KEYheader on API calls.
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

