COMBO RPC

📘

Supported on COMBO (mainnet&testnet) only.

API Endpoint

The format of a COMBO Mainnet API endpoint is
https://combo-mainnet.nodereal.io/v1/{{api_key}}

Here is an example:
https://combo-mainnet.nodereal.io/v1/4c0a1c23661a4e26bcbcwed461e34ea9

The format of a COMBO Testnet API endpoint is
https://combo-testnet.nodereal.io/v1/{{api_key}}

Here is an example:
https://combo-testnet.nodereal.io/v1/4c0a1c23661a4e26bcbcwed461e34ea9

Ethereum JSON-RPC API

eth_accounts

Returns an array of addresses owned by the client.

Parameters

  • N/A

Returns

  • An array of addresses owned by the client

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_accounts","id":1,"jsonrpc":"2.0"}'

eth_blockNumber

Returns the latest block number of the blockchain.

Parameters

  • N/A

Returns

  • An integer value of the latest block number encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}'

eth_call

Executes a new message call immediately without creating a transaction on the blockchain.

Parameters

  • transaction- object - The transaction call object which contains the following fields:
    • from- string - (optional) The address from which the transaction is sent
    • to- string - The address to which the transaction is addressed
    • gas- integer - (optional) The integer of gas provided for the transaction execution
    • gasPrice- integer - (optional) The integer of gasPrice used for each paid gas encoded as hexadecimal
    • value- integer - (optional) The integer of value sent with this transaction encoded as hexadecimal
    • data- string - (optional) The hash of the method signature and encoded parameters. For more information, see the Contract ABI description in the Solidity documentation
  • blockNumber/tag - string - The block number in hexadecimal format or the string latest, earliest, pending, safe or finalized

Returns

  • data- The return value of the executed contract method

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_call","params":[{"from":null,"to":"0x6b175474e89094c44da98b954eedeac495271d0f","data":"0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"}, "latest"],"id":1,"jsonrpc":"2.0"}'

eth_chainId

Returns the current network/chain ID, used to sign replay-protected transaction introduced in EIP-155.

Parameters

  • N/A

Returns

  • It returns a hexadecimal value in string format which represents an integer of the chain ID

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_chainId","params":[],"id":1,"jsonrpc":"2.0"}'

eth_estimateGas

Returns an estimation of gas for a given transaction.

Parameters

  • transaction- object - The transaction call object:
    • from- string - (optional) The address from which the transaction is sent
    • to- string - The address to which the transaction is addressed
    • gas- integer - (optional) The integer of gas provided for the transaction execution
    • gasPrice- integer - (optional) The integer of gasPrice used for each paid gas encoded as hexadecimal
    • value- integer - (optional) The integer of value sent with this transaction encoded as hexadecimal
    • data- string - (optional) The hash of the method signature and encoded parameters.

Returns

  • quantity- The estimated amount of gas used

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_estimateGas","params":[{"from":"0x8D97689C9818892B700e27F316cc3E41e17fBeb9","to":"0xd3CdA913deB6f67967B99D67aCDFa1712C293601","value":"0x186a0"}],"id":1,"jsonrpc":"2.0"}'

eth_feeHistory

Returns the collection of historical gas information.

Parameters

  • blockCount- string/integer - The number of blocks in the requested range. Between 1 and 1024 blocks can be requested in a single query. It will return less than the requested range if not all blocks are available
  • newestBlock- string - The highest number block of the requested range in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  • rewardPercentiles- integer - A list of percentile values with a monotonic increase in value. The transactions will be ranked by effective tip per gas for each block in the requested range, and the corresponding effective tip for the percentile will be calculated while taking gas consumption into consideration

Returns

  • oldestBlock- The lowest number block of the returned range encoded in hexadecimal format
  • baseFeePerGas- An array of block base fees per gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-1559 blocks
  • gasUsedRatio- An array of block gas used ratios. These are calculated as the ratio of gasUsed and gasLimit
  • reward- (Optional) An array of effective priority fees per gas data points from a single block. All zeroes are returned if the block is empty

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_feeHistory","params":[4, "latest", [25, 75]],"id":1,"jsonrpc":"2.0"}'

eth_gasPrice

Returns the current gas price on the network in wei.

Parameters

  • N/A

Returns

  • The hexadecimal value of the current gas price in wei

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_gasPrice","params":[],"id":1,"jsonrpc":"2.0"}'

