Docs

Developers

Errors

Every program error, what it means and what to do about it.

When the program refuses a transaction, it returns a custom error code. Wallets and explorers usually show it in hexadecimal, as in custom program error: 0x1777. The app turns the common ones into a sentence; this is the full list.

CodeNameMeaning
60000x1770ArithmeticChecked arithmetic limit exceeded.
60010x1771ConfigurationInvalid immutable market configuration.
60020x1772InvalidMintUnsupported token mint or decimals.
60030x1773AmountThat amount is too small or outside the program's limits.Amount is zero, too small or exceeds limits
60040x1774SlippageThe bands moved before the transaction landed. Review the new numbers and try again.Slippage limit exceeded
60050x1775LiquidityThe pool does not have that much cash available right now.Insufficient pool cash; outstanding debt is not withdrawable
60060x1776PoolInsolventThis pool has no remaining value to deposit into.Pool has no remaining lender NAV
60070x1777HealthThat borrow is above what this collateral and range allow at the current price.Insufficient discounted collateral for borrowing
60080x1778HealthyLoanLoan is healthy.
60090x1779BandRangeThere is no room in the market's band grid below the current price.No safe range in the configured geometric band grid
60100x177aOccupiedBandPart of that range still holds dollars from an earlier fall, and new collateral cannot enter it. Try a different number of bands.New collateral cannot enter a converted band
60110x177bInvariantAccounting invariant violated.
60120x177cSessionClosedBorrowing against this stock is closed outside its trading session.xStock borrowing session is closed or its calendar is expired
60130x177dOracleOwnerUnexpected oracle account owner.
60140x177eOracleFormatUnexpected Pyth account discriminator or layout.
60150x177fOracleVerificationPyth guardian verification must be Full.
60160x1780OracleFeedUnexpected oracle feed identifier.
60170x1781OraclePriceOracle price or exponent is invalid.
60180x1782OracleStaleThe oracle price is too old. Wait for a fresh update and try again.Oracle update is stale or from the future
60190x1783OracleRollbackThe oracle update is older than one the market already used. Try again in a moment.Oracle publish time or slot moved backwards
60200x1784OracleConfidenceThe oracle is too uncertain right now to price the loan.Oracle confidence exceeds the market limit
60210x1785OracleGapThe price moved too far from the band grid for a band trade.Oracle gap exceeds the bounded AMM ratio; use liquidation backstop
60220x1786ClockClock moved backwards.
60230x1787CollateralStateThe collateral's issuer settings changed and need a sync before borrowing.Collateral extensions, issuer permissions or corporate-action price alignment are invalid
60240x1788StakeTooSmallStake is below the session signer minimum.
60250x1789StakeBoundStake backs a session role or is within 30 days of its last one.
60260x178aStakeNotBoundOnly a stake that backs a role, or did in the last 30 days, can be burned.
60270x178bRoleOccupiedThe market already has a session signer.
60280x178cNotSessionSignerSigner is not this market's session signer.

Errors that are not Taper's

Some failures come from Solana or the token programs, not from Taper:

  • Insufficient funds or lamports. The wallet lacks the SOL for fees or rent.
  • Token error 0x1. The wallet holds less of a token than the transaction moves.
  • Blockhash not found, or block height exceeded. The transaction expired before it landed. Sign it again.
  • Computational budget exceeded. A transaction that crosses many bands needs more compute. The app and SDK request 1.4 million units.