Skip to Content
OperateEVM RPC Configuration

EVMRPC Config Runbook

This page mirrors evmrpc/config.go and provides recommended values and operational guidance.

Server

  • http_enabled, http_port
  • ws_enabled, ws_port
  • cors_origins, ws_origins

Timeouts

  • read_timeout, read_header_timeout, write_timeout, idle_timeout

Simulation

  • simulation_gas_limit
  • simulation_evm_timeout

Filters & mempool

  • filter_timeout
  • checktx_timeout
  • max_tx_pool_txs
  • slow
  • flush_receipt_sync

Method controls & limits

  • deny_list[]: fail‑fast methods
  • max_log_no_block: cap logs if no range specified (open‑ended)
  • max_blocks_for_log: cap range span for eth_getLogs
  • max_subscriptions_new_head: cap concurrent newHeads

Tracing & simulation concurrency

  • max_concurrent_trace_calls: 0 for unlimited; recommended: based on CPU cores
  • max_concurrent_simulation_calls
  • max_trace_lookback_blocks: 0 for unlimited; tune for storage/perf
  • trace_timeout

Telemetry

  • rpc_stats_interval: periodic stats logging
⚠️
Start conservative, raise caps only after measuring saturation and latency.
  • max_blocks_for_log: 2,000–5,000
  • max_log_no_block: 10,000
  • max_concurrent_trace_calls: ≤ CPU cores
  • trace_timeout: 10s–30s depending on workload

SRE recipes

  • Spikes in debug_trace*: reduce max_concurrent_trace_calls, increase trace_timeout cautiously
  • Log backfills: enforce windowing via max_blocks_for_log and educate clients
  • WS churn: lower max_subscriptions_new_head, advise fanning‑out per process
Last updated on