eth_getBalance

Returns the balance of given account address in wei.

Parameters

  • address- string - The address (20 bytes) to check for balance
  • blockNumber/tag - string - The block number in hexadecimal format or the string latest, earliest, pending, safe or finalized

Returns

  • result- The ETH balance of the specified address in hexadecimal value, measured in wei

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBalance","params":["0x622Fbe99b3A378FAC736bf29d7e23B85E18816eB", "latest"],"id":1,"jsonrpc":"2.0"}'

eth_getBlockByHash

Returns information of the block matching the given block hash.

Parameters

  • hash - string - The hash (32 bytes) of the block
  • transaction detail flag - boolean - (default: false) It returns the full transaction objects when it is true otherwise it returns only the hashes of the transactions

Returns

  • object- A block object, or null when no block was found
    • baseFeePerGas- A string of the base fee encoded in hexadecimal format. Please note that this response field will not be included in a block requested before the EIP-1559 upgrade
    • difficulty-The integer of the difficulty for this block encoded as a hexadecimal
    • extraData- The “extra data” field of this block
    • gasLimit- The maximum gas allowed in this block encoded as a hexadecimal
    • gasUsed- The total used gas by all transactions in this block encoded as a hexadecimal
    • hash- The block hash of the requested block. null if pending
    • l1BatchNumber- The L1 batch number of the block
    • l1BatchTimestamp- The L1 batch timestamp of the block
    • logsBloom- The bloom filter for the logs of the block. null if pending
    • miner- The address of the beneficiary to whom the mining rewards were given
    • mixHash- A string of a 256-bit hash encoded as a hexadecimal
    • nonce- The hash of the generated proof-of-work. null if pending
    • number- The block number of the requested block encoded as a hexadecimal. null if pending
    • parentHash- The hash of the parent block
    • receiptsRoot- The root of the receipts trie of the block
    • sha3Uncles- The SHA3 of the uncles data in the block
    • size- The size of this block in bytes as an Integer value encoded as hexadecimal
    • stateRoot- The root of the final state trie of the block
    • timestamp- The unix timestamp for when the block was collated
    • totalDifficulty- The integer of the total difficulty of the chain until this block encoded as a hexadecimal
    • transactions- An array of transaction objects - please see eth_getTransactionByHash for exact shape
    • transactionsRoot- The root of the transaction trie of the block
    • uncles- An array of uncle hashes

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockByHash","params":["0x8125d2cdb126d1eb9c40bd3a3a1c00633d5698c0af4dfa90ef2ad32ba81b6f52",false],"id":1,"jsonrpc":"2.0"}'

eth_getBlockByNumber

Returns information of the block matching the given block number.

Parameters

  • blockNumber/tag - string - The block number in hexadecimal format or the string latest, earliest, pending, safe or finalized
  • transaction detail flag - boolean - (default: false) The method returns the full transaction objects when this value is true otherwise, it returns only the hashes of the transactions

Returns

  • object- A block object, or null when no block was found
    • baseFeePerGas- A string of the base fee encoded in hexadecimal format. Please note that this response field will not be included in a block requested before the EIP-1559 upgrade
    • difficulty-The integer of the difficulty for this block encoded as a hexadecimal
    • extraData- The “extra data” field of this block
    • gasLimit- The maximum gas allowed in this block encoded as a hexadecimal
    • gasUsed- The total used gas by all transactions in this block encoded as a hexadecimal
    • hash- The block hash of the requested block. null if pending
    • l1BatchNumber- The L1 batch number of the block
    • l1BatchTimestamp- The L1 batch timestamp of the block
    • logsBloom- The bloom filter for the logs of the block. null if pending
    • miner- The address of the beneficiary to whom the mining rewards were given
    • mixHash- A string of a 256-bit hash encoded as a hexadecimal
    • nonce- The hash of the generated proof-of-work. null if pending
    • number- The block number of the requested block encoded as a hexadecimal. null if pending
    • parentHash- The hash of the parent block
    • receiptsRoot- The root of the receipts trie of the block
    • sha3Uncles- The SHA3 of the uncles data in the block
    • size- The size of this block in bytes as an Integer value encoded as hexadecimal
    • stateRoot- The root of the final state trie of the block
    • timestamp- The unix timestamp for when the block was collated
    • totalDifficulty- The integer of the total difficulty of the chain until this block encoded as a hexadecimal
    • transactions- An array of transaction objects - please see eth_getTransactionByHash for exact shape
    • transactionsRoot- The root of the transaction trie of the block
    • uncles- An array of uncle hashes

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockByNumber","params":["0x5F4E6",false],"id":1,"jsonrpc":"2.0"}'

