This page summarizes the
cp-amm account model. For exact layouts, use the published IDL and generated TypeScript types exported by @meteora-ag/cp-amm-sdk.PDA Map
Pool and customizable pool PDAs sort the two mint public keys lexicographically in the seed list.Constants
Enums
Config
Use
fetchConfigState, getStaticConfigs, or getAllConfigs to read configs from TypeScript.
PoolFeesConfig
Pool
Use
fetchPoolState for state and fetchPoolFees when you need decoded pool fee bytes.
PoolMetrics
RewardInfo
Position
The position NFT is the ownership handle. A position operation that changes liquidity or claims fees verifies the owner through the NFT token account.
PositionMetrics
UserRewardInfo
InnerVesting
Rewards And Vesting
Each pool has up to twoRewardInfo slots. Once initialized, a reward slot remains initialized. Each position has matching UserRewardInfo checkpoints.
External Vesting accounts are still supported and are 176 byte zero-copy accounts keyed by position. inner_vesting stores one vesting schedule inside the Position account and lets integrations lock liquidity without creating a separate vesting account. Use the SDK lock and refresh helpers unless you are building low-level instructions.
Token Badges
TokenBadge is a 160 byte account that records the mint for Token 2022 mints requiring review. See Token 2022 support for product behavior and supported extension categories.
