Errors

Every error code the programs can return, with the message and what usually causes it.

Updated Sep 25, 2026

A custom program error arrives as a code; both IDLs carry the table that turns it into a name and a message. Both programs number from 6000, so tell them apart by which program the failing instruction targeted. Errors and failure handling explains the ones integrators meet most and what to do about them.

Dusk program

Dusk program errors · 147 of 147

CodeNameMessage
6000InvalidOperatorOnly the current market operator may authorize this action
6001OperatorEpochMismatchOperator authority epoch changed
6002OperatorNonceMismatchOperator nonce is not current
6003OperatorFieldForbiddenThis field cannot be changed by an operator
6004OperatorPolicyExceededOperator change exceeds the fixed protocol policy
6005OperatorProposalStaleOperator bundle no longer matches the market
6006OperatorNoticeNotReadyOperator change is still in its exit notice
6007OperatorProposalExpiredOperator execution window expired
6008OperatorChangePendingOperator change is still pending
6009OperatorRevenueArchiveRequiredPrepare the previous recipient revenue archive before transferring future fees
6010InvalidDeployerInvalid deployer
6011ArgumentMissingArgument missing
6012InvalidSwapFeeBpsInvalid swap fee bps
6013InvalidInterestFeeBpsInvalid interest fee bps
6014InvalidHalfLifeInvalid half life
6015InvalidFutarchyAuthorityInvalid futarchy authority
6016InvalidReduceOnlyAuthorityInvalid reduce-only authority
6017InvalidProposalMetadataInvalid parameter proposal metadata
6018InvalidProposalUriInvalid parameter proposal description URI
6019ParameterUpdateNotMeaningfulParameter update would not change the active market parameters
6020InvalidParameterUpdateInvalid parameter update
6021UtilizationGuardExceededParameter execution is blocked while either lending side is at or above 80% utilization
6022InvalidArgumentInvalid argument
6023AmountZeroAmount cannot be zero
6024InsufficientAmount0InInsufficient amount0 in
6025InsufficientAmount1InInsufficient amount1 in
6026BorrowingPowerExceededBorrowing power exceeded
6027InvalidTokenAccountInvalid token account
6028InvalidTokenProgramInvalid token program
6029BorrowExceedsReserveBorrow exceeds reserve
6030InsufficientAmount0Insufficient amount0
6031InsufficientAmount1Insufficient amount1
6032InsufficientOutputAmountInsufficient output amount
6033SlippageExceededOutput amount below minimum requested (slippage exceeded)
6034InsufficientLiquidityInsufficient liquidity
6035InsufficientCashReserve0Insufficient cash reserve0
6036InsufficientCashReserve1Insufficient cash reserve1
6037OverflowArithmetic overflow
6038UndercollateralizedUndercollateralized
6039InsufficientBalanceForCollateralInsufficient balance for collateral
6040InsufficientAmountInsufficient amount
6041InsufficientBalanceUser balance insufficient to cover requested amount
6042InsufficientDebtInsufficient debt
6043UserPositionNotInitializedUser position not initialized
6044ZeroDebtAmountZero debt amount
6045NotUndercollateralizedNot undercollateralized
6046BrokenInvariantBroken invariant
6047InvariantOverflowMath overflow during invariant calculation
6048FeeMathOverflowMath overflow during fee calculation.
6049OutputAmountOverflowMath overflow during output amount calculation.
6050ReserveOverflowMath overflow during reserve calculation.
6051ReserveUnderflowMath underflow during reserve calculation.
6052CashReserveUnderflowMath underflow during cash reserve calculation.
6053DenominatorOverflowMath overflow during denominator calculation.
6054LiquidityMathOverflowMath overflow during liquidity calculation
6055LiquiditySqrtOverflowMath overflow during liquidity square root calculation
6056LiquidityUnderflowMath underflow during liquidity calculation
6057LiquidityConversionOverflowMath overflow during liquidity conversion
6058SupplyOverflowMath overflow during supply calculation
6059SupplyUnderflowMath underflow during supply calculation
6060DebtMathOverflowMath overflow during debt calculation
6061DebtShareMathOverflowMath overflow during debt share calculation
6062DebtShareDivisionOverflowMath overflow during debt share division
6063DebtUtilizationOverflowMath overflow during debt utilization calculation
6064InvalidMintInvalid mint
6065InvalidMintLenInvalid mint length
6066InvalidDistributionInvalid distribution - percentages must sum to 100%
6067InvalidAuctionConfigInvalid protocol auction config
6068StaleAuctionReferenceProtocol auction reference price is stale
6069InsufficientAuctionPaymentProtocol auction payment is insufficient
6070InvalidLpMintKeyInvalid LP mint key
6071InvalidLpNameInvalid LP name
6072InvalidLpSymbolInvalid LP symbol
6073InvalidLpUriInvalid LP URI
6074AccountNotEmptyAccount not empty
6075InvalidMintAuthorityInvalid mint authority
6076FrozenLpMintFrozen LP mint
6077NonZeroSupplyNon-zero supply
6078WrongLpDecimalsWrong LP decimals
6079UnsupportedAssetDecimalsAsset mint decimals exceed Dusk's 9-decimal AMM precision
6080InvalidVaultSameAccountInvalid vault - token_in_vault and token_out_vault must be different
6081InvalidVaultInvalid vault
6082InvalidParamsHashInvalid params hash - hash does not match computed parameters
6083InvalidVersionInvalid version
6084InvalidTokenOrderInvalid token order
6085InvalidRateModelInvalid rate model - rate_model does not match market configuration
6086InvalidPositionMarketInvalid position market - position does not match market
6087InvalidUtilBoundsInvalid utilization bounds - must satisfy: MIN <= start < end <= MAX
6088InvalidRateParamsInvalid rate parameters - check half_life_ms, min_rate_bps, max_rate_bps, initial_rate_bps bounds
6089ReduceOnlyModeOperation blocked: reduce-only mode is active
6090ReduceOnlyHasDebtCannot remove collateral in reduce-only mode while debt exists
6091InvalidInstructionsSysvarInvalid instructions sysvar
6092InsufficientPostWithdrawDebtCoverageInsufficient post-withdraw debt coverage
6093InvalidRecipientInvalid recipient - address does not match configured revenue recipient
6094InvalidMarketInvalid market
6095InvalidMarketConfigInvalid market config
6096InvalidSettlementPriceInvalid settlement price
6097InsufficientMarketShareBackingMarket reserve share backing is insufficient
6098InvalidMarketSideInvalid market side
6099InvalidYieldAccountInvalid yield account
6100InvalidHlpVaultInvalid hLP vault
6101InvalidHlpMintSupplyLive hLP mint supply is inconsistent with stored vault supply
6102NotEnoughAccountsNot enough remaining accounts
6103HlpSettlementUnavailablehLP settlement is unavailable
6104HlpNotLiquidatablehLP funding position is not eligible for permissionless liquidation
6105InsufficientBorrowHeadroomBorrow headroom is insufficient
6106InsufficientMarketHealthMarket health is insufficient
6107InvalidBorrowPositionInvalid borrow position
6108PositionNotLiquidatablePosition is not liquidatable
6109LiquidationSocializationExceededSocialized liquidation loss exceeds caller cap
6110InvalidClaimMintClaim mint must not charge transfer fees
6111UnbackedFeeLiabilityFee liability is not backed by its custody balance
6112InvalidMarketFeeAuthorityInvalid market fee authority
6113InvalidInitialLiquidityAuthorityInvalid initial liquidity authority
6114LaunchRateLimitSplitTransactionLaunch rate limiter permits only one top-level market action per transaction
6115MarketReduceOnlyMarket is reduce-only
6116MarketNotStartedMarket has not started
6117MarketMathOverflowMarket math overflow
6118DailyLimitExceededDaily liquidity limit exceeded
6119InstructionNotLiveInstruction is intentionally not live yet
6120LiquidationRepayTooLargeLiquidation repay amount exceeds partial liquidation cap
6121LeverageMultiplierTooHighLeverage multiplier exceeds circuit breaker
6122LeverageInitialMarginTooLowLeverage position does not have enough initial margin
6123LeverageUnwindImpactTooHighLeverage unwind impact exceeds limit
6124LeveragePositionNotLiquidatableLeverage position is not liquidatable
6125InvalidSignerInvalid signer
6126InvalidLeveragePositionInvalid leverage position
6127InvalidLeverageDelegationInvalid leverage delegation
6128InvalidReferralInterestShareBpsReferral interest share exceeds the protocol hard cap
6129InvalidReferralPartnerInvalid referral partner
6130ReferralPartnerNotActiveReferral partner is not active
6131InvalidReferralAccrualInvalid referral accrual account
6132InvalidLeverageCollateralMintLeverage collateral transfer fee must be immutable with no pending change
6133FreezableAssetMintAsset mint has an active freeze authority
6134ParameterUpdatesNotCanonicalParameter updates must name one to seven families, each once, in ascending family order
6135ReservedLiquidationClockReserved retired liquidation clock error
6136LiquidationSessionActivePosition has an active liquidation session
6137InvalidLiquidationSessionInvalid atomic liquidation session or instruction pairing
6138LiquidationDoesNotImproveHealthPartial liquidation does not improve health after costs
6139IncomeEpochNeedsRolloverArchive and roll the income epoch before issuing new receivables
6140IncomeHistoryRequiredPrepare this holder's income history before changing its balance
6141OracleAccountMissingThe market's configured oracle account was not supplied
6142OracleAuthenticationFailedOracle account owner, identity or verification failed
6143OracleInvalidObservationOracle report is invalid, future-dated, halted or too uncertain
6144OracleStaleOracle source observation is stale
6145OracleReplayOracle sequence or source observation regressed
6146LaunchSettingsImmutableLaunch-only settings are immutable after the market starts

Leverage delegate program

Leverage delegate program errors · 6 of 6

CodeNameMessage
6000InvalidOrderInvalid leverage order
6001TriggerNotMetOrder trigger is not met
6002InvalidTokenAccountInvalid token account
6003MathOverflowMath overflow
6004ApprovalSerializationFailedApproval serialization failed
6005InvalidMarketVersionUnsupported Dusk market version