eth_getBlockTransactionCountByHash

Returns the number of transactions for the block matching the given block hash.

Parameters

  • hash - string - The hash of the block

Returns

  • result- The number of transactions associated with a specific block, in hexadecimal value

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockTransactionCountByHash","params":["0x43c330b1bc3b8ec49ae75e67a81712c05791f4c16003fad98d9dca03556e3cf2"],"id":1,"jsonrpc":"2.0"}'

eth_getBlockTransactionCountByNumber

Returns the number of transactions for the block matching the given block number.

Parameters

  • blockNumber- string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

Returns

  • result- The number of transactions in a specific block represented in hexadecimal format

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getBlockTransactionCountByNumber","params":["0x6B04E"],"id":1,"jsonrpc":"2.0"}'

eth_getCode

Returns the compiled bytecode of a smart contract.

Parameters

  • address- string - The address of the smart contract from which the bytecode will be obtained
  • blockNumber- string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

Returns

  • result- The bytecode from a given address returned as a string

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getCode","params":["0x4200000000000000000000000000000000000015","latest"],"id":1,"jsonrpc":"2.0"}'


eth_getFilterChanges

Polling method for a filter, which returns an array of events that have occurred since the last poll.

Parameters

  • filter ID - string - The filter id that is returned from eth_newFilter, eth_newBlockFilter or eth_newPendingTransactionFilter

Returns

  • array- An array of one of the following, depending on the filter type, or empty if there were no changes since the last poll:
    • eth_newBlockFilter:
      • blockHash- The 32 byte hash of a block that meets your filter requirements
    • eth_newPendingTransactionFilter:
      • transactionHash- The 32 byte hash of a transaction that meets your filter requirements
    • eth_newFilter:
      • address- An address from which this log originated
      • topics- An array of zero to four 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 declare the event with the anonymous specifier
      • data- It contains one or more 32 Bytes non-indexed arguments of the log
      • blockNumber- The block number where this log was in. null when its a pending log
      • transactionHash- The hash of the transactions this log was created from. null when its a pending log
      • transactionIndex- The integer of the transaction's index position that the log was created from. null when it's a pending log
      • blockHash- The hash of the block where this log was in. null when its a pending log
      • logIndex- The integer of the log index position in the block. null when it's a pending log
      • removed- It is true when the log was removed due to a chain reorganization, and false if it's a valid log

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getFilterChanges","params":["YOUR_FILTER_ID"],"id":1,"jsonrpc":"2.0"}'

eth_getFilterLogs

Returns an array of all logs matching filter with given id.

Parameters

  • id- string - The filter ID

Returns

  • result- An array of log objects, or an empty array if nothing has changed since last poll
    • address- string - The address from which this log originated
    • topics- array - An 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)
    • data- string - It contains one or more 32 Bytes non-indexed arguments of the log
    • blockNumber- string - The block number where this log was in. null when its pending. Null when it's a pending log
    • transactionHash- string - The hash of the transaction from which this log was created from. null if the log is pending
    • transactionIndex- string - The integer of the transaction's index position that the log was created from. Null when it's a pending log
    • blockHash- string - The hash of the block where this log was in. Null when it's a pending log
    • logIndex- string - The integer of the log index position in the block. Null when it's a pending log
    • removed- boolean - It is true if log was removed, due to a chain reorganization and false if it's a valid log

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getFilterLogs","params":["0xfba02b32cc0fd31639b68144ebc59fd2"],"id":1,"jsonrpc":"2.0"}'

eth_getLogs

Returns an array of all logs matching a given filter object.

Parameters

  • object- The transaction call object which contains the following fields:
    • fromBlock- string - (optional, default: "latest") The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
    • toBlock- string - (optional, default: "latest") The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
    • address- string - (optional) The contract address or a list of addresses from which logs should originate
    • topics- string - (optional) An array of DATA topics and also, the topics are order-dependent.
    • blockHash- string - (optional) With the addition of EIP-234, blockHash is a new filter option that restricts the logs returned to the block number referenced in the blockHash. Using the blockHash field is equivalent to setting the fromBlock and toBlock to the block number the blockHash references. If blockHash is present in the filter criteria, neither fromBlock nor toBlock is allowed

