Errors
Every error the program can return, what it means and what to do.
| Error | Meaning | What to do |
|---|---|---|
Unauthorized | Only the authority may do this | Nothing; this is an operator action |
InvalidParameter | A parameter is outside its allowed range | Check the ceilings on the API page |
Paused | New bets and new markets are paused | Wait; settlement, claims and withdrawals still work |
MathOverflow | An amount overflowed | Use a smaller amount |
AbortedComputation | The cluster aborted the computation | Retry; a deposit with amount 0 retries an aborted credit |
StaleCallback | A callback answered a computation the account is not waiting for | Nothing; it is ignored |
PurseBusy | Your purse is waiting on another computation | Wait a few seconds, or release it after an hour |
NothingToRelease | The purse is not waiting on anything | Nothing to do |
NotStuckYet | The computation has not been outstanding for an hour | Wait until it has |
PurseEmpty | The purse has never been funded | Deposit first |
ZeroAmount | Amount must be greater than zero | Enter an amount |
WrongTokenAccount | A token account is not the expected one | Use your own USDC account |
BettingClosed | Betting on this market has closed | Pick another market |
AlreadyInBatch | Your purse already holds a ticket in the open batch | Wait for this batch to close; one ticket per bettor per batch |
BatchFull | Every seat of the open batch is taken | Retry after the next tally |
BatchNotReady | The previous batch has not been tallied yet | Retry shortly |
TallyNotDue | The batch cannot be tallied yet | Wait for the minimum bettors and the end of the epoch |
TallyInFlight | A tally for this market is already with the cluster | Wait for its callback |
BetsInFlight | Bets of this market are still with the cluster | Wait for their callbacks |
FinalBatchUntallied | The final batch reached the minimum and must be tallied first | Run tally, then settle |
BeforeExpiry | The market deadline has not passed | Wait for the deadline |
AlreadySettled | The market is already settled | Claim instead |
NotSettled | The market is not settled yet | Settle it first |
NotPythUpdate | Not a verified Pyth price update | Post the update through the Pyth Solana Receiver |
FeedMismatch | The price update is for another feed | Use the market's own feed |
NotFirstPrint | Not the first print at or after the deadline, or published past the settling window | Post the first push at or after the deadline; a print published more than 15 seconds after it is refused unless its own previous print is before the deadline |
GraceNotOver | The 7-day grace for settling has not ended | Settle with the first print instead |
AlreadyClaimed | This position was already claimed | Check your purse balance |
NothingToSweep | No fees to sweep | Nothing to do |
NotPendingAuthority | No pending authority, or the signer is not it | Propose first |
Refused bets
A bet the cluster refuses is not an error: the transaction lands, BetSettled.accepted is false, and nothing moved. It happens when the stake is below the market's minimum ticket or above your sealed balance.