The token extensions program, often called Token-2022, is the newer of Solana's two token programs. It does not replace the older token program; it sits beside it and adds features that the older program cannot grow into. This glossary defines the terms a reader needs before reading the deep dives, with cross-references to the older entries where the older program is still the right tool.

Token-2022

The name for the program that hosts the new token interface and its extensions. It is a separate program from the original token program, with its own program address, so a wallet has to know which one a mint belongs to before it can move the tokens. Most wallets now handle both; older ones may not, which is the first thing to check when a token "will not send."

Extension mint

A mint account that carries one or more extensions in addition to the standard mint fields. The extensions are chosen when the mint is created and cannot be removed later. This is the central idea of the new program: instead of one token type with one set of rules, a creator picks the rules they want from a list, and the mint is shaped by that choice.

Transfer fee

An extension that takes a small fee out of each transfer and sends it to a designated account, usually the mint authority. The fee is set when the extension is added and can be changed by the authority. For a reader, the practical effect is that the amount received is less than the amount sent, by a known percentage, and wallets that do not understand the extension will show the wrong balance.

Permanent metadata

An extension that stores the token's name, symbol, and image directly on the mint account, instead of in a separate metadata account. The older program kept metadata off-chain or in a separate account; this extension folds it in, so the metadata cannot be lost or detached from the mint. The trade-off is that the mint account is larger and costs more in rent.

Transfer hook

An extension that lets a separate program run custom logic on every transfer of the token, such as enforcing allow-lists or limits. The hook is set by the mint authority and points at a program the authority trusts. For a reader, the practical effect is that a transfer can fail for reasons that have nothing to do with balances, and the error will come from the hook program rather than the token program.

Each of these will get its own deep dive in time. For now, the cross-reference to the older token program entries is on the collection areas page, under "Tokens and accounts."

← Back to the journal