Returns

  • array- An array of log objects, or an empty array if nothing has changed since last poll:
    address - An address from which this log originated
    • topics-An array of zero to four 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 declare the event with the anonymous specifier
    • data- It contains one or more 32 Bytes non-indexed arguments of the log
    • blockNumber- The block number where this log was in. null when it's a pending log
    • transactionHash- The hash of the transactions this log was created from. null when its a pending log
    • transactionIndex- The integer of the transaction's index position that the log was created from. null when it's a pending log
    • blockHash- The hash of the block where this log was in. null when it's a pending log
    • logIndex- The integer of the log index position in the block. null when it's a pending log
    • removed- It is true when the log was removed due to a chain reorganization, and false if it's a valid log

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getLogs","params":[{"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"}],"id":1,"jsonrpc":"2.0"}'


eth_getProof

Returns the value from a storage position at a given address.

Parameters

  • address- string - The address of the account for which the balance is to be checked
  • storageKeys- array[strings] - An array of storage-keys that should be proofed and included
  • blockNumber- string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

Returns

  • address- The address associated with the account
  • accountProof- An array of rlp-serialized MerkleTree-Nodes which starts with the stateRoot-Node and follows the path of the SHA3 address as key
  • balance- The current balance of the account in wei
  • codeHash- A 32 byte hash of the code of the account
  • nonce- The hash of the generated proof-of-work. Null if pending
  • storageHash- A 32 byte SHA3 of the storageRoot. All storage will deliver a MerkleProof starting with this rootHash
  • storageProof- An array of storage-entries as requested. Each entry is an object with the following fields:
    • key- The requested storage key
    • value- The storage value
    • proof- An array of rlp-serialized MerkleTree-Nodes which starts with the stateRoot-Node and follows the path of the SHA3 address as key

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getProof","params":["0x7F0d15C7FAae65896648C8273B6d7E43f58Fa842",["0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"],"latest"],"id":1,"jsonrpc":"2.0"}'


eth_getStorageAt

Returns the value from a storage position at a given address.

Parameters

  • address- string - The address to check for storage
  • position- string - The integer of the position in storage
  • blockNumber- string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

Returns

  • result- It returns the value from a storage position at a given address

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getStorageAt","params":["0xE592427A0AEce92De3Edee1F18E0157C05861564", "0x0", "latest"],"id":1,"jsonrpc":"2.0"}'


eth_getTransactionByBlockHashAndIndex

Returns information about a transaction given a blockhash and transaction index position.

Parameters

  • blockHash - string - The block hash
  • index - string - An integer of the transaction index position encoded as a hexadecimal

Returns

  • object- The transaction response object, or null if no transaction is found:
    • blockHash- The hash of the block where this log was in. null when it's a pending log
    • blockNumber- The block number where this log was in. null when it's a pending log
    • from- The address of the sender
    • gas- The gas provided by the sender, encoded as hexadecimal
    • gasPrice- The gas price provided by the sender in wei, encoded as hexadecimal
    • hash- The hash of the transaction
    • input- The data sent along with the transaction
    • nonce- The number of transactions made by the sender before this one encoded as hexadecimal
    • to- The address of the receiver. null when it's a contract creation transaction
    • transactionIndex- The integer of the transaction's index position that the log was created from. null when it's a pending log
    • value- The value transferred in wei encoded as hexadecimal
    • type- The transaction type
    • sourceHash- The hash of the source transaction that created this transaction
    • mint- The minting event associated with the transaction
    • v - The standardized V field of the signature
    • r The R field of the signature
    • s The S field of the signature
    • isSystemTx It indicates whether the transaction is initiated by the system or not

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionByBlockHashAndIndex","params":["0x43c330b1bc3b8ec49ae75e67a81712c05791f4c16003fad98d9dca03556e3cf2","0x0"],"id":1,"jsonrpc":"2.0"}'


eth_getTransactionByBlockNumberAndIndex

Returns information about a transaction given a block number and transaction index position.

Parameters

  • blockNumber - string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  • index- string - An integer of the transaction index position encoded as a hexadecimal

