Skip to content

Trusted Mode

Trusted mode is ZEVM’s writable local development node.

Normative sources: docs/specs/prd.md and docs/specs/json-rpc-contract.md.

This page is an operational summary. For product-contract disputes, follow those normative sources.

Trusted mode is the mode for local execution and local writes:

  • core reads against local state
  • simulation (eth_call, eth_estimateGas)
  • transaction submission and mining
  • canonical block, receipt, and log queries (including eth_getLogs)
  • snapshots, revert, impersonation, state mutation, and time controls
  • optional fork-backed reads with a local writable overlay

Filter lifecycle APIs beyond eth_getLogs are deferred.

Trusted mode also ships one exact deterministic managed dev-wallet contract. For mnemonic, derivation root, full address/key set, and signing behavior, see Managed Dev Wallet (Trusted Mode).

  • Canonical ZEVM controls use zevm_*
  • Trusted mode accepts a fixed compatibility-alias set under anvil_*, selected hardhat_*, and selected evm_*
  • Compatibility aliases are trusted-mode only

Compatibility alias acceptance is closed-world: only aliases explicitly enumerated on JSON-RPC reference pages are accepted.

Public docs should name zevm_* first, with aliases treated as compatibility inputs.

{
"mode": {
"trusted": {
"chainId": 31337,
"mining": { "type": "auto" },
"fork": null
}
}
}

Resolved unions:

  • mode.trusted.mining: { "type": "auto" }, { "type": "manual" }, or { "type": "interval", "blockTime": <seconds> }
  • mode.trusted.fork: null, { "url": "https://..." }, or { "url": "https://...", "blockNumber": <u64> }
TagMeaning
latestcurrent local head
pendingalias of latest
safealias of latest
finalizedalias of latest
earliestblock 0
numeric quantityexact local block number

pending, safe, and finalized in trusted mode do not imply consensus finality.