Documentation Index
Fetch the complete documentation index at: https://www.zkcompression.com/llms.txt
Use this file to discover all available pages before exploring further.
| Account Type | Key Features | |
|---|---|---|
| Mint Accounts | Solana Account |
|
| Token Accounts | Solana account |
|
Rent Config by Light Token Program
- 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.
Mint Accounts
Light mints are on-chain accounts like SPL mints, but with rent-exemption paid for by the Token
program, instead of the user.
- Tokens created from light-mints are light-tokens.
- Token metadata (name, symbol, URI) is stored as an extension in the struct.
| Creation Cost | Light Token | SPL-Token |
|---|---|---|
| Mint Account | 0.000091 SOL | 0.0015 SOL |
- Diagram
- Source Code

Find the source code of light-mints
here.
metadata field is used by the Light Token Program to store the internal state of a light-mint.
The BaseMint field replicates the field layout and serialization format of SPL Mint accounts. The struct is serialized with Borsh to match the on-chain format of SPL tokens and mints.
Here is how light-mints and SPL mints compare:
- Basemint vs SPL mint
- BaseMint Struct
| Field | Light-Mint | SPL Mint |
|---|---|---|
| mint_authority | ✓ | ✓ |
| supply | ✓ | ✓ |
| decimals | ✓ | ✓ |
| is_initialized | ✓ | ✓ |
| freeze_authority | ✓ | ✓ |
| Light-Mint Data | ✓ | - |
| Extensions | ✓ | via Token-2022 |
Token Account
Light token accounts are on-chain accounts like SPL token accounts, but with rent-exemption paid
for by the Token program, instead of the user.
- A wallet needs a light-token account for each light-mint, SPL mint, or Token 2022 mint it wants to hold, with the wallet address set as the light-token account owner.
- Each wallet can own multiple light-token accounts for the same light-mint.
- A light-token account can only have one owner and hold units of one light-mint.
| Creation Cost | Light Token | SPL-Token |
|---|---|---|
| Token Account | 0.000017 SOL | 0.0029 SOL |
| CU Performance | Light Token | SPL-Token |
|---|---|---|
| ATA Creation | 4,348 | 14,194 |
| Transfer | 312 | 4,645 |
| Transfer (rent-free) | 1,885 | 4,645 |
- Diagram
- Source Code

Find the source code of light-tokens
here.
| Field | Light Token | SPL Token Account |
|---|---|---|
| mint | ✓ | ✓ |
| owner | ✓ | ✓ |
| amount | ✓ | ✓ |
| delegate | ✓ | ✓ |
| state | ✓ | ✓ |
| is_native | ✓ | ✓ |
| delegated_amount | ✓ | ✓ |
| close_authority | ✓ | ✓ |
| extensions | ✓ | via Token-2022 |
Associated Light Token Account
Associated light-token accounts (light-ATAs) follow the same pattern as associated token accounts (ATA):- Each wallet needs its own light-token account to hold tokens from the same light-mint.
- The address for light-ATAs is deterministically derived with the owner’s address, light token program ID, and mint address.
Compressed Token Account
Under the hood, compressed token accounts store token balance, owner, and other information of inactive light-tokens.- Light token accounts are automatically compressed/decompressed when active/inactive.
- Any light-token or SPL token can be compressed/decompressed at will.
You can still use compressed tokens for token distribution.
- Diagram
- Source Code
