Skip to main content

Light-PDA

Light-PDAs are Solana PDAs with sponsored rent-exemption created using Anchor #[account(init)] with #[light_account(init)]. Can be implemented with minimal code changes to your existing Solana program and leaves program logic mostly untouched.
Regular PDALight-PDA
100-byte account~1,600,000 lamports~11,500 lamports
  1. The Light Token Program pays the rent-exemption cost for the account.
  2. Transaction fee payers bump a virtual rent balance when writing to the account, which keeps the account “hot”.
  3. “Cold” accounts virtual rent balance below threshold (eg 24h without write bump) get auto-compressed.
  4. The cold account’s state is cryptographically preserved on the Solana ledger. Users can load a cold account into hot state in-flight when using the account again.
  • Standard Anchor account type (Account<'info, T>)
  • Reads, updates, and closes are unchanged
  • Inactive accounts auto-compress; clients load them back when needed
  • Use like any other PDA, e.g. in your DeFi program.

Light-PDA integration guide


Compressed PDA

Compressed PDAs are compressed accounts with an address. Programs invoke the Light System program to create and update compressed accounts, instead of the System program. Fully compatible with existing Solana programs, but requires custom logic.
Regular PDACompressed PDA
100-byte account~1,600,000 lamports15,000 lamports
  • Derived using a program address and seed, like regular PDAs
  • Compressed state requires a validity proof for every read and write (fetched by client from RPC that supports ZK Compression, such as Helius and Triton)
  • Use for app and user state, or other accounts that are infrequently accessed

Compressed PDA program template