Failed transactions are normal on Solana, especially around volatile tokens. The thing to know first: a failed transaction doesn't move your funds. You lose the base fee, a fraction of a cent, and the swap just didn't happen.
The usual reasons
- Slippage limit hit. The most common one on volatile tokens. Price moved past your tolerance between quote and execution, so it aborted instead of filling badly. Working as intended.
- Congestion. During a hot launch, transactions with a low priority fee get dropped before validators get to them. Retry with a higher one.
- Expired blockhash. Transactions reference a recent block and expire after about a minute. If it doesn't land in time, it fails and needs re-signing. Safe to retry. An expired one can never execute later.
- Not enough SOL. Every swap needs SOL for fees and maybe rent for a new token account, about 0.002 SOL. Spending your entire balance in one trade is the classic way to strand yourself. Keep some spare.
- A venue broke. The pool or router your swap was routed through stopped working between quote and execution. In a very thin pool, a route that worked at quote time can't fill your size a second later.
The fix
Match it to the cause. Widen slippage a little, not a lot, on volatile tokens. Retry during congestion. Keep spare SOL. If one token keeps failing while everything else works, it's the token's liquidity, not your wallet.
What Aurus does before you see a failure
Most of these never reach the chain. Every swap is simulated first, and a transaction that would fail isn't sent. If the simulation shows a specific venue in the route is the problem, the engine re-quotes with that venue excluded, then checks the rebuilt transaction's on-chain minimum still clears the price you approved before it goes out. Venues that keep failing for other users get excluded from your routes too.
Once sent, the signed transaction is resent on a schedule until the chain confirms it, for about half a minute, so congestion and blockhash expiry mostly get handled without you. Priority fees are set automatically for every trade, so "retry with a higher fee" isn't a thing you do. If the wallet is short of SOL for fees or rent, the app says what's short and lets another wallet you own cover it.
When something does fail, the status screen says whether it was never sent, sent and failed, or still pending, and if the price moved you get a safe retry or a labeled wider one. What you'll never get is a transaction that landed showing as failed, or a second send while the first one's outcome is still unknown.