Rent Sponsorship
How does rent-exemption sponsorship work ?
How does rent-exemption sponsorship work ?
| Account Creation Cost | Light | Standard Solana |
|---|---|---|
| Mint account | ~0.00001 SOL | ~0.0015 SOL |
| Associated token account | ~0.00001 SOL | ~0.0029 SOL |
| PDA (100-byte) | ~0.0000115 SOL | ~0.0016 SOL |
feePayer on the transaction bumps a small virtual rent balance (766 lamports by default)
on each write to keep the account active (hot balance).
Set your application as the fee payer so users never interact with SOL.Hot-Cold Lifecycle of Accounts.Accounts get auto-compressed (cold balance) when the virtual rent balance goes below a threshold (eg 24h without write bump).
The cold account’s state is cryptographically preserved on the Solana ledger.
Users only interact with hot accounts and load the cold balance in-flight when using the account again.

How can I sponsor rent top-ups for my users?
How can I sponsor rent top-ups for my users?
payer parameter to the sponsor’s public key on any Light Token instruction. The sponsor pays SOL for rent top-ups while the user only signs to authorize the transfer.Sponsor rent top-ups guide
Light Token Program
What is light-token?
What is light-token?
| Light-Token | SPL-Token | |
|---|---|---|
| Mint Account | 0.00001 SOL | 0.0015 SOL |
| Token Account | 0.00001 SOL | 0.0029 SOL |
| Light-Token | SPL-Token | |
|---|---|---|
| ATA Creation | 4,348 | 14,194 |
| Transfer | 312 | 4,645 |
| Transfer (rent-free) | 1,885 | 4,645 |
Can I start using the Light Token Standard?
Can I start using the Light Token Standard?
Do I need to change my client code significantly?
Do I need to change my client code significantly?
light-token-sdk methods are a superset of the SPL-token API.
Find examples below.| Light | SPL | |
|---|---|---|
| Get/Create ATA | getOrCreateAtaInterface() | getOrCreateAssociatedTokenAccount() |
| Derive ATA | getAssociatedTokenAddressInterface() | getAssociatedTokenAddress() |
| Transfer | transferInterface() | transferChecked() |
| Get Balance | getAtaInterface() | getAccount() |
View complete Solana to Light Reference
Can light-token accounts hold SPL tokens?
Can light-token accounts hold SPL tokens?
transferInterface method.Do light-token accounts require rent?
Do light-token accounts require rent?
- A rent sponsor PDA by Light Protocol 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.
What happens if my light-token account runs out of rent?
What happens if my light-token account runs out of rent?
Does light-token support extensions?
Does light-token support extensions?
- MetadataPointer
- TokenMetadata
- InterestBearingConfig
- GroupPointer
- GroupMemberPointer
- TokenGroup
- TokenGroupMember
- MintCloseAuthority
- TransferFeeConfig
- DefaultAccountState
- PermanentDelegate
- TransferHook
- Pausable
- ConfidentialTransferMint
- ConfidentialTransferFeeConfig
- ConfidentialMintBurn
What is the difference between light-token and compressed token?
What is the difference between light-token and compressed token?
- light-token: Solana account that holds token balances of light-mints, SPL or Token 22 mints.
- Compressed token: Compressed account storing token data. Rent-free, for storage and distribution.
PDA Accounts
What is a Light-PDA?
What is a Light-PDA?
invoke_signed work the same way. Your instruction handlers for reads, updates, and closes don’t change.| Regular PDA | Light-PDA | |
|---|---|---|
| 100-byte account | ~0.0016 SOL | ~0.0000115 SOL |
What is a compressed PDA?
What is a compressed PDA?
| Regular PDA | Compressed PDA | |
|---|---|---|
| 100-byte account | ~0.0016 SOL | ~0.000015 SOL |
When should I use Light-PDA vs compressed PDA?
When should I use Light-PDA vs compressed PDA?
| Light-PDA | Compressed PDA | |
|---|---|---|
| Storage | On-chain; auto-compresses when inactive | Always compressed |
| Validity proof | Not required | Required for every read and write |
| Program changes | Minimal changes. Leaves program logic mostly untouched. | Custom Logic |
| Best for | Shared state: DeFi pools, vaults, config, program-owned accounts | Per-user state: profiles, credentials, DePIN nodes, nullifiers |
PDA accounts overview
Do I need to rewrite my Anchor program to use Light-PDA?
Do I need to rewrite my Anchor program to use Light-PDA?
compression_info: CompressionInfo to your state struct, derive LightAccount and LightAccounts, and add #[light_program] above #[program]. Your instruction logic for reads, updates, and closes stays the same. The client prepends a load instruction if the account is cold.Light-PDA guide
Do Light-PDAs require rent?
Do Light-PDAs require rent?
- A rent sponsor PDA by Light Protocol 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.
What happens if my Light-PDA runs out of rent?
What happens if my Light-PDA runs out of rent?