Skip to main content

How extensions work with Light Token

  1. Create a Token-2022 mint with one or more extensions
  2. Register an interface PDA to hold balances from that mint in Light Token accounts
  3. Use the same Light Token APIs (transferInterface, wrap, unwrap) as any other token
Each extension adds specific state that’s generally initialized during mint or token account creation. When initializing either account, you can enable specific extensions simultaneously for different functionality. Most extensions can’t be added after an account is initialized. Use the Solana documentation to learn more about Token 2022 extensions.

Supported extensions

ExtensionRestrictionDescriptionLinks
MetadataPointer-Points a mint to the account that stores its metadata.Solana Docs · Example
TokenMetadata-Stores token name, symbol, and URI directly on the mint.Solana Docs · Example
TransferFeeConfigFees must be zeroWithholds a percentage of each transfer as a fee.Solana Docs · Example
TransferHookprogram_id must be nilInvokes a custom program on every transfer via CPI.Solana Docs · Example
InterestBearingConfig-Displays a UI-adjusted balance that accrues interest over time.Solana Docs · Example
DefaultAccountStateSet compression_only flag on token accountsSets the initial state (e.g., frozen) for newly created token accounts.Solana Docs · Example
PermanentDelegateSet compression_only flag on token accountsGrants an authority unrestricted transfer and burn rights over all accounts for the mint.Solana Docs · Example
MintCloseAuthoritySet compression_only flag on token accountsAllows a designated authority to close a mint account.Solana Docs · Example
GroupPointer-Points a mint to the account that stores group configuration.Solana Docs · Example
GroupMemberPointer-Points a mint to the account that stores group member configuration.Solana Docs · Example
TokenGroup-Stores group configuration directly on the mint (e.g., NFT collections).Solana Docs · Example
TokenGroupMember-Stores group member configuration directly on the mint.Solana Docs · Example
PausableSet compression_only flag on token accountsAllows an authority to pause all minting, burning, and transfers.Solana Docs · Example
ConfidentialTransferMintInitialized but not enabledConfigures auditor keys for confidential (encrypted) transfers.Solana Docs · Example
ConfidentialTransferFeeConfigInitialized but not enabledEncrypts withheld transfer fees under an auditor’s public key.Solana Docs
ConfidentialMintBurnInitialized but not enabledAllows minting and burning of tokens with encrypted amounts.Solana Docs

Not supported

The following Token-2022 extensions are not supported by Light Token: Scaled UI Amount, Non-Transferable Tokens, Memo Transfer, Immutable Owner, CPI Guard.

Didn’t find what you were looking for?

Reach out! Telegram | email | Discord