> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/concepts/token2022-dex-compatibility.md).

# Token-2022 and DEX compatibility

Token-2022 lets you bake behavior into a token: a transfer fee, interest, frozen-by-default accounts, and more. That power comes with a catch. A pool DEX has to understand the extensions you turned on, or it will refuse to host your liquidity. Some extensions trade fine almost everywhere. A few will block a pool outright.

This page maps extension against pool support so you can pick before you mint, and avoid launching a token that no venue will fund. If you are still deciding between programs, start with [SPL vs Token-2022](/concepts/spl-vs-token2022.md).

{% hint style="warning" %}
Extensions are fixed at creation. You cannot add or remove one after the mint. So check DEX support **before** you sign in [Token2022 Creator](/tools/launch/token2022-creator.md), not after you discover a pool will not open.
{% endhint %}

## How venues read Token-2022

A Token-2022 mint carries extra on-chain data that classic SPL never had. Pool DEXes handle this in two ways. Newer pool programs inspect the extension set and decide whether they can safely host the mint. Older or stricter programs allow Token-2022 only when the extension set is plain enough that nothing changes their math.

The deciding factor is almost always the **transfer fee**. An AMM moves tokens in and out of its pool constantly. If a slice gets skimmed on every transfer, the pool's accounting has to track it, and not every program does. A transfer-fee mint is the most common reason a pool refuses to open, so treat it as your first compatibility question.

J Tools works with **Raydium (V4, CPMM, and CLMM), Meteora, Orca (Whirlpool), and PumpSwap**. For what each venue is and which tool reaches it, see [Supported DEXs and networks](/reference/supported-dexes.md). Pump.fun is a bonding-curve launchpad, not a pool DEX, so token launches there follow their own path rather than the pool rules below.

Not all of those venues are live for opening a pool right now. Today the live create-LP route is Raydium standard AMM (CPMM). The other venues (Meteora, Orca, PumpSwap, and Raydium CLMM) appear in the tool picker and are being finished, so the route selector inside [Create LP](/tools/liquidity/create-lp.md) is the source of truth for what is live right now.

## Extension versus pool support

Use this as a planning guide. Support shifts as venues update their programs, so the route selector inside [Create LP](/tools/liquidity/create-lp.md) is the live source of truth for what a given pool accepts today.

| Extension              | Pool-DEX outlook              | What to watch                                                                                                                            |
| ---------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Metadata pointer**   | Broadly fine                  | Always on in Token2022 Creator. It carries on-chain metadata and does not change pool math, so it rarely blocks anything.                |
| **Interest-bearing**   | Usually fine                  | The balance display accrues over time, but transfers move the raw amount, so most pools handle it. Confirm in the route selector.        |
| **Permanent delegate** | Allowed, but a trust signal   | A delegate can move or burn tokens from any account. Pools may host it, yet traders read it as risk. Disclose it.                        |
| **Default-frozen**     | Risky for liquidity           | New accounts start frozen, so a pool's token account may need thawing before it can hold liquidity. This can stall a launch.             |
| **Non-transferable**   | Cannot pool                   | A soulbound token cannot move between accounts, so no AMM can hold it. There is no liquidity path for this one.                          |
| **Transfer fee**       | Depends entirely on the venue | The big one. Some pool programs support fee-bearing mints, others reject them. Check the route selector before you commit a launch plan. |

{% hint style="info" %}
Keep the protocol attributions straight: **CLMM is Raydium's** concentrated design, **Whirlpool is Orca's**, and **DLMM is Meteora's**. They are separate programs, so "this works on a concentrated pool" is not a blanket statement. Verify per venue.
{% endhint %}

## Plan a launch that can get liquidity

Run these in order. The first answer that fits decides your path.

{% stepper %}
{% step %}

### Do you need the token tradable on an AMM?

If yes, **non-transferable is off the table**. A soulbound token cannot enter any pool. Use it only for tokens that are meant to stay put, like a badge or a credential.
{% endstep %}

{% step %}

### Are you charging a transfer fee?

If yes, this is your make-or-break choice. Open [Create LP](/tools/liquidity/create-lp.md) and check which venues accept a fee-bearing Token-2022 mint before you build your launch around one. If your target pool does not support it, either pick a venue that does or drop the fee.
{% endstep %}

{% step %}

