Skip to content

Unsupported And Deferred

This page lists surfaces intentionally outside the current public ZEVM contract.

Not part of the current contract:

  • debug tracing methods
  • subscriptions
  • WebSocket transport (ws:// / wss://) is outside the current public contract scope (ZEVM JSON-RPC is HTTP-only)
  • out-of-contract/deferred method names: well-formed JSON-RPC requests to names not in the current ZEVM method contract return -32601 (Method not found)
  • mode-unsupported for supported families: when a method family is part of the ZEVM contract but unavailable in the active mode, well-formed requests return -32010
  • transport-level unsupported WebSocket behavior: ZEVM exposes HTTP JSON-RPC only, so WebSocket absence is handled at the transport layer (no JSON-RPC -32010 envelope)
  • debug_traceCall
  • debug_traceTransaction
  • eth_subscribe
  • eth_unsubscribe
  • WebSocket transport (ws:// / wss://) is transport-level unsupported and outside JSON-RPC method dispatch
  • eth_call (deferred light-mode proof-backed target; trusted-only in phase 1)
  • eth_call, eth_estimateGas, eth_createAccessList, eth_simulateV1, and testing_buildBlockV1 are trusted-only methods in phase 1
  • in light mode, well-formed requests to those methods return JSON-RPC -32010 (unsupported in active mode)
  • eth_accounts, eth_coinbase, eth_gasPrice, eth_maxPriorityFeePerGas, eth_blobBaseFee, eth_feeHistory, eth_getProof, and eth_getStorageValues are trusted-only
  • in light mode, well-formed requests to those methods return JSON-RPC -32010 (unsupported in active mode)

Mode-gated trusted-only compatibility utilities

Section titled “Mode-gated trusted-only compatibility utilities”
  • rpc_modules, web3_clientVersion, web3_sha3, net_version, net_listening, net_peerCount, eth_mining, eth_hashrate, eth_getWork, eth_submitWork, eth_submitHashrate, eth_syncing, eth_protocolVersion, txpool_content, txpool_contentFrom, txpool_status, and txpool_inspect are trusted-only compatibility methods
  • debug_getBadBlocks, debug_getRawBlock, debug_getRawHeader, debug_getRawReceipts, and debug_getRawTransaction are trusted-only debug/raw inspection methods
  • in light mode, well-formed requests to those methods return JSON-RPC -32010 (unsupported in active mode)
  • Engine API methods are trusted-only and are available only on the optional trusted-mode Engine API listener
  • get-payload methods report unknown payload ids with -38001; new-payload methods validate request shape, import locally valid payloads, and return spec payload status values
  • deferred/out-of-contract method inventories on this page map to JSON-RPC -32601
  • mode-gated method families listed on this page map to JSON-RPC -32010 when called in an unsupported active mode
  • transport absence (for example, WebSocket) is outside JSON-RPC method dispatch and does not map to JSON-RPC -32010

No trusted helper methods are deferred in the current trusted-mode contract. Debug tracing methods remain outside the public surface above.

  • The methods on this page have no published request/response contract in ZEVM docs.
  • Clients should treat them as unavailable unless canonical spec sources are updated through the docs-first process to promote them into supported surface.
  • Normative source ownership lives in docs/specs/prd.md and docs/specs/json-rpc-contract.md.
  • Canonical promotion/boundary criteria: Specs And Process.