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