Skip to main content

Documentation Index

Fetch the complete documentation index at: https://continuum-ec12e897.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Anchor maps program errors to numeric codes starting at 6000 per program. The same numeric code can mean different things in different programs - always pair the code with the program ID.

mint-redeem

Program ID (devnet): 5MBjhNUUguLTPNR5WG6YBUUw7vUcxQ14ARw3NsS3rKu4
CodeNameCauseHow to fix
6000MarketNotActiveMarket.is_active = falseWait - operator may pause a market for maintenance.
6001InvalidAmountZero or negative amountPass a positive BN.
6002InsufficientCollateralVault can’t cover the redeem (rare; would imply solvency bug)Report immediately.
6003InvalidOracleOracle account passed doesn’t match market.oracle_addressUse market.oracle_address always.
6004UnsupportedOracleTypeBad oracle_type enum valuePick from Pyth / Hermes / Switchboard / Manual.
6005OraclePriceUnavailableOracle paused or no fresh observationWait for keeper to push observations.
6006MathOverflowShould be unreachableReport.
6007SymbolTooLongSymbol > 16 charsPick a shorter symbol.
6008FeeTooHighFee bps > 1000 (10%)Lower the fee.
6009MintNotAllowedInStressRisk state is StressWait for recovery, or trade on Meteora pool instead.
6010RedeemNotAllowedInStressReserved (redeem in Stress is currently allowed)Should not occur.
6011ExceedsStressMintCapProxyMode/Recovery size throttle hitReduce mint size, retry.
6012TwapNotAvailableTWAP buffer not yet populatedWait ~75s after market init.
6013AlreadyEnabledMulti-collateral already onSkip the call.
6014MultiCollateralNotEnabledTried to add collateral type without enablingCall enable_multi_collateral first.
6015MaxCollateralTypesExceededMore than 5 collateral typesHard cap.
6016InvalidWeightMulti-collateral weight not in [1, 10000] bpsUse 1–10000.
6017CollateralAlreadyExistsDuplicate collateral mintUpdate via update_collateral_vault.
6018CollateralNotFoundUnknown collateral typeAdd via add_collateral_vault.
6019BelowMinimumMint < 10 cUSDCMint at least 10_000_000 lamports.
6020UnauthorizedKeeperSigner ≠ market.keeper_authorityUse the keeper’s keypair.
6021UnauthorizedSigner ≠ market.authorityAdmin-only call.
6022InsufficientLiquidCollateralYield deployed; recall firstYield is off by default; report if you see this.
6023ExceedsYieldCeilingDeployment > yield_ceiling_bpsOperator config issue.
6024YieldManagementDisabledyield_enabled = falseYield is off by design on devnet.
6025RecallExceedsDeployedRecall > deployed balanceOperator config issue.

oracle

Program ID (devnet): 5vxiCrDpFnQ2W5QtgZBC66K2XTC19bjVBjinGYYBsadC
CodeNameCauseHow to fix
6000OraclePausedis_paused = trueAdmin emergency pause. Wait for unpause.
6001InvalidPythAccountWrong Pyth account passedUse the configured oracle_config.pyth_oracle.
6002PriceUnavailableNo fresh observationWait for keeper to push.
6003ConfidenceTooHighConfidence > max_confidence_intervalWait for confidence to narrow; transient.
6004PriceStaleLast update older than max_stalenessKeeper outage; ProxyMode imminent.
6005PriceMovementTooLargeNew observation > 20% from priorPyth glitch or extreme move; observation rejected.
6006TwapNotReadyTWAP buffer not populatedWait.
6007InvalidTwapWindowTWAP window < 1s or > 24hOperator config.
6008MarketStateRestrictionOperation not allowed in current stateRisk-state-gated.
6009UnauthorizedKeeperSigner ≠ oracle_config.keeper_authorityUse the keeper’s keypair.
6010UnauthorizedAdminSigner ≠ oracle_config.admin_authorityAdmin-only call.
6011InvalidRegisteredFeedFeed not in OracleFeed registryRegister feed first.
6012InactiveOracleFeedFeed exists but is_active = falseActivate or pick another feed.
6013MathOverflowShould be unreachableReport.