### Using default-frozen or a permanent delegate?

Both are allowed by some pools, but both affect how a launch behaves. Default-frozen accounts may need thawing before liquidity lands. A permanent delegate reads as a trust risk to buyers. Plan the disclosure and the operational steps before you mint.
{% endstep %}

{% step %}

### Just want metadata and maybe interest?

You are in the safe zone. Metadata pointer and interest-bearing mints sit closest to plain Token-2022 and clear most pools. Confirm in the route selector and proceed.
{% endstep %}
{% endstepper %}

## The classic-SPL misread caveat

Even after a Token-2022 token is trading fine, a separate issue shows up in tooling. **A Token-2022 LP mint can itself be Token-2022**, and any scanner that only understands the classic SPL layout will read it wrong. The token is fine. The reader is using the old map.

Two symptoms come up most:

* **Pool value reads as `$0.00`.** A naive scanner assumes the classic SPL layout and cannot parse the Token-2022 liquidity position, so a pool holding real funds shows as empty.
* **Labels show as `Unknown`.** A tool that detects token type by the classic mint program alone mislabels a Token-2022 mint, for instance tagging it `Unknown` in a burn or pool view.

J Tools detects Token-2022 mints where it matters and reads them with the right layout, so the figures stay correct. If a Token-2022 position looks mis-valued in some third-party scanner, that is the scanner reading the old layout, not a fault in your token.

{% hint style="warning" %}
PumpSwap liquidity-pool mints can themselves be Token-2022. If you are looking at a PumpSwap position and the value or label looks off in any tool, check whether the LP mint is Token-2022 before assuming something broke.
{% endhint %}

## Fees

Minting a Token-2022 token carries a platform fee on top of the Solana network cost and the mint rent, and each add-on stacks on the base. You see the full breakdown on the fee card before you confirm in [Token2022 Creator](/tools/launch/token2022-creator.md). Every fee is admin-configurable, so the in-app summary is the live number. Opening a pool in [Create LP](/tools/liquidity/create-lp.md) has its own fee, shown the same way.

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

## FAQ

<details>

<summary>Why would a DEX refuse to open a pool for my Token-2022 token?</summary>

Almost always the transfer-fee extension. An AMM moves tokens through its pool constantly, and a fee skimmed on every transfer changes the pool's accounting. Pool programs that were not built to handle that will reject the mint. Check the route selector in Create LP before you plan a launch around a fee-bearing token.

</details>

<details>

<summary>Can a non-transferable token ever get liquidity?</summary>

No. A soulbound token cannot move between accounts by design, so no AMM can hold it in a pool. If you need the token tradable, do not enable Non-Transferable.

</details>

<details>

<summary>My pool shows as $0.00 in another tool. Is my liquidity gone?</summary>

Likely not. A scanner that only understands classic SPL will mis-read a Token-2022 LP mint and show it as empty even when it holds funds. Check the position in a tool that reads the Token-2022 layout, like the ones in J Tools, before assuming a loss.

</details>

<details>

<summary>Does interest-bearing break pool trading?</summary>

Usually not. The displayed balance accrues over time, but transfers move the raw token amount, which most pools handle cleanly. Confirm in the route selector for your chosen venue to be sure.

</details>

<details>

<summary>Does J Tools hold my token or keys?</summary>

No. The token mints straight to your wallet and you sign every transaction yourself. J Tools is non-custodial and never asks for your private key.

</details>

## Related

{% content-ref url="/pages/S6GEvm5jvY9iGdFWrfBD" %}
[Token2022 Creator](/tools/launch/token2022-creator.md)
{% endcontent-ref %}

{% content-ref url="/pages/QjZonbkyi16SFPO78cT8" %}
[SPL vs Token-2022](/concepts/spl-vs-token2022.md)
{% endcontent-ref %}

{% content-ref url="/pages/QT0nYfDbGpJo4Cm5Tbs6" %}
[Create LP](/tools/liquidity/create-lp.md)
{% endcontent-ref %}

{% content-ref url="/pages/5HPNcHNvbGOUbEIcM9Ml" %}
[Supported DEXs](/reference/supported-dexes.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never hold your private keys and never ask for them. Every transaction is built in your browser and signed by your own wallet. If any page ever asks you to paste a private key, stop, close it, and let us know.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/concepts/token2022-dex-compatibility.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
