---
title: "Ethereum API"
description: "Ethereum Core RPC API with archive, eth_getProof, debug, and trace method notes"
url: "https://blockreq.com/docs/build/api-reference/ethereum/"
---

# Ethereum API

Ethereum endpoints use the EVM JSON-RPC Core API over HTTPS and, when enabled for the route, WSS.

## Endpoint

| Item | Value |
| --- | --- |
| Network | Ethereum Mainnet |
| Protocol | EVM JSON-RPC 2.0 |
| Chain ID | `1` (`0x1`) |
| Public HTTPS | `https://ethereum-rpc.blockreq.com/v1/rpc/public` |
| Private HTTPS | `https://ethereum-rpc.blockreq.com/v1/rpc/BRQ1P0000000000000000000000000000000000000000000000000000000` |
| WSS | `wss://ethereum-rpc.blockreq.com/v1/rpc/BRQ1P0000000000000000000000000000000000000000000000000000000` when enabled |

## Core Methods

Use the [EVM JSON-RPC Methods](https://blockreq.com/docs/build/api-reference/evm-methods/index.md) catalog for request shapes and [Request Counting](https://blockreq.com/docs/pricing/request-counting/index.md) for billing.

| Category | Methods |
| --- | --- |
| Chain and blocks | `eth_chainId`, `eth_blockNumber`, `eth_getBlockByNumber`, `eth_getBlockByHash` |
| State and archive | `eth_getBalance`, `eth_getCode`, `eth_getStorageAt`, `eth_call`, `eth_getProof` |
| Logs and transactions | `eth_getLogs`, `eth_getTransactionByHash`, `eth_getTransactionReceipt` |
| All history / execution replay | `debug_traceCall`, `debug_traceTransaction`, `debug_traceBlockByNumber`, `trace_block`, `trace_call`, `trace_filter`, `trace_transaction` |
| Subscriptions | `eth_subscribe`, `eth_unsubscribe` over WSS |

## Archive and All History

Ethereum historical state calls require an archive-capable route. This includes old-block `eth_call`, old-block balance/code/storage/nonce reads, `eth_getProof`, and `debug_*` or `trace_*` replay methods. `eth_getLogs` is history-oriented but is usually served by log/index-capable lanes rather than full archive state.

```bash
curl -X POST https://ethereum-rpc.blockreq.com/v1/rpc/BRQ1P0000000000000000000000000000000000000000000000000000000 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_getProof","params":["0x0000000000000000000000000000000000000000",[],"latest"],"id":1}'
```

## Debug and Trace

`debug_*`, `trace_*`, and `txpool_*` are available on every paid plan when the Ethereum route supports the method. The Free grant does not include them.

```bash
curl -X POST https://ethereum-rpc.blockreq.com/v1/rpc/BRQ1P0000000000000000000000000000000000000000000000000000000 \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"debug_traceCall","params":[{"to":"0xdac17f958d2ee523a2206206994597c13d831ec7","data":"0x313ce567"},"latest",{"tracer":"callTracer"}],"id":1}'
```
