Skip to main content

JSON RPC Compatibility

All the JSON-RPC calls are inherently supported thanks to the full functioning EOS EVM node which is built based on Silkworm node. However, some methods are blocked in the current phase for the following reasons:

  • Some methods are deprecated or discontinued.
  • Some methods are designed for the local node scenario. They are not exposed to the public API, however you can access them when you deploy your own EOS EVM node.
  • Some methods involve complex logic, therefore more tests need to be performed before they will be exposed.

RPC List

Notes:

  • The JSON-RPC calls listed below do NOT include methods that are blocked in the current phase.
  • "EOS EVM Node-SlowQuery" is designated for nodes dedicated to handle slow or heavy queries. This is done so that those slow queries do not stop or degrade the performance of regular nodes serving other method requests.
RPC MethodDestination
net_versionEOS EVM node
eth_blockNumberEOS EVM node
eth_chainIdEOS EVM node
eth_protocolVersionEOS EVM node
eth_gasPriceTx Wrapper
eth_getBlockByHashEOS EVM node
eth_getBlockByNumberEOS EVM node
eth_getBlockTransactionCountByHashEOS EVM node
eth_getBlockTransactionCountByNumberEOS EVM node
eth_getUncleByBlockHashAndIndexEOS EVM node
eth_getUncleByBlockNumberAndIndexEOS EVM node
eth_getUncleCountByBlockHashEOS EVM node
eth_getUncleCountByBlockNumberEOS EVM node
eth_getTransactionByHashEOS EVM node
eth_getRawTransactionByHashEOS EVM node
eth_getTransactionByBlockHashAndIndexEOS EVM node
eth_getRawTransactionByBlockHashAndIndexEOS EVM node
eth_getTransactionByBlockNumberAndIndexEOS EVM node
eth_getRawTransactionByBlockNumberAndIndexEOS EVM node
eth_getTransactionReceiptEOS EVM node
eth_getBlockReceiptsEOS EVM node
eth_estimateGasEOS EVM node
eth_getBalanceEOS EVM node
eth_getCodeEOS EVM node
eth_getTransactionCountEOS EVM node
eth_getStorageAtEOS EVM node
eth_callEOS EVM node
eth_callBundleEOS EVM node
eth_createAccessListEOS EVM node
eth_getLogsEOS EVM Node-SlowQuery
eth_sendRawTransactionTx Wrapper
debug_traceBlockByHashEOS EVM Node-SlowQuery
debug_traceBlockByNumberEOS EVM Node-SlowQuery
debug_traceTransactionEOS EVM Node-SlowQuery
debug_traceCallEOS EVM Node-SlowQuery
trace_callEOS EVM Node-SlowQuery
trace_callManyEOS EVM Node-SlowQuery
trace_rawTransactionEOS EVM Node-SlowQuery
trace_replayBlockTransactionsEOS EVM Node-SlowQuery
trace_replayTransactionEOS EVM Node-SlowQuery
trace_blockEOS EVM Node-SlowQuery
trace_filterEOS EVM Node-SlowQuery
trace_getEOS EVM Node-SlowQuery
trace_transactionEOS EVM Node-SlowQuery

Batched Requests

Sending an array of request objects as the body to the JSON-RPC API is not currently supported. The server will return a 400 error in this case. If this is impacting you, try a workaround until this is supported.

Example failing request body:

[{"method":"eth_chainId","params":[],"id":1,"jsonrpc":"2.0"},{"method":"eth_blockNumber","params":[],"id":2,"jsonrpc":"2.0"}]