Failed is different from pending
A pending swap is still working. A failed swap stopped. On-chain, a failure is usually a revert, which means the transaction ran, a required condition was not met, and the network rolled the whole thing back as if it never happened. You generally keep the input funds, though the gas spent attempting an EVM transaction is not refunded, because the network still did the work of running and reverting it.
A revert is actually the protective outcome. It means the chain refused to settle an execution that no longer matched the terms you agreed to, rather than pushing it through at a worse result. The task after a failure is to read which condition tripped and change that one thing before retrying.
The failure taxonomy, cause by cause
Most failures fall into a short list. Each has a distinct signature and a distinct fix.
Slippage exceeded
The price moved beyond your slippage tolerance between quoting and execution, so the transaction reverted rather than filling at a worse rate. This is common on volatile pairs and thin liquidity. The fix is to request a fresh quote and, if the pair is genuinely moving, allow a slightly higher tolerance, without setting it so wide that you accept a poor fill.
Insufficient gas
You did not hold enough of the network's native token to pay the fee, or the gas limit was set too low for the operation. Every network charges its fee in its own native asset, so top up ETH on Ethereum and its Layer-2s, AVAX on Avalanche, and so on, then retry.
Missing or too-small token approval
Swapping an ERC-20 or TRC-20 token requires an approval that lets the router move that token on your behalf. If the approval is missing, or was set below the amount you are now swapping, the swap cannot execute. Approve the token for at least the amount you intend to swap, then run the swap itself.
Expired quote
Quotes are live and do not hold indefinitely. If too much time passed between seeing the quote and confirming, the route was no longer valid at execution and the transaction failed. Get a new quote and act on it promptly.
Liquidity moved
The route relied on liquidity that shifted before your transaction landed, so it could not fill at the expected price. Comparing routes again often surfaces a different path that can fill where the first could not.
Wrong network or wrong asset selected
Sometimes the transaction never had a chance because the wallet was on a different network than the swap expected, or the token selected was a lookalike. Confirm the active network and the exact token contract before retrying.
How to retry successfully
Match the fix to the cause rather than blindly resubmitting. If price moved, a fresh quote in calmer conditions or a modestly higher tolerance usually clears it. If gas was the issue, top up the native token first. If the quote expired, pull a new one and act on it. If an approval was short, approve the correct amount before the swap.
Comparing routes again before retrying helps on its own. A different route may fill where the first could not, which is where an aggregator that checks several engines at once saves a second failed attempt. Multiswap compares routes across engines and networks and ranks them by what you would actually receive, and it is non-custodial, so a failed attempt never puts your funds anywhere but your own wallet.