Error reference
Every custom error the program can return, with what causes it and what to do.
| Code | Name | Message | What to do |
|---|---|---|---|
| 6000 | NotUpgradeAuthority | Signer is not the program's upgrade authority | Only the launch step uses this; nothing for users |
| 6001 | MintNotAccepted | Campaigns raise USDC or wrapped SOL only | Pick USDC or SOL |
| 6002 | ZeroGoal | Goal must be greater than zero | Set a goal |
| 6003 | ZeroBonus | Bonus deposit must be greater than zero | Every campaign needs a bonus |
| 6004 | BonusRateOutOfRange | Bonus rate is outside the allowed range | Use 1% to 50% |
| 6005 | BonusAboveGoal | Bonus deposit is more than the rate can ever pay out below the goal | Lower the deposit or raise the rate: deposit / rate must not exceed the goal |
| 6006 | DurationOutOfRange | Campaign length is outside the allowed range | 1 to 90 days |
| 6007 | UriTooLong | Metadata URI is too long | 200 bytes at most |
| 6008 | ZeroAmount | Amount must be greater than zero | Enter an amount |
| 6009 | CampaignClosed | The campaign deadline has passed | It can only be settled now |
| 6010 | EligibleBelowMinimum | Less bonus-eligible amount is left than the backer asked for | Someone filled the early room first; pledge again with the new figure |
| 6011 | DeadlineNotReached | The campaign deadline has not passed yet | Wait for the deadline to settle |
| 6012 | AlreadySettled | The campaign is already settled | Claim instead |
| 6013 | NotSettled | The campaign is not settled yet | Run settle first |
| 6014 | CreatorAlreadyPaid | The creator has already been paid | Nothing left for the creator |
| 6015 | ClaimsOutstanding | Backers, the creator or the fee waiver still have something to claim | Run the remaining claims, then close |
| 6016 | BurnTokenNotSet | The PLEDGE token is not set yet | Before launch the burn cannot run |
| 6017 | WaiverAlreadyLocked | A fee waiver is already locked | One waiver per campaign |
| 6018 | NoWaiverLocked | No fee waiver is locked | Nothing to release |
| 6019 | BurnPoolNotSet | No burn pool is set for this mint | That mint's fees wait until a pool exists |
| 6020 | BurnPoolInvalid | Burn pool account does not match the configured pool | Pass the pool named in Config |
| 6021 | BurnTwapUnavailable | Burn pool has no time-weighted price over the required window | Wait until the pool has 30 minutes of history |
| 6022 | BurnAmountInvalid | Burn amount is zero, above the fee balance or above the per-call pool limit | Spend at most 0.1% of the pool's reserve |
| 6023 | WrongRecipient | Token account does not belong to the recipient | Claims pay only the owner's own account |
| 6024 | MathOverflow | Arithmetic overflow | Amounts too large for u64 |
Raydium's own ExceededSlippage can also come back from crank_burn when the pool price has moved more than 2% from its 30-minute average: the call refuses to buy at a bad price.