> For the complete documentation index, see [llms.txt](https://corpus-core.gitbook.io/specification-colibri-stateless/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://corpus-core.gitbook.io/specification-colibri-stateless/specifications/ethereum.md).

# Ethereum

The Ethereum Mainnet consists of two interconnected layers: the Execution Layer and the Consensus Layer (Beacon Chain). This separation enables verification of execution-layer data through consensus-layer proofs.

Every proof generated for Ethereum includes, at minimum, a verified execution block. The execution block is bound to consensus by proving its **block hash** against the `body_root` of a BeaconBlockHeader, which is authenticated by the BLS aggregate signature of the sync committee.

Execution-layer values (accounts, storage, transactions, receipts, logs) are then proven against the corresponding fields of the RLP-encoded EL header (`stateRoot`, `transactionsRoot`, `receiptsRoot`). No SSZ Merkle proof from individual ExecutionPayload fields down to `block_root` is required.

These proof structures are designed to enable full verification of data accessible through common Ethereum [RPC-methods](https://github.com/corpus-core/colibri-stateless-doc/tree/main/specification/specifications/ethereum/ethereum/supported-rpc-methods.md). Supported proof types include:

* Header Proof
* Account Proof
* Transaction Proof
* Receipt Proof
* Logs Proof
* Call Proof
* Block Proof
* Block Receipts Proof
* Sync Proof

Together, these proofs establish a framework for stateless, verifiable access to all critical Ethereum state components without reliance on trusted RPC endpoints.
