Token-2022 — Program ID & Instructions
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb Token-2022 (also called Token Extensions) is an upgraded token program that extends the original SPL Token Program with configurable features. It supports all base token operations plus extensions like transfer fees, confidential transfers, and on-chain metadata.
Program ID
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
Extensions
Token-2022 mints and accounts can enable extensions at creation time. Extensions cannot be added after the account is initialized.
Mint extensions
| Extension | Description |
|---|---|
TransferFee | Charges a fee on every transfer, collected in the recipient’s account |
ConfidentialTransfer | Encrypts transfer amounts using zero-knowledge proofs |
MintCloseAuthority | Allows closing a mint account (not possible with the original Token Program) |
InterestBearingMint | Stores an interest rate for UI display (does not auto-compound) |
NonTransferable | Makes tokens soulbound — they cannot be transferred after minting |
PermanentDelegate | Grants an authority permanent delegation over all token accounts |
TransferHook | Calls a custom program on every transfer for validation or side effects |
MetadataPointer | Points to on-chain metadata, eliminating the need for Metaplex |
TokenMetadata | Stores metadata (name, symbol, URI) directly on the mint |
GroupPointer | Marks a mint as a token group (for collections) |
GroupMemberPointer | Marks a mint as a member of a token group |
Account extensions
| Extension | Description |
|---|---|
ImmutableOwner | Prevents changing the token account owner |
MemoRequiredTransfer | Requires a memo instruction on every incoming transfer |
CpiGuard | Blocks certain token actions when invoked via CPI |
DefaultAccountState | Sets the default state of new token accounts (e.g., frozen by default) |
Key instructions
Token-2022 supports all original SPL Token instructions (InitializeMint, Transfer, MintTo, Burn, etc.) plus extension-specific instructions like InitializeTransferFeeConfig, HarvestWithheldTokensToMint, and InitializeConfidentialTransferMint.
FAQ
Can I use Token-2022 tokens with existing DeFi protocols? Not always. Programs must explicitly support Token-2022. Many major protocols have added support, but some older programs only work with the original Token Program.
Do Token-2022 accounts cost more rent? Yes. Each extension adds data to the account, increasing the rent-exempt minimum. A mint with several extensions can require significantly more lamports than a standard SPL token mint.
Can I convert an SPL Token to Token-2022? No. The mint’s owning program is set at creation and cannot be changed. You would need to create a new mint under Token-2022 and migrate liquidity.
Updated: