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 Anchor custom errors returned by the current Dynamic Vault vault program source.
Anchor custom program errors start at 6000. When a transaction log contains custom program error: 0x1771, convert the hex value to decimal and match it against the table below.

Error Codes

CodeNameMessageCommon cause
6000VaultIsDisabledVault is disabledA deposit was attempted while vault.enabled == 0.
6001ExceededSlippageExceeded slippage toleranceMinted LP or output tokens were below the caller’s minimum threshold. Refresh vault state and quote.
6002StrategyIsNotExistedStrategy is not existedThe strategy account is not registered in vault.strategies.
6003UnAuthorizedUnAuthorizedA protected flow was attempted by the wrong authority in older paths or downstream strategy code.
6004MathOverflowMath operation overflowChecked arithmetic failed during LP math, locked-profit math, strategy accounting, or fee calculations.
6005ProtocolIsNotSupportedProtocol is not supportedThe selected strategy type does not have a supported handler.
6006UnMatchReserveReserve does not support token mintThe strategy reserve does not match the vault token mint.
6007InvalidLockedProfitDegradationlockedProfitDegradation is invalidAdmin tried to set a zero or above-denominator locked-profit degradation value.
6008MaxStrategyReachedMaximum number of strategies have been reachedAll 30 strategy slots are already occupied.
6009StrategyExistedStrategy existedinitialize_strategy tried to add a strategy already registered in the vault.
6010InvalidUnmintAmountInvalid unmint amountDirect strategy withdrawal computed an LP burn amount greater than the requested amount.
6011InvalidAccountsForStrategyInvalid accounts for strategyStrategy remaining accounts or fee vault did not match vault or strategy state.
6012InvalidBumpInvalid bumpStrategy bump args do not match the expected strategy index or PDA bump.
6013AmountMustGreaterThanZeroAmount must be greater than 0deposit received token_amount == 0.
6014MangoIsNotSupportedAnymoreMango is not supported anymoreHistorical Mango strategy path is blocked.
6015StrategyIsNotSupportedStrategy is not supportedThe selected strategy variant is not supported by the current source.
6016PayAmountIsExceededPay amount is exceededremove_strategy2 required admin advance payment above max_admin_pay_amount.
6017FeeVaultIsNotSetFee vault is not setStrategy initialization was attempted before configuring a fee vault.
6018LendingAssertionViolationdeposit amount in lending is not matchedDownstream lending deposit accounting did not match the expected amount.
6019HaveMoneyInLendingCannot remove strategy because we have some in lendingStrategy removal left more than the allowed residual liquidity in the lending protocol.
6020InvalidPrecisionLossInvalid precision lossDirect strategy withdrawal precision loss was greater than one underlying unit.
6021UndeterminedErrorUndetermined errorFallback error for unexpected internal state.

IDL Naming Notes

SourceDifference
Current program sourceUses PayAmountIsExceeded for code 6016 and includes InvalidPrecisionLoss plus UndeterminedError.
Checked-in TypeScript IDLThe older IDL spells code 6016 as PayAmountIsExeeced and stops at HaveMoneyInLending.
When decoding transactions from logs, match by numeric code first. When matching SDK-generated IDL names, account for the older misspelling in the TypeScript IDL.

Troubleshooting

SymptomCheck
Deposit fails immediatelyConfirm vault.enabled == 1, amount is non-zero, and the user’s underlying token ATA has enough balance.
Withdrawal fails with slippageRefresh vault state, LP supply, and unlocked amount. Increase min_out_amount tolerance only after re-quoting.
Strategy rebalance failsConfirm the strategy is present in vault.strategies, the fee vault matches vault.fee_vault, and all strategy-specific remaining accounts are in handler order.
Strategy initialization failsSet fee_vault first, verify StrategyBumps, and confirm the strategy type has a supported current handler.
Admin action failsConfirm the vault is a rebalance vault and the signer matches vault.admin.
Operator action failsConfirm the signer is either vault.admin or vault.operator.
Fee vault transfer failsThe new fee vault must be an LP token account whose owner is the treasury address.
remove_strategy2 failsThe admin and vault advance-payment token accounts must cover the required underlying amount without exceeding max_admin_pay_amount.