Core Concepts of light-mints, light-tokens, and compressed token accounts.
The Light Token Program
is a high performance token program that reduces the cost of account creations by 200x,
while being more CU efficient than SPL on hot paths.
Light-mints are compressed accounts and cannot be decompressed. *
SPL mints can not be compressed to light-mints.
Light-mints uniquely represent a token on Solana and store its global metadata, similar to SPL mint accounts with few core differences:
Light-mint accounts are rent-free.
Tokens created from light-mints are light-tokens.
Token metadata (name, symbol, URI) is stored as an extension in the struct.
Creation Cost
SPL
Light
Mint Account
~1,500,000 lamports
15,000 lamports
Diagram
Source Code
Report incorrect code
Copy
Ask AI
pub struct CompressedMint { // SPL mint layout pub base: BaseMint, // light-mint state used by the Compressed Token Program pub metadata: CompressedMintMetadata // Field for Token Metadata extension pub extensions: Option<Vec<ExtensionStruct>>,}
The metadata field is used by the Compressed 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
Report incorrect code
Copy
Ask AI
pub struct BaseMint { /// Optional authority used to mint new tokens. The mint authority may only /// be provided during mint creation. If no mint authority is present /// then the mint has a fixed supply and no further tokens may be /// minted. pub mint_authority: Option<Pubkey>, /// Total supply of tokens. pub supply: u64, /// Number of base 10 digits to the right of the decimal place. pub decimals: u8, /// Is initialized - for SPL compatibility pub is_initialized: bool, /// Optional authority to freeze token accounts. pub freeze_authority: Option<Pubkey>,}
Light token accounts are Solana accounts, not compressed accounts.
A light-token account holds token balances like SPL Token accounts:
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
SPL
Light
Token Account
~2,000,000 lamports
~11,000 lamports
Additionally Light Token is more performant then SPL on hot paths:
Light token accounts replicate the field layout and serialization format of SPL Token accounts. The struct is serialized with Borsh to match the on-chain format of SPL tokens.Here is how light-tokens and SPL tokens compare: