Skip to main content

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.

This page lists the Anchor custom errors returned by the DAMM v2 cp-amm program.
Anchor custom program errors start at 6000. When a transaction log contains custom program error: 0x1771, convert the hex value to decimal to find the matching code. For example, 0x1771 is 6001, which maps to InvalidFee.

Error Codes

CodeNameMessageCommon cause
6000MathOverflowMath operation overflowChecked arithmetic overflowed during fee, price, swap, reward, or liquidity math.
6001InvalidFeeInvalid fee setupBase, dynamic, protocol, referral, or compounding fee parameters failed validation.
6002ExceededSlippageExceeded slippage toleranceThe output, input, or liquidity amount was worse than the caller’s threshold. Refresh the quote.
6003PoolDisabledPool disabledThe pool status does not allow the requested action.
6004ExceedMaxFeeBpsExceeded max fee bpsFee settings exceed the pool version’s maximum fee.
6005InvalidAdminInvalid adminAn admin or operator-only action was signed by an unauthorized account.
6006AmountIsZeroAmount is zeroSwap, liquidity, reward, or fee amount is zero.
6007TypeCastFailedType cast errorA numeric conversion failed after large integer math.
6008UnableToModifyActivationPointUnable to modify activation pointA config or pool activation point can no longer be changed.
6009InvalidAuthorityToCreateThePoolInvalid authority to create the poolThe signer is not allowed to create a pool from the selected config.
6010InvalidActivationTypeInvalid activation typeActivation type is not slot or timestamp.
6011InvalidActivationPointInvalid activation pointActivation point is invalid for the selected activation type or launch state.
6012InvalidQuoteMintQuote token must be SOL,USDCA restricted quote-mint path received a non-supported quote mint.
6013InvalidFeeCurveInvalid fee curveFee schedule parameters do not produce a valid curve.
6014InvalidPriceRangeInvalid Price RangeMinimum, maximum, or initial square-root price is outside the allowed range.
6015PriceRangeViolationTrade is over price rangeSwap or liquidity math would move outside pool price bounds.
6016InvalidParametersInvalid parametersGeneric validation failure for instruction parameters.
6017InvalidCollectFeeModeInvalid collect fee modeThe collect fee mode byte or mode/config combination is unsupported.
6018InvalidInputInvalid inputGeneric input guard failed, often from token order, amount, or mode mismatch.
6019CannotCreateTokenBadgeOnSupportedMintCannot create token badge on supported mintA token badge was requested for a mint that does not need one.
6020InvalidTokenBadgeInvalid token badgeToken badge account is missing, wrong, or does not match the mint.
6021InvalidMinimumLiquidityInvalid minimum liquidityPool creation or liquidity change would violate minimum liquidity.
6022InvalidVestingInfoInvalid vesting informationVesting schedule fields are invalid or inconsistent.
6023InsufficientLiquidityInsufficient liquidityThe pool or position cannot satisfy the requested swap or withdrawal.
6024InvalidVestingAccountInvalid vesting accountExternal vesting account does not match the position or expected PDA.
6025InvalidPoolStatusInvalid pool statusStatus byte is invalid or status update is not allowed.
6026UnsupportNativeMintToken2022Unsupported native mint token2022Native SOL mint was used through the Token 2022 path.
6027InvalidRewardIndexInvalid reward indexReward index is outside the two supported reward slots.
6028InvalidRewardDurationInvalid reward durationReward campaign duration is outside allowed bounds.
6029RewardInitializedReward already initializedThe selected reward slot has already been initialized.
6030RewardUninitializedReward not initializedClaim, fund, or update targeted an uninitialized reward slot.
6031InvalidRewardVaultInvalid reward vaultReward vault account does not match the pool reward slot.
6032MustWithdrawnIneligibleRewardMust withdraw ineligible rewardIneligible reward must be withdrawn before the next reward action.
6033IdenticalRewardDurationReward duration is the sameReward duration update used the existing duration.
6034RewardCampaignInProgressReward campaign in progressReward duration update was attempted before the campaign ended.
6035IdenticalFunderIdentical funderReward funder update used the current funder.
6036InvalidFunderInvalid funderSigner or funder account does not match reward authority requirements.
6037RewardNotEndedReward not endedIneligible reward withdrawal was attempted before campaign end.
6038FeeInverseIsIncorrectFee inverse is incorrectFee inverse calculation failed validation.
6039PositionIsNotEmptyPosition is not emptyClose was attempted while liquidity, fees, rewards, or locks remain.
6040InvalidPoolCreatorAuthorityInvalid pool creator authorityConfig creator authority is invalid or mismatched.
6041InvalidConfigTypeInvalid config typeStatic and dynamic config paths were mixed incorrectly.
6042InvalidPoolCreatorInvalid pool creatorPool creator account does not satisfy config or operator constraints.
6043RewardVaultFrozenSkipRequiredReward vault is frozen, must skip reward to proceedReward vault is frozen and the caller did not use the skip-reward path.
6044InvalidSplitPositionParametersInvalid parameters for split positionSplit numerator, target position, or liquidity state is invalid.
6045UnsupportPositionHasVestingLockUnsupported split position has vesting lockSplit operation is not supported for the current vesting lock state.
6046SamePositionSame positionSource and destination position are the same.
6047InvalidBaseFeeModeInvalid base fee modeBase fee mode is not one of the supported scheduler modes.
6048InvalidFeeRateLimiterInvalid fee rate limiterRate limiter fee parameters failed validation.
6049FailToValidateSingleSwapInstructionFail to validate single swap instruction in rate limiterRate-limiter swap did not include the instructions sysvar or violated single-swap checks.
6050InvalidFeeTimeSchedulerInvalid fee schedulerTime scheduler fee parameters failed validation.
6051UndeterminedErrorUndetermined errorFallback error for unexpected internal state.
6052InvalidPoolVersionInvalid pool versionPool layout or fee version is unsupported by the requested path.
6053InvalidAuthorityInvalid authority to do that actionSigner does not own or control the position, pool, config, or operator action.
6054InvalidPermissionInvalid permissionOperator permission bits do not allow the requested action.
6055InvalidFeeMarketCapSchedulerInvalid fee market cap schedulerMarket-cap scheduler parameters failed validation.
6056CannotUpdateBaseFeeCannot update base feeBase fee update is not allowed for the current pool or mode.
6057InvalidDynamicFeeParametersInvalid dynamic fee parametersDynamic fee configuration failed bounds checks.
6058InvalidUpdatePoolFeesParametersInvalid update pool fees parametersPool fee update parameters are inconsistent or unauthorized.
6059MissingOperatorAccountMissing operator accountOperator-only instruction did not include the required operator PDA.
6060IncorrectATAIncorrect ATAAssociated token account does not match the expected mint or owner.
6061InvalidZapOutParametersInvalid zap out parametersProtocol-fee zap parameters are invalid.
6062InvalidWithdrawProtocolFeeZapAccountsInvalid withdraw protocol fee zap accountsZap protocol-fee accounts are missing or mismatched.
6063MintRestrictedFromZapSOL,USDC protocol fee cannot be withdrawn via zapRestricted fee mint was used in the zap protocol-fee path.
6064CpiDisabledCPI disabledA disallowed CPI path was attempted.
6065MissingZapOutInstructionMissing zap out instructionZap protocol-fee flow did not include the required downstream instruction.
6066InvalidZapAccountsInvalid zap accountsZap accounts do not match the whitelisted route or expected account set.
6067InvalidCompoundingFeeBpsInvalid compounding fee bpsCompounding fee bps is outside allowed bounds or incompatible with collect fee mode.

