> 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/proofs/block-receipts-proof.md).

# Block Receipts Proof

A **Block Receipts Proof** verifies all transaction receipts of a given block. Instead of proving a single receipt via Patricia Merkle Proof, the proof includes **all** raw serialized receipts and the full transactions list.

1. **Execution Block:** The execution block is verified via `ETH_EL_PROOF_UNION` (`c4_verify_block`). This yields a verified RLP EL header and its keccak `blockHash`.
2. **Receipt Trie Verification:** The verifier builds the complete Patricia Merkle Trie from all serialized receipts and compares the root to the header's `receiptsRoot`.
3. **Transactions Verification:** The raw transactions list is included so the verifier can rebuild the transactions trie, compare it to the header's `transactionsRoot`, and compute each `transactionHash` / `transactionIndex`.

## EthBlockReceiptsProof

The main proof data for all receipts of a block.

The Type is defined in [src/chains/eth/ssz/verify\_proof\_types.h](https://github.com/corpus-core/colibri-stateless/blob/v3.0.2/src/chains/eth/ssz/verify_proof_types.h#L799).

```python
class EthBlockReceiptsProof(Container):
    transactions : ProgList [transactionsBytes] # all raw transactions of the block
    receipts     : ProgList [bytesList]         # all RLP-serialized receipts of the block
    elProof      : Union [                      # the proof for the execution block containing the transaction
        Bytes32,                                # 0: cached: verifier already holds this verified EL header
        EthClHeaderProof,                       # 1: full consensus-layer proof of the EL header
        EthSequencerProof,                      # 2: sequencer-signed execution payload (OP-Stack)
        EthWitnessHeaderProof]                  # 3: reserved; c4_verify_block rejects until ecrecover+allow-list exist
```

**Referenced Types**

* [EthClHeaderProof](/specification-colibri-stateless/specifications/ethereum/proofs/consensus-layer-header-proof.md#ethclheaderproof)
* [EthSequencerProof](/specification-colibri-stateless/specifications/ethereum/proofs/execution-layer-header-proof.md#ethsequencerproof)
* [EthWitnessHeaderProof](/specification-colibri-stateless/specifications/ethereum/proofs/execution-layer-header-proof.md#ethwitnessheaderproof)
