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 Method | Destination |
---|---|
net_version | Vaulta EVM node |
eth_blockNumber | Vaulta EVM node |
eth_chainId | Vaulta EVM node |
eth_protocolVersion | Vaulta EVM node |
eth_gasPrice | Tx Wrapper |
eth_getBlockByHash | Vaulta EVM node |
eth_getBlockByNumber | Vaulta EVM node |
eth_getBlockTransactionCountByHash | Vaulta EVM node |
eth_getBlockTransactionCountByNumber | Vaulta EVM node |
eth_getUncleByBlockHashAndIndex | Vaulta EVM node |
eth_getUncleByBlockNumberAndIndex | Vaulta EVM node |
eth_getUncleCountByBlockHash | Vaulta EVM node |
eth_getUncleCountByBlockNumber | Vaulta EVM node |
eth_getTransactionByHash | Vaulta EVM node |
eth_getRawTransactionByHash | Vaulta EVM node |
eth_getTransactionByBlockHashAndIndex | Vaulta EVM node |
eth_getRawTransactionByBlockHashAndIndex | Vaulta EVM node |
eth_getTransactionByBlockNumberAndIndex | Vaulta EVM node |
eth_getRawTransactionByBlockNumberAndIndex | Vaulta EVM node |
eth_getTransactionReceipt | Vaulta EVM node |
eth_getBlockReceipts | Vaulta EVM node |
eth_estimateGas | Vaulta EVM node |
eth_getBalance | Vaulta EVM node |
eth_getCode | Vaulta EVM node |
eth_getTransactionCount | Vaulta EVM node |
eth_getStorageAt | Vaulta EVM node |
eth_call | Vaulta EVM node |
eth_callBundle | Vaulta EVM node |
eth_createAccessList | Vaulta EVM node |
eth_getLogs | Vaulta EVM Node-SlowQuery |
eth_sendRawTransaction | Tx Wrapper |
debug_traceBlockByHash | Vaulta EVM Node-SlowQuery |
debug_traceBlockByNumber | Vaulta EVM Node-SlowQuery |
debug_traceTransaction | Vaulta EVM Node-SlowQuery |
debug_traceCall | Vaulta EVM Node-SlowQuery |
trace_call | Vaulta EVM Node-SlowQuery |
trace_callMany | Vaulta EVM Node-SlowQuery |
trace_rawTransaction | Vaulta EVM Node-SlowQuery |
trace_replayBlockTransactions | Vaulta EVM Node-SlowQuery |
trace_replayTransaction | Vaulta EVM Node-SlowQuery |
trace_block | Vaulta EVM Node-SlowQuery |
trace_filter | Vaulta EVM Node-SlowQuery |
trace_get | Vaulta EVM Node-SlowQuery |
trace_transaction | Vaulta 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"}]