Skip to main content

Rust Crates

ZK Compression’s Rust crates are published to crates.io and can be found on docs.rs with the light- prefix.
  • light-sdk — For Anchor and native programs. Includes CPI utilities, compressed account abstractions similar to anchor Account, and metadata structs for CPIs to the Light System program.
  • light-sdk-pinocchio — For Pinocchio programs. Pinocchio-optimized SDK with compressed account abstractions and CPI utilities.

Light Programs Overview

Your custom program invokes the Light system program via Cross-Program Invocation (CPI) to leverage ZK Compression.
ProgramDescription
light-system-programEnforces compressed account layout, ownership checks, and validity proof verification. Used to create/write compressed accounts and PDAs.
light-compressed-tokenSPL-compatible compressed token implementation with arbitrary compression/decompression support.
account-compressionState and address tree implementation used by the Light System program. Clients and custom programs do not interact with the Account Compression Program — this is handled under the hood.

Version Requirements

Required versions:
  • Rust: 1.86.0 or later
  • Solana CLI: 2.2.15
  • Anchor CLI: 0.31.1
  • Zk compression CLI: 0.27.0 or later
  • Node.js: 23.5.0 or later
Install Solana CLI:
sh -c "$(curl -sSfL https://release.solana.com/v2.2.15/install)"
Install Anchor CLI:
cargo install --git https://github.com/coral-xyz/anchor avm --force
avm install latest
avm use latest
Install the Light CLI:
npm install -g @lightprotocol/zk-compression-cli@alpha
Verify installation:
light --version

Next Steps

Build your own program or view program examples.