Typescript SDK Validation Errors

The TypeScript SDK also raises local validation errors before a transaction is built. These are JavaScript errors rather than on-chain Anchor errors.
SDK errorCommon cause
DepositTokenNotAcceptedErrorDeposit was attempted on the side that the current price range cannot accept.
SameTokenMintsErrorPool creation or swap input uses the same mint for both sides.
AmountIsZeroErrorSwap, liquidity, or reward funding amount is zero before building the transaction.
ExceedMaxFeeBpsErrorFee bps exceeds the pool version’s maximum.
InvalidPriceRangeErrorInitial, minimum, or maximum price is outside DAMM v2 bounds.
InvalidCollectFeeModeErrorUnsupported collect fee mode or incompatible pool parameters.
InvalidCompoundingFeeBpsErrorCompounding fee bps is invalid or used with an incompatible collect fee mode.
InvalidBaseFeeModeErrorUnsupported base fee mode.
InvalidFeeTimeSchedulerErrorTime scheduler parameters are invalid.
InvalidFeeRateLimiterErrorRate limiter parameters are invalid.
InvalidFeeMarketCapSchedulerErrorMarket-cap scheduler parameters are invalid.
InvalidDynamicFeeParametersErrorDynamic fee parameters are invalid.
InvalidMinimumLiquidityErrorPool creation or liquidity change does not satisfy minimum liquidity checks.
SwapDisabledErrorQuote helper determined swap access is disabled for the current point.
PriceRangeViolationErrorQuote would move outside the pool price range.
InvalidSplitPositionParametersErrorSplit ratio or target position setup is invalid.
InvalidVestingInfoErrorVesting parameters are inconsistent or outside duration limits.
InvalidRewardIndexErrorReward index is not one of the two supported reward slots.
InvalidRewardDurationErrorReward duration is outside program bounds.