Guarantees
Status: v0.1 — basic provenance; limits enforced in engine.
What you can rely on
- Deterministic execution — Same bytecode + fork config → same result (within EthereumJS semantics).
- Isolated lab / BYOS — No archive node, no mainnet or L2 sync. You supply bytecode, txs, and any constructed prestate (accounts, code, storage). We do not pull chain state.
- Call isolation (default) — Each tool call starts from that payload. Transport sessions are not EVM memory. Optional snapshot continuation is not shipped.
- Provenance on every result — Engine version, fork config, advertised or explicit EIP maturity metadata, stability rollup, human caveat. Fields are basic and mostly optional in v0.1 — we will tighten over time.
- Guardrails — Hard limits below prevent runaway resource use.
Limits
| Limit | Value |
|---|---|
| Max gas limit | 30_000_000 |
| Default gas limit | 1_000_000 |
| Max bytecode size | 24_576 bytes |
| Max trace steps | 10_000 |
| Max transactions per lab block | 8 |
Out of scope
- Solidity compilation
- ERC / application-layer semantics
- Sequential multi-block historical backtesting
Changelog
Guarantees Changelog
- v0.62026-09-16Generic hardfork runs list advertised modules on provenance when eips[] is empty.
- v0.42026-09-10Max 8 transactions on run_block.
- v0.32026-07-20Split from execution-engine — user-facing limits and provenance under use/.