> 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/op-stack/block-proof.md).

# Block Proof

The Block Proof verifies that a block is valid and part of the OP-Stack chain. In OP-Stack, blocks are verified using preconfirmations (sequencer-signed execution payloads) rather than consensus layer signatures like in Ethereum mainnet.

This Proof is used for the following RPC-Methods:

* [eth\_getBlockByHash](https://www.alchemy.com/docs/node/op-mainnet/op-mainnet-api-endpoints/eth-get-block-by-hash)
* [eth\_getBlockByNumber](https://www.alchemy.com/docs/node/op-mainnet/op-mainnet-api-endpoints/eth-get-block-by-number)
* [eth\_blockNumber](https://www.alchemy.com/docs/node/op-mainnet/op-mainnet-api-endpoints/eth-block-number)

## OpBlockProof

The block proof structure used by other proof types (receipt, transaction, account, etc.) to validate that the block is part of the OP-Stack chain. Contains the preconfirmation proof which verifies the block's validity through the sequencer signature.

The Type is defined in [src/chains/op/ssz/op\_proof\_types.h](https://github.com/corpus-core/colibri-stateless/blob/v2.0.4/src/chains/op/ssz/op_proof_types.h#L184).

```python
class OpBlockProof(Container):
    block_proof : Union [  # proof for the block (preconfirmation-based)
        OpPreconf,         # preconfirmation proof (sequencer-signed execution payload)
        Bytes32]           # blockhash hint identifying the cached execution payload
```

**Referenced Types**

* [OpPreconf](/specification-colibri-stateless/specifications/op-stack.md#oppreconf)
