Skip to main content

Ethereum endpoint support

EVM nodes use Geth to provide access to both standard Ethereum RPC endpoints and Geth-specific RPC endpoints. These tables list these endpoints and whether Etherlink EVM supports them:

Standard Ethereum endpoints​

For information about these endpoints, see JSON-RPC API and the Ethereum JSON-RPC Specification in the Ethereum documentation.

EndpointSupportedNotes
debug_getBadBlocksNo
debug_getRawBlockNo
debug_getRawHeaderNo
debug_getRawReceiptsNo
debug_getRawTransactionNo
debug_traceBlockByNumberYes
engine_exchangeCapabilitiesNo
engine_exchangeTransitionConfigurationV1No
engine_forkchoiceUpdatedV1No
engine_forkchoiceUpdatedV2No
engine_forkchoiceUpdatedV3No
engine_getPayloadBodiesByHashV1No
engine_getPayloadBodiesByHashV2No
engine_getPayloadBodiesByRangeV1No
engine_getPayloadBodiesByRangeV2No
engine_getPayloadV1No
engine_getPayloadV2No
engine_getPayloadV3No
engine_getPayloadV4No
engine_newPayloadV1No
engine_newPayloadV2No
engine_newPayloadV3No
engine_newPayloadV4No
eth_accountsYesThis endpoint always returns an empty list because the EVM node does not manage any addresses
eth_blobBaseFeeNo
eth_blockNumberYes
eth_callYesEVM nodes use the standard Ethereum version of the eth_call endpoint instead of the Geth version; see Sending transactions
eth_chainIdYes
eth_coinbaseYes
eth_createAccessListNo
eth_estimateGasYesSee Sending transactions
eth_feeHistoryYes
eth_gasPriceYes
eth_getBalanceYes
eth_getBlockByHashYes
eth_getBlockByNumberYesNote that Etherlink EVM uses a nonstandard way of computing block hashes, so you cannot use the header information from the eth_getBlockByNumber endpoint to compute the block hash.
eth_getBlockReceiptsYes
eth_getBlockTransactionCountByHashYes
eth_getBlockTransactionCountByNumberYes
eth_getCodeYes
eth_getFilterChangesNo
eth_getFilterLogsNo
eth_getLogsYesSee Getting event logs
eth_getProofNo
eth_getStorageAtYes
eth_getTransactionByBlockHashAndIndexYes
eth_getTransactionByBlockNumberAndIndexYes
eth_getTransactionByHashYes
eth_getTransactionCountYes
eth_getTransactionReceiptYes
eth_getUncleByBlockHashAndIndexYes
eth_getUncleByBlockNumberAndIndexYes
eth_getUncleCountByBlockHashYes
eth_getUncleCountByBlockNumberYes
eth_hashrateNo
eth_maxPriorityFeePerGasYes
eth_miningNo
eth_newBlockFilterNo
eth_newFilterNo
eth_newPendingTransactionFilterNo
eth_protocolVersionNo
eth_sendRawTransactionYesSee Sending transactions
eth_sendTransactionNo
eth_signNo
eth_signTransactionNo
eth_subscribeExperimentalSee Getting updates with WebSockets
eth_syncingNo
eth_uninstallFilterNo
net_listeningNo
net_peerCountNo
net_versionYes
web3_clientVersionYes
web3_sha3Yes

Geth-specific endpoints​

This table shows the Geth endpoints that EVM nodes support. All other Geth endpoints are not supported. For information about these endpoints, see the Geth documentation at https://geth.ethereum.org/docs.

EndpointSupportedNotes
debug_traceCallPartiallySupports only callTracer and structLogger, not custom call tracers
debug_traceTransactionYes
eth_callNoEVM nodes use the standard Ethereum version of the eth_call endpoint instead of the Geth version; see Sending transactions
txpool_contentPartiallyReturns the transaction pool on test networks but always returns an empty pool on Mainnet

ethers.js SDK methods​

The EVM node supports these ethers.js methods:

MethodSupportedNotes
provider.getBlockYes
provider.getTransactionReceipt Yes
provider.getBlockNumberYes
provider.getBalanceYes
signer.sendTransactionYes

For examples of using these ethers.js methods, see Using ethers.js.

Additional information​

Comments
EVM versionOsaka
Whitelisting Fireblocks IP addressesNot Supported
Fee StructurePost London (Fee market is not implemented yet, but the rollup supports EIP-1559 transaction types); see Fee structure
arrow icon

Prev

Compatibility with Ethereum

Next

arrow icon
Getting information about Etherlink