> For the complete documentation index, see [llms.txt](https://docs.pretzel.build/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pretzel.build/pop-guardian-nodes/how-pop-guardian-nodes-work.md).

# How PoP Guardian Nodes work?

<figure><img src="/files/haWOUwheXuPnWzVKgfyt" alt=""><figcaption><p>PoP Nodes</p></figcaption></figure>

A **PoP Guardian Node** within Pretzel's **PoP Framework** is responsible for monitoring and alerting the network to any discrepancies in transactions or state transitions. These nodes act as a safeguard, ensuring that all operations within the rollup adhere to the highest standards of precision and security. Their role is to maintain the integrity of the Pretzel network, ensuring smooth and accurate game state transitions across the ecosystem.

Transactions are ingested and executed by the **Pretzel EVM,** ensuring efficient and scalable operations within the Layer 2 framework.

* **Compression**: All state transitions are optimistically rolled up and Merkle-compressed. Transactions are aggregated into a Merkle tree, reducing data size and enhancing throughput.
* **Proof Generation**: For each slot, a proof is generated by each grid instance. For every block, the corresponding root state hash is committed. Each new root represents the updated state for that block or slot.
* **Proof Commitment**: Proofs are committed to the PoP network to prevent any state collisions. It computes light sampling with fraud proofs and forwards all proofs to the verifier program on Berachain for further validation.