Returns

  • object- The transaction response object, or null if no transaction is found:
    • blockHash- The hash of the block where this log was in. null when it's a pending log
    • blockNumber- The block number where this log was in. null when it's a pending log
    • from- The address of the sender
    • gas- The gas provided by the sender, encoded as hexadecimal
    • gasPrice- The gas price provided by the sender in wei, encoded as hexadecimal
    • hash- The hash of the transaction
    • input- The data sent along with the transaction
    • nonce- The number of transactions made by the sender before this one encoded as hexadecimal
    • to- The address of the receiver. null when it's a contract creation transaction
    • transactionIndex- The integer of the transaction's index position that the log was created from. null when it's a pending log
    • value- The value transferred in wei encoded as hexadecimal
    • type- The transaction type
    • sourceHash- The hash of the source transaction that created this transaction
    • mint- The minting event associated with the transaction
    • v - The standardized V field of the signature
    • r The R field of the signature
    • s The S field of the signature
    • isSystemTx It indicates whether the transaction is initiated by the system or not

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionByBlockNumberAndIndex","params":["0x6b04e", "0x0"],"id":1,"jsonrpc":"2.0"}'


eth_getTransactionByHash

Returns the information about a transaction from a transaction hash.

Parameters

  • hash- string - The hash of a transaction

Returns

  • object- The transaction response object, or null if no transaction is found:
    • blockHash- The hash of the block where this log was in. null when it's a pending log
    • blockNumber- The block number where this log was in. null when it's a pending log
    • from- The address of the sender
    • gas- The gas provided by the sender, encoded as hexadecimal
    • gasPrice- The gas price provided by the sender in wei, encoded as hexadecimal
    • hash- The hash of the transaction
    • input- The data sent along with the transaction
    • nonce- The number of transactions made by the sender before this one encoded as hexadecimal
    • to- The address of the receiver. null when it's a contract creation transaction
    • transactionIndex- The integer of the transaction's index position that the log was created from. null when it's a pending log
    • value- The value transferred in wei encoded as hexadecimal
    • type- The transaction type
    • sourceHash- The hash of the source transaction that created this transaction
    • mint- The minting event associated with the transaction
    • v - The standardized V field of the signature
    • r The R field of the signature
    • s The S field of the signature
    • isSystemTx It indicates whether the transaction is initiated by the system or not

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionByHash","params":["0x2d3750f7944818e1a4e6b897b6f6ea4d975fcf46720990eb4eda0c00d926a8fd"],"id":1,"jsonrpc":"2.0"}'


eth_getTransactionCount

Returns the number of transactions sent from an address.

Parameters

  • address- string - The address from which the transaction count to be checked
  • blockNumber- string - The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain

Returns

  • result- The integer of the number of transactions sent from an address encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionCount","params":["0xDeaDDEaDDeAdDeAdDEAdDEaddeAddEAdDEAd0001", "latest"],"id":1,"jsonrpc":"2.0"}'


eth_getTransactionReceipt

Returns the receipt of a transaction by transaction hash.

Parameters

  • hash- string - The hash of a transaction

Returns

  • object- A transaction receipt object, or null when no receipt was found
    • blockHash- The hash of the block where this transaction was in
    • blockNumber- The block number where this transaction was added encoded as a hexadecimal
    • contractAddress- The contract address created for contract creation, otherwise null
    • cumulativeGasUsed- The total gas used when this transaction was executed in the block
    • effectiveGasPrice- The total base charge plus tip paid for each unit of gas
    • from- The address of the sender
    • gasUsed- The amount of gas used by this specific transaction alone
    • logs- An array of log objects that generated this transaction
      • address- The address from which this log was generated
      • topics- An array of zero to four 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 declare the event with the anonymous specifier
      • data- The 32 byte non-indexed argument of the log
      • blockNumber- The block number where this log was in
      • transactionHash- The hash of the transaction from which this log was created from. null if the log is pending
      • transactionIndex- The transactions index position from which this log was created from. null if the log is pending
      • blockHash- The hash of the block where this log was in
      • logIndex- The integer of log index position in the block encoded as hexadecimal. null if the log is pending
      • removed- It is true if log was removed, due to a chain reorganization and false if it's a valid log
    • logsBloom- The bloom filter which is used to retrive related logs
    • status- It is either 1 (success) or 0 (failure) encoded as a hexadecimal
    • to- The address of the receiver. Null when its a contract creation transaction
    • transactionHash- The hash of the transaction
    • transactionIndex- The transactions index position in the block encoded as a hexadecimal
    • type- The type of value

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getTransactionReceipt","params":["0x2d3750f7944818e1a4e6b897b6f6ea4d975fcf46720990eb4eda0c00d926a8fd"],"id":1,"jsonrpc":"2.0"}'


