Skip to main content

JSON RPC Compatibility

All the JSON-RPC calls are inherently supported thanks to the full functioning Vaulta 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 Vaulta 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.
  • "Vaulta 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_versionVaulta EVM node
eth_blockNumberVaulta EVM node
eth_chainIdVaulta EVM node
eth_protocolVersionVaulta EVM node
eth_gasPriceTx Wrapper
eth_getBlockByHashVaulta EVM node
eth_getBlockByNumberVaulta EVM node
eth_getBlockTransactionCountByHashVaulta EVM node
eth_getBlockTransactionCountByNumberVaulta EVM node
eth_getUncleByBlockHashAndIndexVaulta EVM node
eth_getUncleByBlockNumberAndIndexVaulta EVM node
eth_getUncleCountByBlockHashVaulta EVM node
eth_getUncleCountByBlockNumberVaulta EVM node
eth_getTransactionByHashVaulta EVM node
eth_getRawTransactionByHashVaulta EVM node
eth_getTransactionByBlockHashAndIndexVaulta EVM node
eth_getRawTransactionByBlockHashAndIndexVaulta EVM node
eth_getTransactionByBlockNumberAndIndexVaulta EVM node
eth_getRawTransactionByBlockNumberAndIndexVaulta EVM node
eth_getTransactionReceiptVaulta EVM node
eth_getBlockReceiptsVaulta EVM node
eth_estimateGasVaulta EVM node
eth_getBalanceVaulta EVM node
eth_getCodeVaulta EVM node
eth_getTransactionCountVaulta EVM node
eth_getStorageAtVaulta EVM node
eth_callVaulta EVM node
eth_callBundleVaulta EVM node
eth_createAccessListVaulta EVM node
eth_getLogsVaulta EVM Node-SlowQuery
eth_sendRawTransactionTx Wrapper
debug_traceBlockByHashVaulta EVM Node-SlowQuery
debug_traceBlockByNumberVaulta EVM Node-SlowQuery
debug_traceTransactionVaulta EVM Node-SlowQuery
debug_traceCallVaulta EVM Node-SlowQuery
trace_callVaulta EVM Node-SlowQuery
trace_callManyVaulta EVM Node-SlowQuery
trace_rawTransactionVaulta EVM Node-SlowQuery
trace_replayBlockTransactionsVaulta EVM Node-SlowQuery
trace_replayTransactionVaulta EVM Node-SlowQuery
trace_blockVaulta EVM Node-SlowQuery
trace_filterVaulta EVM Node-SlowQuery
trace_getVaulta EVM Node-SlowQuery
trace_transactionVaulta 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"}]