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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.ton.org/feedback

```json
{
  "path": "/foundations/serialization/merkle",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Merkle proofs

Merkle proof cells verify that some cell tree data belongs to the full tree.
This design allows the verifier to avoid storing the entire tree's content while still being able to verify the content using the root hash.

A Merkle proof cell contains exactly one reference `c`. Its level `0 <= l < 3` is `max{Lvl(c) - 1, 0}`.

Each Merkle proof cell serializes as follows:

* one tag byte with value `0x03`;
* the 256-bit first higher hash of the referenced cell `c` or the [representation hash](/foundations/serialization/cells)
  of `c` if its level equals zero;
* 2 bytes that store the depth of the deleted subtree that was replaced by the reference.