eth_getUncleCountByBlockHash

Returns the number of uncles for the block matching the given block hash.

Parameters

  • hash- string - The hash of the block to get uncles for

Returns

  • uncles- The integer value of the number of uncles in the block encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getUncleCountByBlockHash","params":["0x8125d2cdb126d1eb9c40bd3a3a1c00633d5698c0af4dfa90ef2ad32ba81b6f52"],"id":1,"jsonrpc":"2.0"}'


eth_getUncleCountByBlockNumber

Returns the number of uncles for the block matching the given block number.

Parameters

  • blockNumber- string - The integer of a block number encoded in hexadecimal format starting with 0x

Returns

  • uncles- The integer value of the number of uncles in the block encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getUncleCountByBlockNumber","params":["0x6B04E"],"id":1,"jsonrpc":"2.0"}'


eth_hashrate

Returns the number of hashes per second that the node is mining with.

Parameters

  • N/A

Returns

  • hashrate- The number of hashes per second encoded in hexadecimal format

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_hashrate","params":[],"id":67}'


eth_maxPriorityFeePerGas

Get the priority fee needed to be included in a block.

Parameters

  • N/A

Returns

  • result- The hex value of the priority fee needed to be included in a block

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_maxPriorityFeePerGas","params":[],"id":1,"jsonrpc":"2.0"}'



eth_mining

Returns true if node is actively mining new blocks.

Parameters

  • N/A

Returns

  • result- It is true if the node is mining, otherwise false

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_mining","params":[],"id":67}'


eth_newBlockFilter

Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.

Parameters

  • N/A

Returns

  • result- It returns a filter id to be used when calling eth_getFilterChanges

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":67}'


eth_newFilter

Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges.

Parameters

object- The transaction response object which contains the following filter information:

  • fromBlock- string - (optional) The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  • toBlock- string - (optional) The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  • address- string - (optional) The contract address or a list of addresses from which logs should originate
  • topics- string - (optional) An array of DATA topics and also, the topics are order-dependent.

Returns

  • result - It returns a filter id to be used when calling eth_getFilterChange

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"fromBlock": "0xe20360", "toBlock": "0xe20411", "address": "0x6b175474e89094c44da98b954eedeac495271d0f","topics": []}],"id":1}'


eth_sendRawTransaction

Creates new message call transaction or a contract creation for signed transactions.

Parameters

  • data- The signed transaction

Returns

  • result - The transaction hash, or the zero hash if the transaction is not yet available

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["signed transaction"],"id":1}'


eth_syncing

Returns an object with the sync status of the node if the node is out-of-sync and is syncing. Returns false when the node is already in sync.

Parameters

  • N/A

Returns

  • result- The result is false if JSON Object is not syncing otherwise it's true:
    • startingblock- The block at which the import started encoded as hexadecimal
    • currentblock- The current block, same as eth_blockNumber encoded as hexadecimal
    • highestblock- The estimated highest block encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":67}'


eth_uninstallFilter

It uninstalls a filter with the given filter id.

Parameters

  • filter ID - string - The filter ID that needs to be uninstalled. It should always be called when watch is no longer needed. Additionally, Filters timeout when they aren't requested with eth_getFilterChanges for a period of time

Returns

  • result- It returns true if the filter was successfully uninstalled, otherwise false

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0x10ff0bfba9472c87932c56632eef8f5cc70910e8e71d"],"id":1}'


net_listening

Returns true if client is actively listening for network connections.

Parameters

  • N/A

Returns

  • result- It's true when the client is actively listening for network connections, otherwise false

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":67}'


net_peerCount

Returns number of peers currently connected to the client.

Parameters

  • N/A

Returns

  • result- The integer of the number of connected peers encoded as hexadecimal

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":67}'

net_version

Returns the current network id.

Parameters

  • N/A

Returns

  • result- The string value of current network id. Typical values are as follows:
    • 1 - ethereum mainnet
    • 2 - morden testnet (deprecated)
    • 3 - ropsten testnet
    • 4 - rinkeby testnet
    • 5 - goerli testnet
    • 11155111 - sepolia testnet
    • 10 - optimism mainnet
    • 69 - optimism kovan testnet
    • 42 - kovan testnet
    • 137 - matic/polygon mainnet
    • 80001 - matic/polygon mumbai testnet
    • 250 - fantom mainnet
    • 100 - xdai mainnet
    • 56 - bsc mainne

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":67}'

