DAMM v2 supports both standard SPL Token mints and Token 2022 mints. This lets more Solana assets use DAMM v2 pools while preserving safety around extensions that can change token behavior. Token 2022 is powerful because it allows mints to add features such as transfer fees, metadata, interest-bearing behavior, non-transferability, or hooks. DAMM v2 supports common extensions directly and uses a token badge process for extensions that need additional review.Documentation Index
Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt
Use this file to discover all available pages before exploring further.
How DAMM v2 Detects Token Programs
When a pool is created, DAMM v2 checks whether each mint is owned by the standard SPL Token Program or the Token 2022 Program. The pool stores that information as token flags, so future swaps, liquidity changes, fee claims, and reward flows can use the correct token program. The two pool mints must be different. If a Token 2022 mint is not permissionlessly supported, the initializer must provide a valid token badge account for that mint. For users, the benefit is simple: DAMM v2 can handle pools where one or both tokens are Token 2022 mints, as long as their extensions are supported.Permissionlessly Supported Extensions
The following Token 2022 extensions are supported without a token badge.Transfer Fee Config
DAMM v2 accounts for transfer fees when tokens move into or out of pools, including deposits, withdrawals, swaps, and reward funding.
Metadata Pointer
DAMM v2 supports mints that point to metadata through the Token 2022 metadata pointer extension.
Token Metadata
DAMM v2 supports mints that use Token 2022 token metadata for display and integration context.
Inactive Transfer Hook
Transfer Hook is only supported when the hook program and authority are not active.
Token Badge Review
Some Token 2022 extensions can materially change how a token behaves. These tokens require a token badge before they can be used in DAMM v2. Examples include extensions such as:- Interest bearing configuration.
- Permanent delegate.
- Non-transferable tokens.
- Memo transfer.
- Other extensions that are not permissionlessly supported.
To apply for a token badge, complete this Google Form with details about the token and its extensions. After submitting, open a ticket in the Meteora Discord so the team can review it.
Reward Tokens
DAMM v2 liquidity mining rewards can also use Token 2022 mints, subject to the same extension support rules. If a reward mint has an unsupported extension, it needs a valid token badge before the reward slot can be initialized.Unsupported Cases
Some Token 2022 designs are not supported. Active Transfer Hook behavior is also not supported. DAMM v2 only treats Transfer Hook as supported when both the hook program ID and authority are unset.Transfer Fee Accounting
For incoming transfers, DAMM v2 calculates the transfer-fee-included amount needed for the pool to receive the expected post-fee amount. For outgoing or reward-funding flows, it calculates the post-fee amount actually received. The code also handles the Token 2022 edge case where the transfer fee is 100% by using the mint’s maximum transfer fee.Why This Matters
Token 2022 expands what tokens can do, but not every extension is safe for a liquidity pool by default. DAMM v2 balances flexibility with pool safety:- Simple, common extensions work permissionlessly.
- Sensitive extensions go through token badge review.
- Transfer-fee tokens can be supported without forcing users to manually reason about every transfer adjustment.
- Reward tokens follow the same safety model as pool tokens.

