TradeWhen something goes wrong
Trade

When something goes wrong

opcode is built to stop rather than guess. When it cannot prove that a price is fresh, a token is as expected, or a transaction's outcome is known, it says so and waits. This page lists the states you can land in and the way out.

First, the rule that matters most

The ticket will not let me ask for a quote

The ticket saysWhyWhat to do
Connection interrupted, in the status barThe terminal has lost contact with the server.Check your connection, then Refresh.
Pool unavailableThe OPmode pool is paused, the US market is closed, or its reference is being refreshed. The notice gives the reason; the table under OPmode below explains each one.Wait, or switch to Quick, which still works for this market.
An earlier order is waiting for its resultAn order you sent has no known outcome yet.Choose Check it now, and wait for it to resolve.
The token mint could not be verifiedThe token failed its on-chain check. Quick quotes are paused for it.Wait. The market shows the reason once it clears.
Enter a positive amount within the token limitThe amount is empty, zero, or has too many decimals.Correct the amount.

Reasons a market has no price

These reasons belong to the public reference that the market list, the chart and Quick use: the Jupiter token price, checked against the underlying share price. OPmode does not use that reference; its own reasons are in the next section.

ReasonMeaning
Reference updates are delayedNo fresh price for ten seconds. See Reference prices.
The token and underlying share prices disagreeThe sources differ by more than 1.5% in the regular session, or 4% otherwise.
The reference moved more than 10% between observationsA jump that large is treated as suspect until a consistent update arrives.
This thin market needs a fresh underlying share priceThe token is too illiquid on chain to be its own reference, and the share price is too old.
The latest on-chain token price could not be verified as freshThe token is its own reference, its latest trade is more than 15 minutes old, and no share price can stand in.
Token mint verification is delayedThe token's on-chain configuration has not been re-checked in the last six minutes.
The issuer has paused this token mintThe issuer has stopped all transfers of this token. Nobody can trade it anywhere until they lift it.
The token extension set has changed and requires reviewThe issuer changed how the token behaves. The market stays off until the change has been reviewed.
Verified calendar has expiredThe exchange calendar could not be refreshed for a week. Sessions cannot be trusted, so there is no price.

Quick can still route a market without a public price through Jupiter, if the token itself passes its checks.

OPmode is unavailable for this market

OPmode prices from the underlying stock or ETF price from Pyth, verified on chain. When that reference cannot be used, the ticket shows Pool unavailable with one of these messages, or the quote request returns it. Quick is not affected.

MessageMeaningWhat to do
A fresh underlying price is unavailable for this market session.The US market is closed, at a weekend or on an exchange holiday, or the calendar and the Pyth report do not both confirm the current session.Wait for the next open session, or use Quick.
The underlying price is preparing. Try again shortly.No Pyth observation is ready for this market yet.Try again in a few seconds.
The market reference is being refreshed.The on-chain reference has expired or no longer matches its verified Pyth record. A market's reference stops refreshing after 60 seconds in which nobody has it open in the terminal or requests a quote, and opening it starts a new one.Wait a few seconds; the notice clears when the pool is ready.
The stock reference is being confirmed. Try again shortly.A new reference is being verified and written on chain while your request was prepared.Try again in a few seconds.
The stock reference needs to refresh before a new quote.The on-chain reference is more than five seconds old, or more than 5 bps from the latest underlying price.Try again in a few seconds.
The underlying price is older than five seconds.The Pyth source has not updated recently enough.Try again shortly.
The underlying price confidence exceeds the session limit.Pyth's confidence interval is wider than 25 bps of price in the regular session, or 50 bps in other sessions.Try again later.
The underlying feed has too few publishers for this session.Fewer publishers than the session requires: 3 in the regular session, 2 in the others (3 for COINx before and after the regular session).Try again later.
USDC parity monitoring is unavailable or delayed.The independent USDC price that guards the 1 USDC = 1 USD assumption is missing or more than 60 seconds old.Try again shortly.
USDC has moved outside the supported dollar parity range.The independent USDC price is outside $0.99 to $1.01.Wait. OPmode resumes when USDC is back in range.
OPmode is being updated. Try again shortly.opcode is applying an update to OPmode.Wait, or use Quick.

A quote or a swap was refused

MessageMeaningWhat to do
The quote expiredThe quote's time ran out before the transaction was signed and sent.Get a new quote.
OPmode trading is pausedThe owner or the emergency key has paused this market, or a withdrawal emptied its pool or left a vault below its floor.Use Quick, or wait for it to reopen.
Check your pending transaction before creating another orderAn OPmode order or pool transaction from this wallet has no known result yet.Open it from Activity in Portfolio and wait for it to resolve.
The settlement reference must be refreshed before a new quoteThe reference on chain has too little life left to give you five seconds of review.Try again in a few seconds.
The underlying price moved or the quote needs more review time. Request a fresh quote.Checked again just before the quote was returned, the Pyth source was over five seconds old or fewer than five seconds were left for review.Request a fresh quote.
The underlying price changed during preparation. Request a fresh quote.The underlying price moved more than 5 bps, or its confidence widened, while the quote was being prepared.Request a fresh quote.
This trade exceeds the settlement market size limitOver 100 USDC on NVDAx, or 20 USDC on any other OPmode market.Lower the amount, or split it.
The settlement market turnover limit has been reachedThe pool has traded its limit for the current fixed 60-second window.Wait for the next window, at most a minute.
Available pool inventory is reserved by pending quotesOther open quotes have set aside what this one needs.Try again shortly.
This trade would exceed the pool inventory range. The opposite direction remains available.The pool's stock share of value must stay between 25% and 75%, and this trade would push it further out.Trade a smaller size, or the other side.
Pending quotes have reserved the pool inventory rangeOpen quotes already use the room left inside that 25–75% range.Try again shortly.
The settlement vaults cannot fill this tradeThe pool cannot cover the output at this size right now.Try a smaller size.
This quote exceeds the on-chain reference price bandThe price would be more than 1% from the reference on chain.Try again after the next reference update.
This amount is too small to quoteAfter the fee, the output rounds down to nothing.Increase the amount.
No executable route was foundJupiter found no route for this amount on Quick.Try another amount.
Too many quotes. Try again in a minuteMore than twelve quote requests in a minute on one route.Wait a minute.
Settlement simulation rejected the quote; refresh balances and market state.A trial run of the OPmode transaction failed before the quote was returned, usually because a balance or the pool changed.Refresh, then request a new quote.
Add SOL to your wallet… / The wallet needs SOL…Not enough SOL for the network fee, or for the rent of a new token or receipt account.Add about 0.01 SOL.

In the wallet

What happenedResult
You rejected the transactionNothing was submitted. The quote lapses when it expires.
The wallet account changedopcode signs you out. Sign in with the account you want, then get a new quote.
The wallet changed the transactionopcode refuses to submit anything other than the exact bytes you reviewed. Get a new quote, and check your wallet's settings for anything that rewrites transactions.
This account cannot sign Solana v0 transactionsUpdate the wallet, or use another account.

On chain

If the program rejects a fill, nothing moves except the network fee. The reasons are precise. The common ones: the quote expired by slot; an epoch changed because the pool was paused or a provider withdrew; the reference on chain was too old or no longer matched its verified Pyth record; the token's configuration changed. Each means the same thing to you: ask for a new quote. Settlement on Solana lists them all.

Still stuck

Keep your wallet address and the transaction signature, or the order ID from the Receipt section of the ticket; they identify the trade exactly. Never send a seed phrase or a private key to anyone, including someone claiming to be opcode.