Skip to main content

JSON-RPC API

The JSON-RPC is a stateless, lightweight remote procedure call (RPC) protocol. It defines several data structures and the rules around their processing. It is transport agnostic because the concepts can be used within the same process, over sockets, HTTP, or in various message-passing environments. It uses JSON (RFC 4627) as data format.

This page deals with the JSON-RPC API used by EVM execution clients.

JSON-RPC Methods According to Ethereum Client API

NumMethodDescriptionStatus
1eth_getBlockByHashReturns information about a block by hash
2eth_getBlockByNumberReturns information about a block by number
3eth_getBlockTransactionCountByHashReturns the number of transactions in a block from a block matching the given block hash
4eth_getBlockTransactionCountByNumberReturns the number of transactions in a block matching the given block number
5eth_getUncleCountByBlockHashReturns the number of uncles in a block from a block matching the given block hash
6eth_getUncleCountByBlockNumberReturns the number of uncles in a block from a block matching the given block number
7eth_protocolVersionReturns the current Ethereum protocol version
8eth_chainIdReturns the chain ID of the current network
9eth_syncingReturns an object with data about the sync status or false-copy
10eth_coinbaseReturns the client Coinbase address
11eth_accountsReturns a list of addresses owned by client
12eth_blockNumberReturns the number of most recent block.
13eth_callExecutes a new message call immediately without creating a transaction on the blockchain
14eth_estimateGasGenerates and returns an estimate of how much gas is necessary to allow the transaction to complete.
15eth_gasPriceReturns the current price per gas in wei
16eth_feeHistoryReturns fee history
17eth_newFilterCreates a filter object, based on filter options, to notify when the state changes (logs)
18eth_newBlockFilterCreates a filter in the node, to notify when a new block arrives
19eth_newPendingTransactionFilterCreates a filter in the node, to notify when new pending transactions arrive
20eth_uninstallFilterUninstalls a filter with given id
21eth_getFilterChangesPolling method for a filter, which returns an array of logs which occurred since last poll
22eth_getFilterLogsReturns an array of all logs matching filter with given id. Can compute the same results with an eth_getLogs call
23eth_getLogsAnytime a transaction is mined, we can see event logs for that transaction by making a request to eth_getLogs and then take actions based off those results
24eth_miningReturns whether the client is actively mining new blocks
25eth_hashrateReturns the number of hashes per second that the node is mining with
26eth_getWorkReturns the hash of the current block, the seedHash, and the boundary condition to be met ("target")
27eth_submitWorkUsed for submitting a Proof-of-Work solution
28eth_submitHashrateUsed for submitting mining hashrate
29eth_signReturns an EIP-191 signature over the provided data.
30eth_signTransactionSigns and submits a transaction
31eth_getBalanceReturns the balance of the account of given address
32eth_getStorageAtReturns the value from a storage position at a given address
33eth_getTransactionCountReturns the number of transactions sent from an address
34eth_getCodeReturns code at a given address
35eth_sendTransactionSigns and submits a transaction
36eth_sendRawTransactionSubmits a raw transaction
37eth_getTransactionByHashReturns the information about a transaction requested by transaction hash
38eth_getTransactionByBlockHashAndIndexReturns information about a transaction by block hash and transaction index position
39eth_getTransactionByBlockNumberAndIndexReturns information about a transaction by block number and transaction index position
40eth_getTransactionReceiptReturns the receipt of a transaction by transaction hash

JSON-RPC methods according to the Web3 Module API

NumMethodDescriptionStatus
1web3_clientVersionReturns the current client version
2web3_shaReturns Keccak-256 (not the standardized SHA3-256) of the given data

JSON-RPC methods according to the Net Module API

NumMethodDescriptionStatus
1net_listeningReturns true if client is actively listening for network connections
2net_peerCountReturns number of peers currently connected to the client
3net_versionReturns the current network protocol version

You can find the complete set of available specs in the Ethereum API Documentation.