Last updated
Last updated
ZK Compression is a new primitive on Solana that enables you to build applications at scale.
Developers and users can compress their on-chain state, reducing state costs by orders of magnitude while preserving the security, performance, and composability of the Solana L1.
This documentation introduces the ZK Compression primitive and guides you to relevant codebases and examples.
Compression: Only the (small fingerprints of all ) are stored in on-chain accounts. The underlying data is stored on the cheaper Solana ledger.
ZK: The protocol uses small zero-knowledge proofs () to ensure the integrity of the compressed state. This is all done under the hood. You can fetch validity proofs from that support ZK Compression.
The ZK Compression primitive is being built in the open, and Mainnet-Beta is now live! Stay up to date with the core teams contributing to ZK Compression and its RPC implementation: and .
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
Apps can mix and match between compressed and regular on-chain state, allowing atomic interaction with multiple programs, accounts, and compressed accounts.