What to Do When a Crypto Swap Fails, Stalls, or Expires
What each swap order status actually means, why swaps stall or expire, and the exact steps to recover funds from a failed, refunded, or overdue order.
A swap that sits on "confirming" for twenty minutes feels broken even when it isn't — most instant swaps move through six or seven distinct states before your funds land, and each one means something specific. The panic move is refreshing the page and sending a second deposit "just in case." That's also the move that turns a slow swap into a genuinely stuck one.
This guide breaks down what each order status actually means, the handful of real reasons a swap stalls or fails, and — critically — the difference between "still working" and "actually needs your intervention." The order ID at the top of your order page is the single most useful piece of information you have; keep it visible the whole time you're troubleshooting.
What Each Order Status Actually Means
An instant swap isn't one transaction — it's a short pipeline. Your deposit has to arrive, confirm on its own network, get converted, and go back out as a second transaction that also has to confirm. Each stage has its own status:
| Status | What's happening | Do you need to act? |
|---|---|---|
| Waiting for deposit | The order is created and waiting for your funds to arrive | No — send the deposit if you haven't |
| Confirming | Your deposit is waiting for network confirmations | No — this is normal, timing varies by asset |
| Confirmed | Your deposit has enough confirmations and is queued for conversion | No |
| Exchanging | Your funds are being converted at the quoted rate | No |
| Sending | The payout transaction has been broadcast | No |
| Confirming payout | The payout is waiting for confirmations on the destination network | No — check the block explorer if you want to track it |
| Complete | Funds have arrived at your destination address | No — done |
| Deposit window expired | No deposit arrived before the window closed | Yes — see below |
| Needs attention | Something failed during conversion or payout | Yes — contact support |
| Refunded | Funds were sent back to your return address | No — check the refund transaction |
Only three statuses ever require you to do something: an expired window, a failed order, or a refund. Everything else is the pipeline doing its job — confirming, converting, and sending are sequential by design, not signs of a problem.
Why Swaps Actually Stall or Fail
Most "my swap is stuck" reports trace back to one of a small set of causes, not a broken exchange:
- Network congestion on the deposit or payout side. A busy Bitcoin or Ethereum network can push a normal confirmation from minutes to over an hour. This is the most common cause and resolves on its own.
- Underpayment. Sending less than the quoted amount — sometimes because a wallet subtracted its own network fee from the amount you typed — can leave an order unable to complete at the agreed rate. Support can usually re-quote or refund the partial amount.
- Wrong network. Sending USDT on Tron when the order expected Ethereum, for example, produces a transaction the order was never watching for. The funds aren't lost, but recovery requires manual intervention from support, and it takes longer than a normal swap.
- A flagged deposit or destination address. Chain-analysis checks can hold an order for review if either address has a history linked to sanctions, mixers, or known scams — regardless of the amount.
- A conversion or payout failure on the processing side. Rare, but when it happens the order status flips to "needs attention" rather than silently sitting still, specifically so you know to reach out.
None of these mean your funds are gone. A failed or stuck status is a request for manual review, not a loss — but only if you act on it instead of creating a second order.
Why the Deposit Window Expires
Fixed-rate swaps lock in an exchange rate for a set window — typically 10–20 minutes — because crypto prices move during that time and the platform has to guarantee the quoted rate against its own risk. Order pages show a live countdown once under 10 minutes remain, specifically so the window doesn't run out silently.
If no deposit arrives before the window closes, the order expires and the deposit address is hidden. This is deliberate: an expired deposit address stops accepting funds so a late transaction doesn't get converted at a rate that's no longer being honored.
The mistake that actually costs money here is sending funds anyway, after checking the timer only loosely, or sending late and then creating a brand-new order out of frustration. If you've already sent funds to an expired order's address, use the "I already sent the deposit" option on the order page instead of starting over — that routes your transaction to support for manual matching rather than leaving it unlinked to any active order.
Recovering From a Failed, Refunded, or Expired Order
Work through these in order before assuming funds are lost:
- Copy the order ID from the order page. Every support conversation starts here — it's how support finds your specific transaction among thousands of others.
- Check whether the status is genuinely terminal. Confirming, exchanging, and sending are not failures, even when they take longer than expected. Only "needs attention," "deposit window expired," and "refunded" call for action.
- Look up your deposit transaction on a block explorer using the hash from your wallet's sent-transaction history, and confirm it actually reached the address the order displayed. A transaction that never left your wallet is a different problem than one that arrived at the wrong address.
- Contact support with the order ID and transaction hash, not just a description of what happened. Include the network you sent on if a wrong-network deposit is even a possibility.
- For refunds, check the returned transaction, not just your balance — refunds go to the return address you originally provided, on the same network your deposit used, and timing depends on that network's confirmation speed the same way any other transaction does.
Never send a second deposit to "unstick" an order. It doesn't speed anything up, and it turns one support case into two.
Before Your Next Swap
A few habits prevent most of the stuck-order scenarios above: send the exact quoted amount rather than rounding down for a wallet's own fee, double-check the network selector matches the address format you're sending to, and save the transaction hash the moment you send — before you close the tab or the wallet app. If a fixed-rate countdown is running, treat it as a hard deadline, not a suggestion.
You can start a swap on Zest and track every stage of the order from a single page. For a deeper look at reading a transaction on a block explorer while you wait, see the guide on verifying a crypto transaction, and for realistic timing expectations by asset, see how long crypto swaps take.