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.
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 on-chain accounts like SPL token accounts, but with rent-exemption paid
for by the Token program, instead of the user.
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.
Light-Token
SPL-Token
Token Account
~0.00001 SOL
~0.002 SOL
Additionally Light Token is more compute-efficient than 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: