Jovay JSON-RPC API
Overview
Jovay implements the standard Ethereum JSON‑RPC API, delivering a developer experience indistinguishable from building on Ethereum itself. However, a few RPC methods differ from Ethereum’s implementation; those differences are detailed in this section.
Below is a quick overview of how each Ethereum JSON‑RPC method behaves on Jovay. We’ll use three status indicators to guide you:
- ✅ Fully compatible: request and response semantics are identical to Ethereum.
- ⚠️ Semantically different: the method is implemented, but its return value or behavior diverges (e.g., no PoW, no uncle blocks). See theNotecolumn for details.
- ❌ Not supported: the method is not available (typically wallet or filter features). Replace, stub, or omit the call until future support is announced.
With that in mind, following table maps every standard JSON‑RPC call to its Jovay status and highlights any noteworthy deviations.
Always Returns0x41 | ||
Returns 0x0 due to unimplemented coinbase functionality | ||
Returns false due to the absence of PoW functionality in L2 | ||
Returns 0x0 due to the absence of PoW functionality in L2 | ||
Returns empty array due to wallet functionality unimplemented | ||
Returns 0x0 due to the L2 chain having no uncle blocks | ||
Returns 0x0 due to the L2 chain having no uncle blocks | ||
not provided due to wallet functionality unimplemented | ||
not provided due to wallet functionality unimplemented | ||
not provided due to wallet functionality unimplemented | ||
Returns null due to the L2 chain having no uncle blocks | ||
Returns null due to the L2 chain having no uncle blocks | ||
not provided due to filter functionality unimplemented | ||
not provided due to filter functionality unimplemented | ||
not provided due to filter functionality unimplemented | ||
not provided due to filter functionality unimplemented | ||
not provided due to filter functionality unimplemented | ||
not provided due to filter functionality unimplemented | ||
Returns 0x0 due to the absence of priority-fee scheduling | ||
WebSocket API | ||
WebSocket API | ||
ETH Methods
eth_protocolVersion
Returns the current protocol version.
Input: None
Output: String - The protocol version in hex
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_protocolVersion",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x41"
}
eth_syncing
Returns sync status of the node.
Input: None
Output: Object | Boolean - An object with sync status data or FALSE, when not syncing:
startingBlock
:QUANTITY
- The block at which the import started (will only be reset, after the sync reached his head)
currentBlock
:QUANTITY
- The current block, same as eth_blockNumber
highestBlock
:QUANTITY</font>
- The estimated highest block
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_syncing",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"startingBlock": "0x0",
"currentBlock": "0x10d4f",
"highestBlock": "0x10d4f"
}
}
// Or when not syncing
{
"jsonrpc": "2.0",
"id": 1,
"result": false
}
eth_coinbase
Returns the client coinbase address.
Input: None
Output: String - Coinbase address
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_coinbase",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0"
}
eth_mining
Returns whether the client is mining.
Input: None
Output: Boolean - Mining status
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_mining",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": false
}
eth_hashrate
Returns the hashrate of the mining operation.
Input: None
Output: String - Hashrate in hashes per second
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_hashrate",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0"
}
eth_gasPrice
Returns the current gas price in Wei.
Input: None
Output: String - Gas price in Wei
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_gasPrice",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x3b9aca00"
}
eth_accounts
Returns a list of accounts owned by client.
Since the L2 node does not have a wallet function, it will return an empty array.
Input: None
Output: Array - Account addresses
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_accounts",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": []
}
eth_blockNumber
Returns the number of the most recent block.
Input: None
Output: String - Block number in hexadecimal
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x10d4f"
}
eth_getBlockTransactionCountByHash
Returns the number of transactions in a block by hash.
Input:
- String - Block hash
Output: String - Transaction count
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByHash",
"params": ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1"
}
eth_getBlockTransactionCountByNumber
Returns the number of transactions in a block by number.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Transaction count
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByNumber",
"params": ["latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1"
}
eth_getBlockByHash
Returns block information by hash.
Input:
- String - Block hash
- Boolean - True for full transactions, false for hashes
Output: Object - Block information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBlockByHash",
"params": ["0x18be14074d5f9039dee3a30307209ef3f404b46efcdd3cb20bfcb602bdcfe14e", true],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"baseFeePerGas": "0xf4240",
"difficulty": "0x0",
"extraData": "0x",
"gasLimit": "0x3b9aca00",
"gasUsed": "0x0",
"hash": "0x18be14074d5f9039dee3a30307209ef3f404b46efcdd3cb20bfcb602bdcfe14e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x2a659",
"parentHash": "0x3deccf3d4dd930a6eb7a44bb8da6e85e39a8e4b3ef58b867b5f6b0bbe7d88c29",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x0",
"stateRoot": "0x561875121d2a7809ef11a976ab00710a89d8b95c9a39b61b66ff676a6989de6e",
"timestamp": "0x68626301",
"totalDifficulty": "0x0",
"transactions": [...],
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncles": []
}
}
eth_getBlockByNumber
Returns block information by number.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
- Boolean - True for full transactions, false for hashes
Output: Object - Block information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBlockByNumber",
"params": ["0x2a659", true],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"baseFeePerGas": "0xf4240",
"difficulty": "0x0",
"extraData": "0x",
"gasLimit": "0x3b9aca00",
"gasUsed": "0x0",
"hash": "0x18be14074d5f9039dee3a30307209ef3f404b46efcdd3cb20bfcb602bdcfe14e",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"miner": "0x0000000000000000000000000000000000000000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"nonce": "0x0000000000000000",
"number": "0x2a659",
"parentHash": "0x3deccf3d4dd930a6eb7a44bb8da6e85e39a8e4b3ef58b867b5f6b0bbe7d88c29",
"receiptsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x0",
"stateRoot": "0x561875121d2a7809ef11a976ab00710a89d8b95c9a39b61b66ff676a6989de6e",
"timestamp": "0x68626301",
"totalDifficulty": "0x0",
"transactions": [...],
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"uncles": []
}
}
eth_getBlockReceipts
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: Array -
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBlockReceipts",
"params": ["latest"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"blockHash": "0x6216d90fccf81e9513c3a5158af11d4822ce8c6c35db406cefa8e7de089847dc",
"blockNumber": "0x2942dd",
"contractAddress": null,
"cumulativeGasUsed": "0xd4e7",
"effectiveGasPrice": "0xf4240",
"from": "0x018445fb603eed6004414e7465e1ac33bfc2b93d",
"gasUsed": "0xd4e7",
"logs": [
{
"address": "0x7ccc682e206692549a87c2054e79042d4ebc51f8",
"blockHash": "0x6216d90fccf81e9513c3a5158af11d4822ce8c6c35db406cefa8e7de089847dc",
"blockNumber": "0x2942dd",
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
"logIndex": "0x0",
"removed": false,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000018445fb603eed6004414e7465e1ac33bfc2b93d",
"0x0000000000000000000000001000000000000000000000000000000000000001"
],
"transactionHash": "0x886cb571971a948abdaa0ad9a5b9acd4edadcd8097751ea5af0cab525e5c1292",
"transactionIndex": "0x0"
}
],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000000000000000000000080010000010000002000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000100000000000000000000400000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000",
"status": "0x1",
"to": "0x7ccc682e206692549a87c2054e79042d4ebc51f8",
"transactionHash": "0x886cb571971a948abdaa0ad9a5b9acd4edadcd8097751ea5af0cab525e5c1292",
"transactionIndex": "0x0",
"type": "0x0"
},
{
"blockHash": "0x6216d90fccf81e9513c3a5158af11d4822ce8c6c35db406cefa8e7de089847dc",
"blockNumber": "0x2942dd",
"contractAddress": null,
"cumulativeGasUsed": "0x5de9",
"effectiveGasPrice": "0xf4240",
"from": "0x03fdd1d736f3c7117884065d13b6d0ba632bc9e8",
"gasUsed": "0x5de9",
"logs": [],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x1",
"to": "0x0f0a59c2c9ff0edaa79c846116b294b154d86f9e",
"transactionHash": "0xc120cb6f381fcf2b09867989c92c23a92f7f2185cdf04dbef38959e6e15ca50e",
"transactionIndex": "0x1",
"type": "0x0"
}
]
}
eth_getTransactionByHash
Returns transaction information by hash.
Input:
- String - Transaction hash
Output: Object - Transaction information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getTransactionByHash",
"params": ["0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7"],
"id": 1
}
Example Response:
{
"id": 0,
"jsonrpc": "2.0",
"result": {
"blockHash": "0x496af88bb8527c768ef8bffbd86c7d7a3ff887699befaee6394f819094d89259",
"blockNumber": "0x1604ea",
"chainId": "0x216aad6",
"from": "0x8121e0ac0173f9f0c70cf9f024da6f2a34b7c698",
"gas": "0x4c4b40",
"gasPrice": "0xf4240",
"hash": "0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"nonce": "0x1e1fb",
"r": "0xbd5373daccc2c084b9a167dd313f3f43146ca4f2eb91170022449de05a5017a3",
"s": "0xb89fdb99e7ff8d66816d6117190b330ec60e1f1deba87892272d5047ff2f8e4",
"to": "0xedea62545a3dda5236c414b0e48bc03fe42d5aed",
"transactionIndex": "0x0",
"type": "0x0",
"v": "0x42d55cf",
"value": "0x0"
}
}
eth_getTransactionByBlockHashAndIndex
Returns transaction information by block hash and index.
Input:
- String - Block hash
- String - An integer represented by a hex string, indicating the transaction index
Output: Object - Transaction information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockHashAndIndex",
"params": ["0x496af88bb8527c768ef8bffbd86c7d7a3ff887699befaee6394f819094d89259", "0x0"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"blockHash": "0x496af88bb8527c768ef8bffbd86c7d7a3ff887699befaee6394f819094d89259",
"blockNumber": "0x1604ea",
"chainId": "0x216aad6",
"from": "0x8121e0ac0173f9f0c70cf9f024da6f2a34b7c698",
"gas": "0x4c4b40",
"gasPrice": "0xf4240",
"hash": "0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"nonce": "0x1e1fb",
"r": "0xbd5373daccc2c084b9a167dd313f3f43146ca4f2eb91170022449de05a5017a3",
"s": "0xb89fdb99e7ff8d66816d6117190b330ec60e1f1deba87892272d5047ff2f8e4",
"to": "0xedea62545a3dda5236c414b0e48bc03fe42d5aed",
"transactionIndex": "0x0",
"type": "0x0",
"v": "0x42d55cf",
"value": "0x0"
}
}
eth_getTransactionByBlockNumberAndIndex
Returns transaction information by block number and index.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
- String - An integer represented by a hex string, indicating the transaction index
Output: Object - Transaction information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getTransactionByBlockNumberAndIndex",
"params": ["latest", "0x0"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"blockHash": "0x496af88bb8527c768ef8bffbd86c7d7a3ff887699befaee6394f819094d89259",
"blockNumber": "0x1604ea",
"chainId": "0x216aad6",
"from": "0x8121e0ac0173f9f0c70cf9f024da6f2a34b7c698",
"gas": "0x4c4b40",
"gasPrice": "0xf4240",
"hash": "0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"nonce": "0x1e1fb",
"r": "0xbd5373daccc2c084b9a167dd313f3f43146ca4f2eb91170022449de05a5017a3",
"s": "0xb89fdb99e7ff8d66816d6117190b330ec60e1f1deba87892272d5047ff2f8e4",
"to": "0xedea62545a3dda5236c414b0e48bc03fe42d5aed",
"transactionIndex": "0x0",
"type": "0x0",
"v": "0x42d55cf",
"value": "0x0"
}
}
eth_getTransactionReceipt
Returns transaction receipt by hash.
Input:
- String - Transaction hash
Output: Object - Transaction receipt
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getTransactionReceipt",
"params": ["0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"blockHash": "0x496af88bb8527c768ef8bffbd86c7d7a3ff887699befaee6394f819094d89259",
"blockNumber": "0x1604ea",
"contractAddress": null,
"cumulativeGasUsed": "0x6015",
"effectiveGasPrice": "0xf4240",
"from": "0x8121e0ac0173f9f0c70cf9f024da6f2a34b7c698",
"gasUsed": "0x6015",
"logs": [...],
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"status": "0x0",
"to": "0xedea62545a3dda5236c414b0e48bc03fe42d5aed",
"transactionHash": "0x75168af86226d88201e629df738864d33a301d137e982c4452803e53b40b1cf7",
"transactionIndex": "0x0",
"type": "0x0"
}
}
eth_getLogs
Returns logs matching filter.
Input:
- Object - Filter options:
- fromBlock: String - An integer represented by a hex string, indicating the block number or the string "latest", "earliest", "pending", "safe" or "finalized"
- toBlock: String - An integer represented by a hex string, indicating the block number or the string "latest", "earliest", "pending", "safe" or "finalized"
- address: String | Array, 20 Bytes Address encoded as hex string - (optional) Contract address or a list of addresses from which logs should originate.
- topics: Array of DATA, - (optional) Array of 32 Bytes DATA topics encoded as hex string. Topics are order-dependent. Each topic can also be an array of DATA with "or" options.
- blockhash: DATA, 32 Bytes data encoded as hex string - (optional, future) With the addition of EIP-234, blockHash will be a new filter option which restricts the logs returned to the single block with the 32-byte hash blockHash. Using blockHash is equivalent to fromBlock = toBlock = the block number with hash blockHash. If blockHash is present in the filter criteria, then neither fromBlock nor toBlock are allowed.
Output: Array - Array of log objects, or null if nothing match the filter:
- removed: TAG - true when the log was removed, due to a chain reorganization. false if its a valid log.
- logIndex: QUANTITY - integer of the log index position in the block. null when its pending log.
- transactionIndex: QUANTITY - integer of the transactions index position log was created from. null when its pending log.
- transactionHash: DATA, 32 Bytes - hash of the transactions this log was created from. null when its pending log.
- blockHash: DATA, 32 Bytes - hash of the block where this log was in. null when its pending. null when its pending log.
- blockNumber: QUANTITY - the block number where this log was in. null when its pending. null when its pending log.
- address: DATA, 20 Bytes - address from which this log originated.
- data: DATA - contains zero or more 32 Bytes non-indexed arguments of the log.
- topics: Array of DATA - Array of 0 to 4 32 Bytes DATA of indexed log arguments. (In solidity: The first topic is the hash of the signature of the event (e.g. Deposit(address,bytes32,uint256)), except you declared the event with the anonymous specifier.)
Example** Req****uest**:
{
"jsonrpc": "2.0",
"method": "eth_getLogs",
"params": [{
"fromBlock": "0x156aea",
"toBlock": "0x156aed",
"address": "0x14690f87f2f58d47bac4f7668bfeb930c68fc891",
"topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", ["0x000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", "0x0000000000000000000000000aff3454fce5edbc8cca8697c15331677e6ebccc"]]
}],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"address": "0x14690f87f2f58d47bac4f7668bfeb930c68fc891",
"blockHash": "0x3183f9c8f54c3541688ee72325b03045dd1218705874c8272f54677bbe4c7831",
"blockNumber": "0x156aea",
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
"logIndex": "0x0",
"removed": false,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000c441849d0df270286e0415b44cc9a5e55221aa81",
"0x0000000000000000000000001000000000000000000000000000000000000001"
],
"transactionHash": "0xa9e0ad7036c45b4a9c351bf544f3d6c10e2d5011ad10cd3470c2faba3227154e",
"transactionIndex": "0x1"
},
{
"address": "0x14690f87f2f58d47bac4f7668bfeb930c68fc891",
"blockHash": "0x7dfbf063a619f5fbf28e1627edb5fe3a211cfcae1a792858d212a4a135dd7042",
"blockNumber": "0x156aeb",
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
"logIndex": "0x0",
"removed": false,
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x000000000000000000000000c441849d0df270286e0415b44cc9a5e55221aa81",
"0x0000000000000000000000001000000000000000000000000000000000000001"
],
"transactionHash": "0xd07de1804d6f98e04c845931893689725843df9e98bced53bd9fbcc197d2ffc5",
"transactionIndex": "0x4"
}
]
}
eth_getUncleCountByBlockHash
Returns the number of uncles in a block by hash.
Input:
- String - Block hash
Output: String - Uncle count
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getUncleCountByBlockHash",
"params": ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0"
}
eth_getUncleCountByBlockNumber
Returns the number of uncles in a block by number.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Uncle count
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getUncleCountByBlockNumber",
"params": ["latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0"
}
eth_getUncleByBlockHashAndIndex
Returns uncle information by block hash and index.
Input:
- String - Block hash
- String - Uncle index
Output: Object - Uncle information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getUncleByBlockHashAndIndex",
"params": ["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238", "0x0"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
eth_getUncleByBlockNumberAndIndex
Returns uncle information by block number and index.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
- String - Uncle index
Output: Object - Uncle information
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getUncleByBlockNumberAndIndex",
"params": ["latest", "0x0"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
eth_getBalance
Returns the balance of the account at the specified block.
Input:
- String - Address
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Account balance in Wei
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0xde0b6b3a7640000"
}
eth_getStorageAt
Returns the value from a storage position at an address.
Input:
- String - Address
- String - Integer of the position in storage
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Storage value
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getStorageAt",
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x0", "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0000000000000000000000000000000000000000000000000000000000000001"
}
eth_getTransactionCount
Returns the number of transactions sent from an address.
Input:
- String - Address
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Transaction count
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getTransactionCount",
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1"
}
eth_getCode
Returns the code at an address.
Input:
- String - Address
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Bytecode
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getCode",
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x6080..."
}
eth_getAccount
Return the account at an address
Input:
- String - Address
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: Object - Account
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_getAccount",
"params": ["0x8121e0ac0173f9f0c70cf9f024da6f2a34b7c698", "latest"],
"id": 1
}
Example Response:
{
"id": 232,
"jsonrpc": "2.0",
"result": {
"balance": "0x363578546476EDB800",
"codeHash": "0x84f348468f66ba01ab042c04157d07223103df65deb4ca6becda6357a4d0713b",
"nonce": "0x1fa71",
"storageRoot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
}
eth_sendRawTransaction
Sends a signed transaction.
Input:
- String - Signed transaction data
Output: String - Transaction hash
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": ["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
eth_call
Executes a message call without creating a transaction.
Input:
- Object - Transaction call object
- from: (optional) Address of sender.
- to: Address of contract.
- gas: (optional) Gas limit.
- gasPrice: (optional) Gas price.
- value: (optional) Amount in wei.
- data/input: Call data.
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Return value as a hexadecimal string.
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [{
"from": "0x...",
"to": "0x687422eea2cb73b5d3e242ba5456b782919afc85",
"gasPrice": "0x...",
"value": "0x...",
"data": "0x..."
}, "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x..."
}
eth_estimateGas
Estimates the gas needed for a transaction.
Input:
- Object - Transaction object
- from: (optional) Address of sender.
- to: Address of contract.
- gas: (optional) Gas limit.
- gasPrice: (optional) Gas price.
- value: (optional) Amount in wei.
- data/input: Call data.
- String - (optional) An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: String - Gas estimate
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [{
"to": "0x687422eea2cb73b5d3e242ba5456b782919afc85",
"data": "0x..."
}],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x5208"
}
eth_createAccessList
Creates an access list.
Input:
- Object - Transaction call object
- from: (optional) Address of sender.
- to: Address of contract.
- gas: (optional) Gas limit.
- gasPrice: (optional) Gas price.
- value: (optional) Amount in wei.
- data/input: Call data.
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: Object - Access list
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_createAccessList",
"params": [{
"to": "0x687422eea2cb73b5d3e242ba5456b782919afc85",
"data": "0x..."
}, "latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accessList": [],
"gasUsed": "0x0"
}
}
eth_chainId
Returns the chain ID.
Input: None
Output: String - Chain ID
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1"
}
eth_maxPriorityFeePerGas
Returns the priority fee needed to be included in a block.
Input: None
Output: String - Priority fee
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_maxPriorityFeePerGas",
"params": [],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x10000"
}
eth_feeHistory
Returns fee history.
Input:
- String - Block count. The number of blocks in the requested range.
- String - Newest block. The highest An integer represented by a hex string, indicating the block number of the requested range, or 'lastest' for the most recent block
- Array - Reward percentiles. An optional array of percentile values (between 0 and 100) in ascending order. For each block in the requested range, the transactions are sorted by effective priority fee per gas, and the corresponding effective priority fee per gas at each percentile is returned.
Output: Object - Fee history
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_feeHistory",
"params": ["0x4", "latest", [0.1, 0.2, 0.3]],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"oldestBlock": "0x10d4f",
"baseFeePerGas": ["0x3b9aca00", "0x3b9aca00", "0x3b9aca00", "0x3b9aca00"],
"gasUsedRatio": [0.1, 0.2, 0.3],
"reward": [["0x0", "0x0", "0x0"], ["0x0", "0x0", "0x0"], ["0x0", "0x0", "0x0"]]
}
}
eth_subscribe
Creates a subscription for specified events.
This is a websocket API.
Input:
- String - Event type ("newHeads", "logs", "newPendingTransactions")
- Object - Filter options (for "logs" only)
Output: String - Subscription ID
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_subscribe",
"params": ["newHeads"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1"
}
eth_unsubscribe
Cancels a subscription.
This is a websocket API.
Input:
- String - Subscription ID
Output: Boolean - True if successfully unsubscribed
Example Request:
{
"jsonrpc": "2.0",
"method": "eth_unsubscribe",
"params": ["0x1"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
DEBUG Methods
debug_traceBlockByHash
Traces all transactions in a block by hash.
Input:
- String - Block hash
- Object - Tracer configuration (optional)
Output: Array - Trace results
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_traceBlockByHash",
"params": ["0x8db9379571cbc2fa54d21f4a171c04a1f1d56cfac4d9cbd38ace94bdae096fe7", {"tracer": "callTracer"}],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"result": {
"error": "73746174757320636f64653a2032",
"from": "0xa985c6d0f08dfb0cf9d1d145d2488b89726bdde0",
"gas": "0x4c4b40",
"gasUsed": "0x628a",
"input": "0xafef7efd0000000000000000000000001000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"to": "0x4d16e79ed4a22f35e55072ff356fbfe05af47d1c",
"type": "CALL",
"value": "0x0"
},
"txHash": "0x239b5d6ebd6e252acda70375d4c8006d72b2cee206bbd333fa8b6e595c17be26"
},
{
"result": {
"from": "0x6c6fd79c1885ebe1ea3a21175b944d2f153fadff",
"gas": "0x9d1e",
"gasUsed": "0x5e27",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"output": "0x0000000000000000000000000000000000000000000000000000000000000000",
"to": "0xd7fb852730b0990197893e7e04cc976fa9db27a0",
"type": "CALL",
"value": "0x0"
},
"txHash": "0x31f5edc1c8dcd4e5cff5d1d2177006423c9652f2bad2c7c17d73e84ef3d7936d"
}
]
}
debug_traceBlockByNumber
Traces all transactions in a block by number.
Input:
- String - An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
- Object - Tracer configuration (optional)
Output: Array - Trace results
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_traceBlockByNumber",
"params": ["latest", {"tracer": "callTracer"}],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"result": {
"error": "73746174757320636f64653a2032",
"from": "0xa985c6d0f08dfb0cf9d1d145d2488b89726bdde0",
"gas": "0x4c4b40",
"gasUsed": "0x628a",
"input": "0xafef7efd0000000000000000000000001000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"to": "0x4d16e79ed4a22f35e55072ff356fbfe05af47d1c",
"type": "CALL",
"value": "0x0"
},
"txHash": "0x239b5d6ebd6e252acda70375d4c8006d72b2cee206bbd333fa8b6e595c17be26"
},
{
"result": {
"from": "0x6c6fd79c1885ebe1ea3a21175b944d2f153fadff",
"gas": "0x9d1e",
"gasUsed": "0x5e27",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"output": "0x0000000000000000000000000000000000000000000000000000000000000000",
"to": "0xd7fb852730b0990197893e7e04cc976fa9db27a0",
"type": "CALL",
"value": "0x0"
},
"txHash": "0x31f5edc1c8dcd4e5cff5d1d2177006423c9652f2bad2c7c17d73e84ef3d7936d"
}
]
}
debug_traceTransaction
Traces a transaction by hash.
Input:
- String - Transaction hash
- Object - Tracer configuration (optional)
Output: Object - Trace result
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b", {"tracer": "callTracer"}],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"from": "0x6c6fd79c1885ebe1ea3a21175b944d2f153fadff",
"gas": "0x9d1e",
"gasUsed": "0x5e27",
"input": "0xa9059cbb00000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001",
"output": "0x0000000000000000000000000000000000000000000000000000000000000000",
"to": "0xd7fb852730b0990197893e7e04cc976fa9db27a0",
"type": "CALL",
"value": "0x0"
}
}
debug_getRawBlock
Returns the raw RLP-encoded block by hash or number.
Input:
- String - Block hash or number. Block number could be hex number or tag such as "earliest" or "latest".
Output: String - RLP-encoded block
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_getRawBlock",
"params": ["latest"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": "0xf943..."
}
debug_getRawHeader
Returns the raw RLP-encoded block header by hash or number.
Input:
- String - Block hash or number. Block number could be hex number or tag such as "earliest" or "latest".
Output: String - RLP-encoded header
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_getRawHeader",
"params": ["latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x..."
}
debug_getRawReceipts
Returns the raw RLP-encoded receipts for a block by hash or number.
Input:
- String - Block hash or number
Output: Array - RLP-encoded receipts
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_getRawReceipts",
"params": ["latest"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": ["0x...", "0x..."]
}
debug_getRawTransaction
Returns the raw RLP-encoded transaction by hash.
Input:
- String - Transaction hash
Output: String - RLP-encoded transaction
Example Request:
{
"jsonrpc": "2.0",
"method": "debug_getRawTransaction",
"params": ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],
"id": 1
}
Example Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x..."
}
Jovay Methods
jovay_getProof
Returns proof for an account or storage.
Input:
- String - Address
- Array - Storage keys
- String -An integer represented by a hex string, indicating the block number or the string
"latest"
,"earliest"
,"pending"
,"safe"
or"finalized"
Output: Array - Proof data
Example Request:
{
"jsonrpc": "2.0",
"method": "jovay_getProof",
"params": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1", ["0x0", "0x1"], "latest"],
"id": 1
}
Example Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": [
[
"0x006e99230b2f0df03b0d82bc2a707a080de2a6a3716cc3563d669d06607f9ca5587771450c5cdfe74c54849e5f2df98d049fa348527ee3660ebeed1b34dd113430",
"0x003bb26853373c3c0d9202590d2ab75f540ee99f26e8868538d4568142c92c6a0d1065776d8b587a443bf6ee5f8f5fe507130335395e9e1168134c2d7218bbea4f",
"0x0076ddf40f04db5651d8578863e57c96582efa700190bb6f1486451949d02b8a1c446cc96e158774723582a94015b1853063c35538cec0336ee34ace2114a2cc18",
"0x002c946c07cb77a171c258502bda52ec3b584c333166b8380fe4f06e4b38ffc44fc0991b5f610ffe4eaa76811d3e4f0f0b899e4569cfeb88399152ba5c48628237",
"0x00253fbb02bd65af45e20eab0686fa1427abb8383b25b8e35cb8496f67112b5b0f12e8754938e9552be6fc270dfebe7977c7d09d6abb4ae40ddcb1582de58b201d",
"0x003e923e01dac620228dcaf43d6d2162388267bd63e3884822196c185acdab2252359b522c1bd8f0615305a61c44b90642227d6c612343e93cb090b549fdc5e636",
"0x00ffb56511833f5f6b0d1d9a09bfe51a3332e3235c6ff25029712b3836a8bf202bb550203f4cc2d02aff0e376494258a7531e0e620ae2cf1428a76ee57b2e97c56",
"0x00e7f61166f9be003caffdd24079847a31f8100468d6212f4f997a5f0266389f75ac281e506858f57793a6db194207b71f665dc51eaded9f12ec5d6113a7fd080f",
"0x00e422e16fbfbe6566c5c0030b4b353d13f0549349c8fcd65b1bb28c31eacfb16766ad8a32ffae561f4f9d1e4d88c7ab0a5c6c5f38949a93575abcdc1bb51d2753",
"0x001b315e3ab11aca40b5a0fb4f8a171524df8ab23fdb398d2f8c3336133d6bb22c86d6cc12efd4d02c6655254a36f337356c93ac26fff16d451ea0cf017dcbaa38",
"0x00829a3a2a5576ba3289b6df4af67a3b4e2e929062c2c7e931af4d1b251187e268cc41d50f83cbe873302e0c69c85747575251f548e87ac543ef3af05047928a26",
"0x00458431752ccd97192bf5c47228f9146d8b4b60705b1d6a6de4d271539a4a310e37587d5923734b4e5549583ac5bffa607725584f33fdf8772cbc6d362466ba5e",
"0x0024d55b6b9f85d60338da6f3290f57909654eed26e6824c33a121180447197c20aeedcf5c19aa405147823b758e7f4712b7d59d3d03800526b21cae6c6bd4483e",
"0x00d90d8943c8f797692e43b951d57e6216f8c4f20b25c38b0a6133a1080f2cd951c15771359ffab877097e8c2e736bac209fe7293c3de6ab2d56887a0bad156a72",
"0x0055c81854a897590871a8593ac8021971015637306ecdf90e5ff63c6cf62d0b273419923b2c57a94e99253e164e020b69904ead72575ead64c1ca49010b883c0d",
"0x009b136814108e771aaefed67166c26e7329cb2c12ff7f6260d366d41c33978663a12dc25f13309c3d35a8b62d2ce871288f1e473e031ab24a7eff0c0050ae1611",
"0x0017157a425b512e4305a33d755816f524fb714838cd6d2613b691e631eb663b1912c05c2782c19e19989f850c59b62025f426f0274ea467004da1e822b147da1a",
"0x000b34f9382b146210a1bfca548b30075a7c867d54c218391ac5f11552a94adb1e18fe682b385f6b01dde3bb3f9bcf3055e51dd33f841cc62ee547cf4d61ba9712",
"0x0055cf513cf8140d0202864f39f838ff10176c9e460d86ba38ac5f825e65320f2f8396955b86f9861ef95b0a334d72f233956cf136ec29735069cad62946608e23",
"0x009e6ae550dea1303addc15a6d022fd052292c4b4081c6dd77156ee92facad362722e4af2015ad6c74c8097000438adf5e7e971254373bfb69ea1bd54062b3e120",
"0x007c28af72b06eed419e3b7f5b82c6401f4bb118754ccbc01cc605f655fd30a64a630b802cd60ff874c08bc54be513680519216e4f5fb268058b270272a0cd394f",
"0x00fa95534851edf96928043573dbffef3f3f615b37e8ca6755fea2be6b09a87a15bc7e110106a9bd6242d3197177204772792afa0eb6d3fe28682970276faca165",
"0x003139df641982d61045885d06f1a3bf341b034b099282486f1d952b0e81aef254ecfef425ae503271e1f8e31d984b1548e4768b14672a6b43d60fe876aada6822",
"0x00dbda790c37211243c9f7376638332643998b076d542d322032ed685032d0e674968de54d0ba69f03d02b913e52e4d25acf84ec23b23df24b73fe2c3adf497f21",
"0x01af128406e2a2676d7cc6de2a15169c6bcbdac863e151cb085f098f45cbce94445a54524f4e00000000000000000000000000000000000000000000000000000a"
]
]
}