A failed swap and a paid fee can coexist
On Ethereum, the network charges for computation used to process a transaction. If a swap executes and then reverts, the trade may not complete while a gas fee remains. The fee did not buy a successful exchange; it paid for work the network performed. This is different from a request rejected before it was included in a block.
Start with the receipt, not the red banner. An app message is a useful clue, but it is not a complete account of what happened onchain. This guide describes ordinary Ethereum execution; other networks and sponsored payment flows can account for fees differently.
If Phantom says the swap failed
Open the swap in History and inspect its explorer status before retrying. A simulation error before submission and a confirmed failed transaction are different cases. A pending transaction is not a completed failure. If a cross-chain source transaction completed, inspect the destination stage instead of submitting the whole swap again.
This guide’s gas-used example is for Ethereum execution. Do not apply its numbers or fee mechanics to Solana or every sponsored route. Keep the network and the failure stage attached to the receipt.
Find the transaction before diagnosing it
Open the transaction from your wallet history and use the explorer for the network you actually selected. Check its status, sender, time and fee. If a hash cannot be found, first confirm the network and explorer rather than concluding that nothing was submitted.
Separate three questions in your notes: was the transaction included, did the intended operation succeed, and what was charged? A pending transaction is not a confirmed failure. Repeating an unresolved request can create another transaction rather than repair the first one.
Read gas used, not only the maximum
Ethereum distinguishes a gas limit from the gas actually consumed. A displayed maximum is not automatically the final charge. A transaction that runs out of gas during execution can consume its allocated gas while reverting the intended changes. Simply increasing a limit does not fix every reason a contract may reject a swap.
Etherscan describes several failure categories. Use the receipt and the service's explanation to identify the relevant one. Avoid treating a generic failure as proof of a particular cause, such as congestion, an allowance problem or a price condition.
Work through one fictional receipt
Imagine a wallet starts with 0.0200 ETH. A fictional swap fails during execution and its receipt records a 0.0003 ETH network fee. With no other activity, the ETH balance becomes 0.0197. The intended token exchange did not finish, yet the network processing had a cost. These are illustrative quantities, not current gas estimates.
Now contrast a request that fails a pre-submission check and has no included transaction. That case does not establish the same onchain charge. If the numbers do not reconcile, check other transactions and any app or provider charges separately before attributing the difference to gas.
Prepare a second attempt deliberately
Record the original status and failure explanation. Then review the proposed token, network, amount, available fee balance and current quote. If the documented cause remains unclear, use the provider's official support route. A fresh quote is a new proposal; it should receive its own review.
Don't blindly raise slippage, approve an unrelated spender or follow a recovery link from a reply. Those actions change the risk without necessarily addressing the cause. Keep the failed transaction's identifier so you can distinguish a retry from an earlier attempt.
Keep a small failure log
Save the network, transaction identifier, observed status, gas charged and the change made before retrying. Keep public evidence separate from private account information. Support does not need your recovery phrase or private key to explain an onchain receipt.
Use this sequence: identify the request, establish its status, reconcile the cost, investigate the cause, then decide whether another attempt is appropriate. A failed trade is a reason to inspect the evidence, not a reason to keep paying for the same unresolved mistake.
Keep the charge in its original fee asset when reconciling it. A changing fiat conversion can make yesterday's fee look larger or smaller today without changing the amount paid onchain. Note the valuation time if you record a dollar estimate; two portfolio screenshots are not a substitute for the receipt's fee field. Compare it with the wallet's activity log.

