Overview
Last updated
Last updated
ZK Compression is a new primitive built on Solana that enables you to build applications at scale.
Developers and users can opt to compress their on-chain state, reducing state costs by orders of magnitude while preserving the security, performance, and composability of the Solana L1.
Compression: Only the state roots (small fingerprints of all compressed accounts) are stored in on-chain accounts. The underlying data is stored on the cheaper Solana ledger.
ZK: The protocol uses small zero-knowledge proofs (validity proofs) to ensure the integrity of the compressed state. This is all done under the hood. You can fetch validity proofs from RPC providers that support ZK Compression.
This documentation introduces the ZK Compression primitive and is a directory guiding you to relevant codebases, examples, and advanced guides.
Creation Cost | Regular Account | Compressed Account |
---|---|---|
100-byte PDA Account
~ 0.0016 SOL
~ 0.00001 SOL (160x cheaper)
100 Token Accounts
~ 0.2 SOL
~ 0.00004 SOL (5000x cheaper)
Minimal state cost
Securely stores state on cheaper ledger space instead of the more expensive account space, allowing apps to scale to millions of users.
L1 security & performance
Execution and data availability on Solana, preserving the performance and security guarantees of the L1
Composable
Solana programs can mix and match between compressed and regular on-chain state, allowing atomic interaction with multiple programs, accounts, and compressed accounts.