web3_clientVersion

Returns the current version of the chain client.

Parameters

  • N/A

Returns

  • result- The current client version in string format

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}'

web3_sha3

Returns Keccak-256 (not the standardized SHA3-256) hash of the given data.

Parameters

  • data- The data in hexadecimal form to convert into a SHA3 hash

Returns

  • data- The SHA3 hash of the given string

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c6f20776f726c64"],"id":1}'

Debug API

debug_getBadBlocks

Returns a list of the last bad blocks that the client has seen on the network.

Parameters

  • N/A

Returns

  • hash- The hash of the transaction
  • block- A block object, or null when no block was found
    • baseFeePerGas- The integer of the difficulty for this block encoded as hexadecimal
    • difficulty- The integer of the difficulty for this block encoded as hexadecimal
    • extraData- The extra data field of this block
    • gasLimit- The maximum gas allowed in this block encoded as hexadecimal
    • gasUsed- The total used gas by all transactions in this block encoded as hexadecimal
    • hash- The block hash of the requested block. Null if pending
    • logsBloom- The bloom filter for the logs of the block. Null if pending
    • miner- The address of the beneficiary to whom the mining rewards were given
    • mixHash- A string of a 256-bit hash encoded as hexadecimal
    • nonce- The hash of the generated proof-of-work. Null if pending
    • number- The block number of the requested block encoded as hexadecimal. Null if pending
    • parentHash- The hash of the parent block
    • receiptsRoot- The root of the receipts trie of the block
    • sha3Uncles- The SHA3 of the uncles data in the block
    • size- The size of this block in bytes as an Integer value encoded as hexadecimal
    • stateRoot- The root of the final state trie of the block
    • timestamp- The unix timestamp for when the block was collated
    • transactions- An array of transaction objects with the following fields:
      • blockHash- The hash of the block where this log was in. Null when it's a pending log
      • blockNumber- The block number where this log was in. Null when it's a pending log
      • from- The address of the sender
      • gas- The gas provided by the sender, encoded as hexadecimal
      • gasPrice- The gas price provided by the sender in wei, encoded as hexadecimal
      • maxFeePerGas- The maximum fee per gas set in the transaction
      • maxPriorityFeePerGas- The maximum priority gas fee set in the transaction
      • hash- The hash of the transaction
      • input- The data sent along with the transaction
      • nonce- The number of transactions made by the sender before this one encoded as hexadecimal
      • to- The address of the receiver. Null when it's a contract creation transaction
      • transactionIndex- The integer of the transaction's index position that the log was created from. Null when it's a pending log
      • value- The value transferred in wei encoded as hexadecimal
      • type- The transaction type
      • accessList- A list of addresses and storage keys that the transaction plans to access
      • chainId- The chain id of the transaction, if any
      • v- The standardized V field of the signature
      • r- The R field of the signature
      • s- The S field of the signature
    • transactionsRoot- The root of the transaction trie of the block
    • uncles- An array of uncle hashes
  • rlp- The RLP encoded header

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
 -X POST \
 -H "Content-Type: application/json" \
 --data '{"method":"debug_getBadBlocks","params":[],"id":1,"jsonrpc":"2.0"}'

debug_storageRangeAt

Returns the contract storage for the specified range.

Parameters

  • blockHash- string - The hash of the block
  • txIndex- integer - The transaction index for the point in which we want the list of accounts
  • address- The contract address
  • startKey- The offset (hash of storage key)
  • limit- The number of storage entries to return

Returns

  • storage- An object with hash values, and for each of them the key and value it represents
    • hash- The hash value
      • key- The key associated with the hash
      • value- The value associated with the hash
  • nextKey- The hash of next key if further storage in range. Otherwise, not included

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
 -X POST \
 -H "Content-Type: application/json" \
 --data '{"method":"debug_storageRangeAt","params":["0x76f64c40d6493cf00426be2eecdaf3f968768619bfb21ce6c57921be497ab3f7",0,"0xdafea492d9c6733ae3d56b7ed1adb60692c98bc5","0x0000000000000000000000000000000000000000000000000000000000000000",1],"id":1,"jsonrpc":"2.0"}'

debug_traceBlock

Returns a full stack trace of all invoked opcodes of all transactions that were included in a block.

