> ## 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.

# Token 2022 Extensions

> How DLMM handles Token 2022 extensions including transfer fees, interest-bearing tokens, and other SPL Token 2022 features.

DLMM supports Token 2022 tokens with a variety of extensions, enabling tokens with enhanced functionality to be easily integrated into DLMM pools. These extensions that DLMM supports are categorized based on whether they require a `token_badge` from Meteora or can be used permissionlessly.

## Permissionless Extensions

If your token is a Token 2022 with these extensions, you can use them permissionlessly without any additional setup or approval from Meteora.

The following extensions can be used permissionlessly with DLMM:

* `TransferFeeConfig`
* `MetadataPointer`
* `TokenMetadata`
* `TransferHook` - Custom transfer logic. Only when both `hook_program` and `hook_authority` are revoked
* `MemoTransfer`

<Note>`MemoTransfer` is an account-level extension, not a mint extension. It is applied to individual token accounts rather than to the mint itself.</Note>

***

## Permissioned Extensions

If your token requires any of the permissioned extensions that are listed below, you will need to get a `token_badge` from Meteora to use them seamlessly with DLMM.

<Note>Start by completing this [Google Form](https://forms.gle/59n3zDiGS2C6qMfd7) indicating which extensions you require. After submitting it, open a Discord ticket to inform us so we can review your request.</Note>

Getting a `token_badge` enables you to use these extensions seamlessly with DLMM:

* `Uninitialized`
* `TransferFeeConfig`
* `TransferFeeAmount`
* `MintCloseAuthority`
* `ConfidentialTransferMint`
* `ConfidentialTransferAccount`
* `DefaultAccountState` - All new token accounts must be unfrozen by default
* `ImmutableOwner`
* `NonTransferable`
* `InterestBearingConfig`
* `CpiGuard`
* `PermanentDelegate`
* `NonTransferableAccount`
* `TransferHook`
* `TransferHookAccount`
* `ConfidentialTransferFeeConfig`
* `ConfidentialTransferFeeAmount`
* `MetadataPointer`
* `TokenMetadata`
* `GroupPointer`
* `TokenGroup`
* `GroupMemberPointer`
* `TokenGroupMember`
* `ConfidentialMintBurn`
* `ScaledUiAmount`
* `Pausable`
* `PausableAccount`
