> For the complete documentation index, see [llms.txt](https://richelieu-finance.gitbook.io/richelieu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://richelieu-finance.gitbook.io/richelieu/get-started/get-started-on-zksync/how-does-zksync-work/whats-a-zk-rollup.md).

# What's a ZK rollup?

Each batch of transactions is sent to an off-chain prover that generates a cryptographic proof (called a [SNARK](https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b), in the case of zkSync) that the transactions are valid. While generating the proof is hard, verifying that the proof is valid is easy. This ease means that it can be sent to Layer 1 and verified in a smart contract. This allows for **near-frictionless transfers between Layer 1 and Layer 2.**
