# Standard Ethereum

## Supported Ethereum RPC Methods <a href="#supported-ethereum-rpc-methods" id="supported-ethereum-rpc-methods"></a>

### Introduction <a href="#introduction" id="introduction"></a>

While Phron supports a wide range of Ethereum JSON-RPC methods, not all are available, and some return default values—particularly those related to Ethereum’s Proof of Work (PoW) consensus mechanism. This guide provides a detailed list of the Ethereum JSON-RPC methods supported by Phron, allowing developers to easily reference the available functionality when interacting with Phron’s Ethereum-compatible blockchain.

### Standard Ethereum JSON-RPC Methods <a href="#basic-rpc-methods" id="basic-rpc-methods"></a>

The basic JSON-RPC methods from the Ethereum API supported by Phron are:

* [**eth\_protocolVersion**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_protocolversion) — returns `1` by default
* [**eth\_syncing**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_syncing) — returns an object with data about the sync status or `false`
* [**eth\_hashrate**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_hashrate) — returns `"0x0"` by default
* [**eth\_coinbase**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_coinbase) — returns the latest block author. Not necessarily a finalized block
* [**eth\_mining**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_mining) — returns `false` by default
* [**eth\_chainId**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid) — returns the chain ID used for signing at the current block
* [**eth\_gasPrice**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gasprice) — returns the base fee per unit of gas used. This is currently the minimum gas price for each network
* [**eth\_accounts**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts) — returns a list of addresses owned by the client
* [**eth\_blockNumber**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_blocknumber) — returns the highest available block number
* [**eth\_getBalance**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getbalance) — returns the balance of the given address
* [**eth\_getStorageAt**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getstorageat) — returns the content of the storage at a given address
* [**eth\_getBlockByHash**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbyhash) — returns information about the block of the given hash, including `baseFeePerGas` on post-London blocks
* [**eth\_getBlockByNumber**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblockbynumber) — returns information about the block specified by block number, including `baseFeePerGas` on post-London blocks
* [**eth\_getBlockReceipts**](https://docs.alchemy.com/reference/eth-getblockreceipts) — returns all transaction receipts for a given block
* [**eth\_getTransactionCount**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactioncount) — returns the number of transactions sent from the given address (nonce)
* [**eth\_getBlockTransactionCountByHash**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbyhash) — returns the number of transactions in a block with a given block hash
* [**eth\_getBlockTransactionCountByNumber**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getblocktransactioncountbynumber) — returns the number of transactions in a block with a given block number
* [**eth\_getUncleCountByBlockHash**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getunclecountbyblockhash) — returns `"0x0"` by default
* [**eth\_getUncleCountByBlockNumber**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getunclecountbyblocknumber) — returns `"0x0"` by default
* [**eth\_getCode**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getcode) — returns the code at the given address at the given block number
* [**eth\_sendTransaction**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction) — creates a new message call transaction or a contract creation, if the data field contains code. Returns the transaction hash or the zero hash if the transaction is not yet available
* [**eth\_sendRawTransaction**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction) — creates a new message call transaction or a contract creation for signed transactions. Returns the transaction hash or the zero hash if the transaction is not yet available
* [**eth\_call**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_call) — executes a new message call immediately without creating a transaction on the blockchain, returning the value of the executed call
  * Phron supports the use of the optional *state override set* object. This address-to-state mapping object allows the user to specify some state to be ephemerally overridden before executing a call to `eth_call`. The state override set is commonly used for tasks like debugging smart contracts. Visit the [go-ethereum](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-eth#:~:text=Object%20%2D%20State%20override%20set) documentation to learn more
* [**eth\_estimateGas**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas) — returns an estimated amount of gas necessary for a given transaction to succeed. You can optionally specify a `gasPrice` or `maxFeePerGas` and `maxPriorityFeePerGas`
* [**eth\_maxPriorityFeePerGas**](https://docs.alchemy.com/reference/eth-maxpriorityfeepergas) - returns an estimate of how much priority fee, in Wei, is needed for inclusion in a block
* [**eth\_feeHistory**](https://docs.alchemy.com/reference/eth-feehistory) — returns `baseFeePerGas`, `gasUsedRatio`, `oldestBlock`, and `reward` for a specified range of up to 1024 blocks
* [**eth\_getTransactionByHash**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionbyhash) — returns the information about a transaction with a given hash. EIP-1559 transactions have `maxPriorityFeePerGas` and `maxFeePerGas` fields
* [**eth\_getTransactionByBlockHashAndIndex**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionbyblockhashandindex) — returns information about a transaction at a given block hash and a given index position. EIP-1559 transactions have `maxPriorityFeePerGas` and `maxFeePerGas` fields
* [**eth\_getTransactionByBlockNumberAndIndex**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionbyblocknumberandindex) — returns information about a transaction at a given block number and a given index position. EIP-1559 transactions have `maxPriorityFeePerGas` and `maxFeePerGas` fields
* [**eth\_getTransactionReceipt**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_gettransactionreceipt) — returns the transaction receipt of a given transaction hash
* [**eth\_getUncleByBlockHashAndIndex**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getunclebyblockhashandindex) — returns `null` by default
* [**eth\_getUncleByBlockNumberAndIndex**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getunclebyblocknumberandindex) — returns `null` by default
* [**eth\_getLogs**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getlogs) — returns an array of all logs matching a given filter object
* [**eth\_newFilter**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter) — creates a filter object based on the input provided. Returns a filter ID
* [**eth\_newBlockFilter**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newblockfilter) — creates a filter in the node to notify when a new block arrives. Returns a filter ID
* [**eth\_newPendingTransactionFilter**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) - creates a filter in the node to notify when new pending transactions arrive. Returns a filter ID
* [**eth\_getFilterChanges**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterchanges) — polling method for filters (see methods above). Returns an array of logs that occurred since the last poll
* [**eth\_getFilterLogs**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_getfilterlogs) — returns an array of all the logs matching the filter with a given ID
* [**eth\_uninstallFilter**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_uninstallfilter) — uninstall a filter with a given ID. It should be used when polling is no longer needed. Filters timeout when they are not requested using `eth_getFilterChanges` after some time

### Unsupported Ethereum JSON-RPC Methods <a href="#unsupported-rpc-methods" id="unsupported-rpc-methods"></a>

Phron does not support the following Ethereum API JSON-RPC methods:

* [**eth\_getProof**](https://docs.alchemy.com/reference/eth-getproof) - returns the account and storage values of the specified account including the Merkle-proof
* [**eth\_blobBaseFee**](https://www.quicknode.com/docs/ethereum/eth_blobBaseFee) - returns the expected base fee for blobs in the next block
* [**eth\_createAccessList**](https://docs.alchemy.com/reference/eth-createaccesslist) - creates an EIP-2930 type `accessList` based on a given transaction object
* [**eth\_sign**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign) - allows the user to sign an arbitrary hash to be sent at a later time. Presents a [security risk](https://support.metamask.io/privacy-and-security/what-is-eth_sign-and-why-is-it-a-risk/) as the arbitrary hash can be fraudulently applied to other transactions
* [**eth\_signTransaction**](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_signtransaction) - allows the user to sign a transaction to be sent at a later time. It is rarely used due to associated security risks


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.phron.ai/developers/build-with-phronai/sdks-and-tools/ethereum/rpc-apis/standard-ethereum.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