clp

Program ID (devnet): 8xauDRjw9XRyk4FE3hW1JKjD8nC87gfr59Xig1dJqLES
CodeNameCauseHow to fix
6000UnauthorizedSigner mismatchMatch the relevant authority.
6001WithdrawalLockedLockup not yet expiredWait.
6002InvalidAmountZero or negativePass a positive BN.
6003InsufficientSharesLP-share path (legacy)Should not occur in MVP.
6004InsufficientFundsVault can’t cover requestRecall capital from positions first.
6005InsufficientLiquidFundsFunds deployed; recall firstWithdraw Meteora positions, then retry.
6006OICapExceededNew OI > oi_capOperator: raise the cap. User: smaller mint.
6007MathOverflowShould be unreachableReport.
6008InsufficientBufferProtocol buffer can’t absorb lossOperator action.
6009HardBoundBreachq or drawdown past hard boundWait for renormalization.
6010YieldStrategyDisabledYield offBy design.
6011ExceedsMaxDeploymentPer-state deployment cap exceededOperator config.
6012MaxDeploymentsExceededDeployment array fullOperator config.
6013DeploymentNotFoundUnknown protocolOperator config.
6014InsufficientDeploymentRecall > deployedOperator config.
6015DeploymentTooHigh% > configOperator config.
6016OracleReadErrorBound oracle unreadableOracle config bug; report.
6017InvalidPoolPool pubkey mismatchUse clp.meteora_long_pool / meteora_short_pool.
6018PoolNotConfiguredPool not yet wiredOperator: run configure_meteora_pools.
6019AdminWithdrawCapExceeded24h $100K cap hitWait for window roll.
6020InvalidPositionPosition pubkey mismatchMatch clp.meteora_*_position.
6021InvalidAccountDataAccount data too smallWrong account passed.

registry

Program ID (devnet): REGnHqnJMxLoRAKX5RqPd9VJGcZBNgmg4xs5bVGGTap
CodeNameCauseHow to fix
6000SymbolTooLongSymbol > 16 charsUse a shorter symbol.

faucet

Program ID (devnet): 9tUeQAPEtVSB68NSfvFAqfwaB74GuVxm6Zbp1hrMiNKY
CodeNameCauseHow to fix
6000CooldownNotElapsedDrip too soon after priorWait, or use a fresh wallet.

How errors surface in clients

Anchor wraps program errors in transaction-level errors. The shape varies by SDK:
try {
  await program.methods.mintPaired(amount).accounts({...}).rpc();
} catch (e) {
  // Anchor IDL-aware error
  if (e.error?.errorCode?.code === "MintNotAllowedInStress") {
    // ...
  }

  // Or numeric
  if (e.error?.errorCode?.number === 6009) {
    // ...
  }

  // Logs are also useful
  console.error(e.logs);
}
For raw web3.js error inspection:
// Look at logs in tx simulation
const sim = await connection.simulateTransaction(tx);
console.log(sim.value.logs);
// Lines like "Program log: AnchorError thrown in programs/mint-redeem/src/lib.rs:..."

Common error sequences

”User mint failed with OraclePriceUnavailable

→ Oracle is Paused or stale beyond threshold. Likely the keeper is down or restarting. Wait 30 seconds, retry. If persistent, check the Discord #status channel.

”Mint failed with MintNotAllowedInStress

→ Risk state is Stress. The keeper is detecting wide confidence or extended staleness. Check market.risk_state; surface to the user as “minting paused, redeem still works”.

”Mint failed with OICapExceeded

→ The market has hit its cap. Either reduce your mint size (under-cap) or wait for OI to drop via redemptions.

”Mint failed with BelowMinimum

→ Trying to mint less than 10 cUSDC. Bump up.

”All instructions fail with Unauthorized

→ Wrong signer. Verify your keypair matches the expected authority for the instruction. For privileged ops, your pubkey must be market.keeper_authority (for keeper_*_single) or market.authority (for admin ops).

See also

FAQ

Common questions including error symptoms.

Glossary

What terms in error names mean.