How extensions work with Light Token
- Create a Token-2022 mint with one or more extensions
- Register an interface PDA to hold balances from that mint in Light Token accounts
- Use the same Light Token APIs (
transferInterface,wrap,unwrap) as any other token
Supported extensions
| Extension | Restriction | Description | Links |
|---|---|---|---|
| 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 |
| TransferFeeConfig | Fees must be zero | Withholds a percentage of each transfer as a fee. | Solana Docs · Example |
| TransferHook | program_id must be nil | Invokes 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 |
| DefaultAccountState | Set compression_only flag on token accounts | Sets the initial state (e.g., frozen) for newly created token accounts. | Solana Docs · Example |
| PermanentDelegate | Set compression_only flag on token accounts | Grants an authority unrestricted transfer and burn rights over all accounts for the mint. | Solana Docs · Example |
| MintCloseAuthority | Set compression_only flag on token accounts | Allows 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 |
| Pausable | Set compression_only flag on token accounts | Allows an authority to pause all minting, burning, and transfers. | Solana Docs · Example |
| ConfidentialTransferMint | Initialized but not enabled | Configures auditor keys for confidential (encrypted) transfers. | Solana Docs · Example |
| ConfidentialTransferFeeConfig | Initialized but not enabled | Encrypts withheld transfer fees under an auditor’s public key. | Solana Docs |
| ConfidentialMintBurn | Initialized but not enabled | Allows minting and burning of tokens with encrypted amounts. | Solana Docs |