> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Optimism API reference: op-reth JSON-RPC

> Optimism API reference for Chainstack nodes — Global and Trader Nodes both run op-reth. Covers the supported JSON-RPC methods and namespaces.

This page provides an overview of the available methods on the Chainstack Optimism nodes. Go ahead and try the interactive examples as well.

Chainstack Optimism [Global Nodes](/docs/global-elastic-node) and [Trader Nodes](/docs/trader-node) both run [op-reth](https://github.com/paradigmxyz/reth), so method availability is the same across tiers. Debug and trace methods require [debug and trace APIs](/docs/debug-and-trace-apis) to be enabled on the node.

<Info>
  The list may not be comprehensive but serves as guidance. In general, if a method is available in `op-reth` and it's an `eth_` method, then it's available on your Chainstack node.

  If there's a method missing, you are unsure, or just have any questions, [talk to us](https://support.chainstack.com/hc/en-us/requests/new). We love talking to developers <Icon icon="heart" iconType="solid" /> <Icon icon="screwdriver-wrench" iconType="solid" />.
</Info>

| Method | Availability | Comments |
| - | - | - |
| eth\_getBlockByHash | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getBlockByNumber | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getBlockTransactionCountByHash | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getBlockTransactionCountByNumber | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getUncleCountByBlockHash | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getUncleCountByBlockNumber | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getBlockReceipts | <Icon icon="square-check" iconType="solid" /> | |
| eth\_chainId | <Icon icon="square-check" iconType="solid" /> | |
| eth\_syncing | <Icon icon="square-check" iconType="solid" /> | |
| eth\_blockNumber | <Icon icon="square-check" iconType="solid" /> | |
| eth\_accounts | <Icon icon="square-check" iconType="solid" /> | Returns an empty list because Chainstack doesn't store accounts. |
| eth\_call | <Icon icon="square-check" iconType="solid" /> | |
| eth\_callMany | <Icon icon="square-check" iconType="solid" /> | |
| eth\_estimateGas | <Icon icon="square-check" iconType="solid" /> | |
| eth\_createAccessList | <Icon icon="square-check" iconType="solid" /> | |
| eth\_gasPrice | <Icon icon="square-check" iconType="solid" /> | |
| eth\_feeHistory | <Icon icon="square-check" iconType="solid" /> | |
| eth\_maxPriorityFeePerGas | <Icon icon="square-check" iconType="solid" /> | |
| eth\_newFilter | <Icon icon="square-check" iconType="solid" /> | |
| eth\_newBlockFilter | <Icon icon="square-check" iconType="solid" /> | |
| eth\_newPendingTransactionFilter | <Icon icon="square-check" iconType="solid" /> | Subsequent `eth_getFilterChanges` will always return empty because the [Optimism mempool is private](https://help.optimism.io/hc/en-us/articles/16135808401947-The-Transaction-Pool-a-k-a-Mempool). |
| eth\_uninstallFilter | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getFilterChanges | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getFilterLogs | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getLogs | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getBalance | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getStorageAt | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getTransactionCount | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getCode | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getProof | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getTransactionByHash | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getRawTransactionByHash | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getTransactionByBlockHashAndIndex | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getRawTransactionByBlockHashAndIndex | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getTransactionByBlockNumberAndIndex | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getRawTransactionByBlockNumberAndIndex | <Icon icon="square-check" iconType="solid" /> | |
| eth\_getTransactionReceipt | <Icon icon="square-check" iconType="solid" /> | |
| eth\_subscribe | <Icon icon="square-check" iconType="solid" /> | |
| eth\_unsubscribe | <Icon icon="square-check" iconType="solid" /> | |
| eth\_sendRawTransaction | <Icon icon="square-check" iconType="solid" /> | |
| eth\_sendRawTransactionSync | <Icon icon="square-check" iconType="solid" /> | Sync version of `eth_sendRawTransaction` defined by [EIP-7966](https://eips.ethereum.org/EIPS/eip-7966). Returns the receipt instead of just the hash. |
| web3\_clientVersion | <Icon icon="square-check" iconType="solid" /> | |
| web3\_sha3 | <Icon icon="square-check" iconType="solid" /> | |
| net\_listening | <Icon icon="square-check" iconType="solid" /> | |
| net\_peerCount | <Icon icon="square-check" iconType="solid" /> | Always returns `0x0` on op-reth. The p2p networking is done on `op-node`, which does not have an endpoint exposed. See also [OP issue 5745](https://github.com/ethereum-optimism/optimism/issues/5745). |
| net\_version | <Icon icon="square-check" iconType="solid" /> | |
| debug\_traceBlockByHash | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_traceBlockByNumber | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_traceTransaction | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_traceCall | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_traceCallMany | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_getModifiedAccountsByNumber | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_getModifiedAccountsByHash | <Icon icon="square-check" iconType="solid" /> | Enable [debug and trace APIs](/docs/debug-and-trace-apis). |
| debug\_storageRangeAt | <Icon icon="xmark" iconType="solid" /> | Not supported on Reth (returns `null`). Use [`eth_getStorageAt`](/docs/using-eth_getstorageat-instead-of-debug_storagerangeat-on-reth) instead. |
| admin\_nodeInfo | Can be enabled on a [Dedicated Node](/docs/dedicated-node). | |
| admin\_peers | Can be enabled on a [Dedicated Node](/docs/dedicated-node). | |
| admin\_addPeer | Can be enabled on a [Dedicated Node](/docs/dedicated-node). | |

op-reth also supports the `trace_` namespace (for example, `trace_block` and `trace_transaction`); these require [debug and trace APIs](/docs/debug-and-trace-apis) to be enabled. See the [Base methods](/docs/base-methods) reference for the full op-reth method set, which is shared with Optimism.
