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 PDA | Light-PDA | |
|---|---|---|
| 100-byte account | ~1,600,000 lamports | ~11,500 lamports |
Light Rent Config Explained
Light Rent Config Explained
- The Light Token Program pays the rent-exemption cost for the account.
- Transaction fee payers bump a virtual rent balance when writing to the account, which keeps the account “hot”.
- “Cold” accounts virtual rent balance below threshold (eg 24h without write bump) get auto-compressed.
- 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 PDA | Compressed PDA | |
|---|---|---|
| 100-byte account | ~1,600,000 lamports | 15,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