Parameters

  • block- The RLP encoded block
  • object- The tracer object with the following fields:
    • tracer- The type of tracer. It could be callTracer or prestateTracer
      • callTracer- The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction
      • prestateTracer- The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
    • tracerConfigtracerConfig- The object to specify the configurations of the tracer
      • onlyTopCall- boolean - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame

Returns

  • result- A result array with the following fields:
    • type- The type of the call
    • from- The address the transaction is sent from
    • to- The address the transaction is directed to
    • value- The integer of the value sent with this transaction
    • gas- The integer of the gas provided for the transaction execution
    • gasUsed- The integer of the gas used
    • input- The data given at the time of input
    • output- The data which is returned as an output
    • calls- A list of sub-calls

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
 -X POST \
 -H "Content-Type: application/json" \
 --data '{"method":"debug_traceBlock","params":["RLP_ENCODED_BLOCK", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}'

debug_traceBlockByHash

Returns the possible tracing result number by executing all transactions in the block specified by the block hash with a tracer (Trace Mode required).

Parameters

  • blockHash- The hash of the block to be traced
  • object- The tracer object with the following fields:
    • tracer- The type of tracer. It could be callTracer or prestateTracer
      • callTracer- The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction
      • prestateTracer- The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
    • tracerConfigtracerConfig- The object to specify the configurations of the tracer
      • onlyTopCall- boolean - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame

Returns

  • result- A result array with the following fields:
    • type- The type of the call
    • from- The address the transaction is sent from
    • to- The address the transaction is directed to
    • value- The integer of the value sent with this transaction
    • gas- The integer of the gas provided for the transaction execution
    • gasUsed- The integer of the gas used
    • input- The data given at the time of input
    • output- The data which is returned as an output
    • calls- A list of sub-calls

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceBlockByHash","params":["0x8125d2cdb126d1eb9c40bd3a3a1c00633d5698c0af4dfa90ef2ad32ba81b6f52", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}'


debug_traceBlockByNumber

Returns the tracing result by executing all transactions in the block specified by number with a tracer (Trace Mode required).

Parameters

  • blockNumber- The block number as a string in hexadecimal format or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  • object- The tracer object with the following fields:
    • tracer- The type of tracer. It could be callTracer or prestateTracer
      • callTracer- The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction
      • prestateTracer- The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
    • tracerConfigtracerConfig- The object to specify the configurations of the tracer
      • onlyTopCall- boolean - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame

Returns

  • result- A result array with the following fields:
    • type- The type of the call
    • from- The address the transaction is sent from
    • to- The address the transaction is directed to
    • value- The integer of the value sent with this transaction
    • gas- The integer of the gas provided for the transaction execution
    • gasUsed- The integer of the gas used
    • input- The data given at the time of input
    • output- The data which is returned as an output
    • calls- A list of sub-calls

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceBlockByNumber","params":["0x5F4E6", {"tracer": "callTracer"}],"id":1,"jsonrpc":"2.0"}'


debug_traceTransaction

Returns all traces of a given transaction (Trace Mode required).

Parameters

  • transactionHash- The transaction hash that needs to be traced, encoded in hexadecimal format
  • object- The tracer object with the following fields:
    • tracer- The type of tracer. It could be callTracer or prestateTracer
      • callTracer- The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction
      • prestateTracer- The prestateTracer replays the transaction and tracks every part of state that occured during the transaction
    • tracerConfigtracerConfig- The object to specify the configurations of the tracer
      • onlyTopCall- boolean - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame
  • timeout- A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds.

Returns

  • result- A result array with the following fields:
    • type- The type of the call
    • from- The address the transaction is sent from
    • to- The address the transaction is directed to
    • value- The integer of the value sent with this transaction
    • gas- The integer of the gas provided for the transaction execution
    • gasUsed- The integer of the gas used
    • input- The data given at the time of input
    • output- The data which is returned as an output
    • error- The type of error, if any
    • revertReason- The type solidity revert reason, if any
    • calls- A list of sub-calls

Example

curl https://combo-mainnet.nodereal.io/v1/{{api_key}} \
-X POST \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceTransaction","params":["0x2d3750f7944818e1a4e6b897b6f6ea4d975fcf46720990eb4eda0c00d926a8fd", {"tracer": "callTracer"}], "id":1,"jsonrpc":"2.0"}'