evm_*, net_*, web3_*, and debug_* namespaces

These helper methods cover developer tooling (evm_*), network status (net_*), client metadata (web3_*), and execution tracing (debug_*).

Use them alongside the core eth_* and zks_* calls for full functionality.

curl -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"debug_traceCall","params":[{ "to":"0x…", "data":"0x…"}, "latest", {}]}'

Method index

evm_* — Developer utility calls

Method✓/✗Purpose
evm_snapshotTake blockchain snapshot
evm_revertRevert to a snapshot
evm_increaseTimeJump forward in time
evm_mineMine a single block
evm_setNextBlockTimestampSet next block’s timestamp
evm_setTimeOverride internal clock
evm_setAccountNonceSet account nonce

net_* — Network diagnostics

Method✓/✗Purpose
net_versionReturns network ID (260)
net_peerCountNumber of connected peers (0)
net_listeningIs P2P listening? (false)

web3_* — Client metadata

Method✓/✗Purpose
web3_clientVersionReturns zkSync/v2.0

debug_* — Execution tracing

Method✓/✗Purpose
debug_traceCallTrace a single call
debug_traceBlockByHashTrace all ops in a block by hash
debug_traceBlockByNumberTrace all ops in a block by number
debug_traceTransactionTrace a single transaction by hash

Method reference

evm_snapshot

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_snapshot","params":[]}'

evm_revert

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_revert","params":["0x1"]}'

Use the snapshot ID returned by evm_snapshot.

evm_increaseTime

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_increaseTime","params":[3600]}'

evm_mine

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_mine","params":[]}'

evm_setNextBlockTimestamp

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_setNextBlockTimestamp","params":[1700000000]}'

evm_setTime

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_setTime","params":[1700000000]}'

evm_setAccountNonce

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"evm_setAccountNonce","params":["0x…addr…", "0xA"]}'

net_version

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"net_version","params":[]}'

net_peerCount

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"net_peerCount","params":[]}'

net_listening

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"net_listening","params":[]}'

web3_clientVersion

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"web3_clientVersion","params":[]}'

debug_traceCall

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{
        "jsonrpc":"2.0","id":1,"method":"debug_traceCall",
        "params":[{ "to":"0x…","data":"0x…"}, "latest", {}]
      }'
`debug_traceCall` returns full VM execution traces. Responses can be large.

debug_traceBlockByHash

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{
        "jsonrpc":"2.0","id":1,"method":"debug_traceBlockByHash",
        "params":["0x…blockHash…", {}]
      }'

debug_traceBlockByNumber

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"debug_traceBlockByNumber","params":["latest", {}]}'

debug_traceTransaction

curl -s -X POST http://localhost:8011 \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"debug_traceTransaction","params":["0x…txHash…", {}]}'

Unimplemented stubs

  • evm_addAccount
  • evm_removeAccount
  • evm_setAccountBalance
  • evm_setAccountCode
  • evm_setAccountStorageAt
  • evm_setAutomine
  • evm_setBlockGasLimit
  • evm_setIntervalMining

See also

  • eth_* — Ethereum compatible base methods
  • zks_* — ZKsync specific extensions
  • hardhat_* — Hardhat style helpers