Reference · measured on-chain · free

Where your token
can have a pool.

Every row here was read from the program on mainnet, not copied from documentation. Before spending, only one question matters: can this protocol talk to my token?

45 distinct programs, 22 that speak Token-2022 and 12 you can build against without reverse engineering. Not one number here came from documentation — the public docs get it wrong in both directions.

You can create a pool without guessing (12)

IDL published on-chain AND a create-pool instruction. These are the ones you build against without reverse engineering the binary.

ProtocolProgram addressTypeToken-2022IDL on-chainCreate pool
Orca Whirlpool (CLMM)whirLb…uctyCcconcentrated liquidityyes66 instructionsinitialize_pool_v2
Raydium CLMMCAMMCz…KgrWqKconcentrated liquidityyes38 instructionscreate_pool
Meteora DLMMLBUZKh…VaPwxodiscrete binsyes76 instructionsinitialize_customizable_permissionless_lb_pair
Meteora DAMM v2cpamdp…En1sGGconstant product + rangeyes38 instructionsinitialize_customizable_pool
OpenBook v2 (order book)opnb2L…EohpZborder bookno29 instructionscreateMarket
PumpSwap (pump.fun AMM)pAMMBa…FMfXEAconstant productyes27 instructionscreate_pool
Stabble StableswapNy…nAXjJZstableswapyes19 instructionsinitialize
Stabble WeightedswapFp…a2fwHWasymmetric weightsyes13 instructionsinitialize
PerenaNUMERU…Ekoi5Pstableswapyes22 instructionscreate_pool
ByrealREALQq…fxQ5N2concentrated liquidityyes35 instructionscreate_pool
BonkswapBSwp6b…epzH8pconstant productyes19 instructionscreatePool
GuacswapGswppe…pBqcE1constant productyes20 instructionscreatePool

Curve: the program creates the token (3)

⚠️ They do not accept an existing token. The opening instruction has the mint as a signer, meaning the token is born inside. Measured on all three.

ProtocolProgram addressTypeToken-2022IDL on-chainCreate pool
Raydium LaunchLabLanMV9…duJ3ujbonding curveyes27 instructions—
Meteora DBCdbcij3…uSMaqNbonding curveyes28 instructions—
pump.fun (curva)6EF8rr…BEwF6Pbonding curveyes40 instructions—

They exist and work, but would need reverse engineering (30)

No IDL on-chain, or no public create-pool instruction. You can use them; you cannot build against them without each project's own IDL.

ProtocolProgram addressTypeToken-2022IDL on-chainCreate pool
Meteora DAMM v1Eo7WjK…Vn5UaBconstant productno26 instructions—
Meteora Vault24Uqj9…wBpyTiyield vaultyes14 instructions—
Lifinity v22wT8Yq…L7aD3cmarket maker with oracleno3 instructions—
WoofiWooFif…cJ1AVbmarket maker with oracleyes41 instructions—
Raydium CPMMCPMMoo…5qKP1Cconstant productyesno IDL—
Raydium AMM v4675kPX…Ut1Mp8constant productnono IDL—
Raydium Stable5quBto…1Uev3hstableswapnono IDL—
InvariantHyaB3W…RaJuttconcentrated liquiditynono IDL—
Phoenix (order book)PhoeNi…HGqdXYorder booknono IDL—
OpenBook v1 / SerumsrmqPv…ksJtPXorder booknono IDL—
SaberSSwpkE…nZg1UZstableswapnono IDL—
CremaCLMM9t…3Sp7tRconcentrated liquiditynono IDL—
FluxBeamFLUXub…HSrm1Xconstant productyesno IDL—
Sanctum Infinity5ocnV1…sgx9kxstableswapnono IDL—
SolFiSoLFiH…MZxyCeclosed market makernono IDL—
ZeroFiZERor4…f4hbZYclosed market makernono IDL—
Obric v2obriQD…Nm113ymarket maker with oracleyesno IDL—
HumidiFi9H6tua…N3q6Rpclosed market makeryesno IDL—
GoonFigoonER…7BnS5jclosed market makernono IDL—
Tessera VTessVd…83GLQHclosed market makernono IDL—
1DEXDEXYos…aqPMTmorder booknono IDL—
SolayerendoLN…MybpATstableswapyesno IDL—
Aldrin v2CURVGo…bgs2t4constant productnono IDL—
PenguinPSwapM…hGhXkPconstant productnono IDL—
DexlabDSwpgj…Jtmg6Nconstant productyesno IDL—
MercurialMERLuD…U2HKkystableswapnono IDL—
CropperCTMAxx…biyfzhconstant productnono IDL—
Token Swap SPLSwapsV…4U1Szwconstant productnono IDL—
SarosSSwapU…ToDUZrconstant productnono IDL—
Step FinanceSSwpMg…y2vLt1constant product—no IDL—

How each row was measured

By reading the program, not the documentation.

Token-2022 was measured by looking for the 32 bytes of the Token-2022 program id inside each protocol's published binary. Presence does not guarantee full support — extensions can still be rejected — but absence guarantees it does not work. That half of the answer already saves you the spend.

IDL on-chain is what separates building from guessing: with it, the instructions and account layouts come from the program itself. Without it, assembling a transaction means reverse engineering the binary or trusting each project's repository.

⚠️ The public documentation gets it wrong in both directions, which is why nothing here was copied from it. Two examples that cost a measurement: Raydium's omits an extension it does accept, and there is an extension Orca accepts that appears in no documentation at all, nor in the JavaScript SDK.