Token-2022 Extensions
Token-2022 extends SPL Token with post-base TLV blocks for fees, interest, confidential transfers, metadata, and more.
ConfidentialTransferAccount (extension)
Token-2022 Program · 295 bytes
Account-side Token-2022 extension holding a holder's ElGamal-encrypted balances. The 295-byte counterpart to ConfidentialTransferMint — where the actual hidden amounts and pending-balance machinery live.
Explore
ConfidentialTransferFee (extension)
Token-2022 Program · 129 bytes
The pair of extensions that let transfer fees work on confidential transfers — a mint-side config with an ElGamal key for encrypted withheld fees, and an account-side encrypted withheld amount.
Explore
ConfidentialTransferMint (extension)
Token-2022 Program · 65 bytes
Mint-side Token-2022 extension that enables confidential transfers — amounts are ElGamal-encrypted on-chain and proven correct with zero-knowledge proofs. This extension holds the policy; encrypted balances live on the account side.
Explore
CpiGuard (extension)
Token-2022 Program · 1 bytes
Account-side Token-2022 extension that, when enabled, blocks certain token actions from happening inside a CPI — protecting users from malicious programs that try to redirect approvals or close accounts mid-call.
Explore
DefaultAccountState (extension)
Token-2022 Program · 1 bytes
Mint-side Token-2022 extension that sets the state new TokenAccounts start in. Setting it to Frozen turns the token into an allowlist — accounts must be thawed before they can transact.
Explore
GroupPointer (extension)
Token-2022 Program · 64 bytes
Mint-side Token-2022 extension that records where a token's group (collection) configuration lives. The grouping analogue of MetadataPointer — can point at a TokenGroup account or the mint itself.
Explore
InterestBearingConfig (extension)
Token-2022 Program · 52 bytes
Mint-side Token-2022 extension that makes a token accrue interest continuously. The stored balance never changes — the UI amount is computed from a rate and elapsed time.
Explore
MetadataPointer (extension)
Token-2022 Program · 64 bytes
Mint-side Token-2022 extension that records where a token's metadata lives. It can point at an external account or at the mint itself for inline metadata — Token-2022's answer to Metaplex.
Explore
MintCloseAuthority (extension)
Token-2022 Program · 32 bytes
Mint-side Token-2022 extension that names an authority allowed to close the mint and reclaim its rent — but only once supply is zero. SPL Token mints could never be closed.
Explore
NonTransferable (extension)
Token-2022 Program · 0 bytes
Mint-side Token-2022 extension that makes a token soulbound — it can be minted and burned but never transferred. Its byte payload is empty; the extension's presence is the entire signal.
Explore
PermanentDelegate (extension)
Token-2022 Program · 32 bytes
Mint-side Token-2022 extension that grants one address unlimited authority to transfer or burn tokens from any account of the mint, forever. The clawback primitive — powerful and dangerous.
Explore
ScaledUiAmount (extension)
Token-2022 Program · 56 bytes
Mint-side Token-2022 extension that multiplies displayed balances by a configurable factor. The on-chain amount is unchanged; the UI amount is amount × multiplier — used for rebasing and stock-split-style display.
Explore
TLV Layout Primer
Token-2022 Program
How Token-2022 stores extensions on-chain — a 4-byte Type-Length-Value header followed by per-extension payload, walked left-to-right until a type-0 sentinel.
Explore
Token-2022 Mint/Account + Extensions
Token-2022 Program · 165 bytes
Token-2022 Mints and TokenAccounts share SPL Token's base layouts and append features as post-base TLV extension blocks — a 1-byte discriminator at offset 165 distinguishes Mint from TokenAccount.
Explore
TokenGroup (extension)
Token-2022 Program · 80 bytes
Mint-side Token-2022 extension that defines a group (collection) — its update authority, the group mint, and the current/maximum member count. The Group Interface analogue of a Metaplex Collection.
Explore
TokenMetadata (extension)
Token-2022 Program
Mint-side Token-2022 extension that stores name, symbol, URI, and arbitrary key-value pairs inline in the mint account — Token-2022's self-contained alternative to a separate Metaplex metadata account.
Explore
TransferFeeConfig (extension)
Token-2022 Program · 108 bytes
Mint-side Token-2022 extension that charges a percentage fee on every transfer. Fees accumulate as withheld balances on recipient TokenAccounts and are claimed later by the withdraw authority.
Explore
TransferHook (extension)
Token-2022 Program · 64 bytes
Mint-side Token-2022 extension that calls a custom program on every transfer. The token program CPIs into the hook's Execute instruction, enabling allowlists, royalty enforcement, and per-transfer logic.
Explore