Token 2022 Support
DAMM v2 supports pools and positions using Token 2022 SPL tokens, including those with various Token 2022 extensions. The program automatically detects the mint’s owner program and applies correct behaviors for Pool, Swap, and LP reward flows.Pool State: Token Program Flags
- The
token_a_flagandtoken_b_flagfields on the pool state indicate which token program each mint uses:0= SPL Token Program (legacy)1= SPL Token 2022 Program
Permissionlessly Supported Extensions
The following Token 2022 extensions are supported permissionlessly (no badge or special registration required):-
Transfer Fee (TransferFeeConfig)
- Trading and liquidity operations automatically calculate and adjust for transfer fees using both
transfer_fee_includedandtransfer_fee_excludedlogic. - Fees are validated across all swaps, deposits/withdrawals, and farming rewards.
- Trading and liquidity operations automatically calculate and adjust for transfer fees using both
-
Metadata Pointer (MetadataPointer)
- Supported for proper metadata display and integration.
-
Token Metadata (TokenMetadata)
- Token 2022 mints using Token Metadata extension are fully supported.
Permissioned Extensions
Mints with other Token 2022 extensions require a token badge to be supported in DAMM v2 pools. These include, but are not limited to:- Interest Bearing (InterestBearingConfig)
- Permanent Delegate (PermanentDelegate)
- Non-transferable
- Memo Transfer, etc.
To apply for a token badge, start by completing this Google Form describing your token and any extensions in use. After submitting the form, open a ticket in the Meteora Discord to notify the team for review.
Unsupported Extensions
Some Token 2022 extensions are not supported or are only supported in limited form:- Transfer Hook (TransferHook): Only supported if both the program ID and authority are
None(no active hook). Otherwise, the mint is treated as unsupported. - Token 2022 Native mint (
So11111111111111111111111111111111111111112) is not supported (UnsupportNativeMintToken2022error).

