MoneroSwapper MoneroSwapper

How to Fix a Stuck Monero Swap: Not Received

MoneroSwapper · · · 10 min read · 9 views

How to Fix a Stuck Monero Swap: Not Received

You sent Bitcoin to a swap service, the timer ran out, and the Monero never landed in your wallet. Or the swap page says "exchanging" twelve hours later while your XMR sits in limbo. This is one of the most common support tickets in the privacy-coin world, and the frustrating part is that the coins are almost never actually lost — they are stuck somewhere specific, and that somewhere tells you exactly what to do next. With a typical Monero block time of about two minutes and a default requirement of 10 confirmations before funds are spendable, even a perfectly healthy swap can feel "stuck" for 20 minutes or more.

This guide walks through every realistic reason a Monero swap appears stuck or the transaction is not received, how to diagnose where the funds actually are, and the concrete steps to recover them. We will cover wallet-side issues, network-side delays, and exchange-side holds, with specific tools you can use to prove a payment moved. The same diagnostic flow works whether you used an instant swapper like MoneroSwapper, a centralized exchange withdrawal, or a peer-to-peer atomic swap.

Why Monero Swaps Appear Stuck

"Stuck" is rarely a single failure. A swap is a chain of independent steps — your deposit, the service's internal conversion, the outbound Monero transaction, network propagation, and finally your wallet detecting and confirming it. A delay in any one link looks identical from the outside: nothing arrives. Pinning down the link is 90% of the fix.

  • Confirmation lag: Monero only treats incoming funds as spendable after 10 confirmations (~20 minutes). Your wallet may show an "unconfirmed" balance long before that, and some interfaces hide it entirely until it locks in.
  • Mempool congestion: When the mempool fills — as it did during the spam-flood events that bloated Monero's transaction backlog in 2024 — low-fee transactions wait longer to be mined into a block.
  • Propagation delay: Monero's Dandelion++ routing deliberately obscures the origin of a transaction by passing it through a "stem" phase before broadcasting. This privacy feature adds seconds to minutes before the network sees your TX.
  • Wallet not synced: A light wallet or a full node that is behind the chain tip cannot show a payment that already arrived. The coins are there; your view of the blockchain is stale.
  • Exchange-side hold: Centralized services may pause an outbound swap for AML review, liquidity, or manual approval — the most common cause of a multi-hour "exchanging" status.

Where Your Swap Actually Is: Diagnosing the Funds

Before you contact support or panic, locate the money. Monero's privacy design means you cannot simply paste your address into a public explorer and see your balance — stealth addresses ensure each payment lands on a unique one-time key that is not linkable to your public address. That is good for fungibility and terrible for casual debugging. Instead, you diagnose using the artifacts the swap produced: a transaction ID (TXID), a payment timer, and a status page.

Step one: Confirm the inbound leg cleared

If you funded the swap with Bitcoin, Ethereum, or another transparent chain, that leg is fully auditable. Paste the deposit TXID into the relevant block explorer and verify it reached the number of confirmations the swap service requires (often 1–3 for BTC, more for low-value altcoins). If your deposit is still pending on the source chain, the swap has not even started — the Monero leg cannot move until your funds confirm. This is the single most common false alarm.

Step two: Find the outbound Monero TXID

Once the service marks the swap complete, it should expose an outbound Monero transaction hash. Copy it into a Monero block explorer such as xmrchain.net or exploremonero.com. Because of RingCT, you will not see the amount or the recipient publicly — that is by design. You can, however, confirm the transaction exists, see its age, and read how many confirmations it has accumulated. If the explorer shows the TX with 10+ confirmations but your wallet shows nothing, the problem is on your side, not the network's.

Step three: Prove the payment landed in your wallet

To verify a specific incoming payment without exposing your Spend key, Monero offers two tools. A reputable service can hand you a transaction proof (also called a tx proof or payment proof): the TXID, the recipient address, and the transaction's secret key. You paste these into your wallet's "Check Transaction" / "Prove-Verify" dialog, and the wallet cryptographically confirms the funds were sent to your address and how much. Alternatively, if you control a View key for the receiving wallet, you can scan the chain to detect the payment directly. Either path turns "I think it's missing" into a definitive yes or no.

Common Causes and Their Fixes

The table below maps the symptom you see to the most likely cause and the fastest fix. Work top to bottom — the cheapest checks are first.

SymptomLikely causeFix
Wallet shows nothing after 5–15 min Normal confirmation lag (10 confs needed) Wait ~20 min; enable "show unconfirmed" if available
Balance "unlocked" pending forever Wallet not synced to chain tip Rescan, switch nodes, or wait for full sync
Explorer shows TX but wallet doesn't Wrong wallet, wrong Subaddress, or stale cache Rescan spent/blockchain; verify receiving address
Swap status stuck on "exchanging" Exchange-side hold or AML review Open a support ticket with your order ID
Source-chain deposit still pending Inbound leg not confirmed yet Wait for source-chain confirmations first
Outbound TX in mempool, never mined Fee too low during congestion Service must bump fee or rebroadcast

The "unconfirmed but visible" trap

Many users see an incoming amount appear and then complain it is "stuck" because they cannot spend it. That is not stuck — that is Monero enforcing its 10-confirmation lock so that funds cannot be double-spent before they are buried under enough proof-of-work secured by RandomX. The countdown is normal and non-negotiable. The fix is patience: roughly 20 minutes from the moment the transaction was first mined.

The wrong-address or legacy payment ID problem

Older integrations sometimes asked for a separate payment ID. If you sent to an address but omitted a required memo or payment ID, an exchange may not credit you automatically even though the Monero arrived. Modern flows use integrated addresses or Subaddress schemes that bake the routing in, so always copy the full address the swap shows you and never reuse a saved one. A single transposed character routes the payment to a stranger's one-time key with no way back.

Step-by-Step Recovery

Follow this sequence in order. Most stuck swaps resolve before step four.

  1. Note your order ID and both TXIDs. Screenshot the swap status page immediately. The order ID is your only leverage with any service, and the page may expire.
  2. Verify the inbound leg. Confirm your deposit reached the required confirmations on the source chain. If it is still pending, stop here and wait — nothing downstream can proceed.
  3. Locate the outbound Monero TXID on an explorer. Confirm it exists and count its confirmations. Ten or more means the network did its job.
  4. Sync and rescan your wallet. In Feather, Cake, or the official GUI, switch to a healthy remote node or your own node, then run "Rescan wallet" / "Rescan spent" so the wallet re-reads the chain and detects the one-time output addressed to you.
  5. Request a transaction proof. If the wallet still shows nothing, ask the service for the tx proof (TXID + address + tx secret key) and verify it in your wallet's check-transaction tool.
  6. Escalate with evidence. If the proof shows funds went to an address you do not control, you have a concrete claim. Send the order ID, both TXIDs, and the proof to support and ask for a corrected payout.
If a block explorer shows your outbound Monero transaction with 10+ confirmations, the coins exist and are settled — from here it is a wallet-sync or wrong-address issue, never a "lost on the network" issue.

A Real-World Example

Consider a trader in early 2025 who swapped 0.05 BTC for XMR and saw the status freeze on "exchanging" for nine hours. Their first instinct was that the funds were gone. Pasting the BTC deposit TXID into a Bitcoin explorer showed 140 confirmations — the inbound leg was flawless. The swap service had simply queued the outbound payout during a temporary liquidity rebalance. Once the trader opened a ticket with the order ID, the Monero transaction broadcast within the hour, propagated through Dandelion++, and confirmed normally.

Contrast that with a user who genuinely could not see funds that an explorer confirmed had settled. The culprit was a desktop wallet stuck 40,000 blocks behind because its hardcoded node had gone offline. Pointing the wallet at a fresh node and running a full rescan surfaced the entire balance in minutes. The lesson repeats across thousands of cases: services like MoneroSwapper publish the outbound TXID precisely so you can self-verify, and the explorer is the arbiter of truth. If the chain says settled, the fix is local — sync, rescan, recheck the address — not a frantic refund request.

FAQ

How long should a Monero swap take before I worry?

Budget for the inbound chain's confirmation time plus roughly 20 minutes for Monero's 10 confirmations. For a BTC-to-XMR swap that is often 30–60 minutes end to end. Anything past two hours with no movement on the outbound TXID is worth a support ticket, especially if your deposit already confirmed.

Can a Monero transaction be reversed if it went to the wrong address?

No. Monero transactions are final and irreversible once mined, and stealth addresses mean funds land on a one-time key only the recipient's wallet can detect. If you sent to the wrong address, recovery depends entirely on the goodwill of whoever controls it. Always copy-paste the full address and verify the first and last characters before sending.

Why can't I see my Monero balance on a block explorer?

That is Monero working as intended. RingCT hides amounts, ring signatures hide the true sender among decoys, and stealth addresses hide the recipient. A public explorer can confirm a transaction exists and count its confirmations, but it cannot show your balance. To verify an incoming payment you use a transaction proof or your wallet's View key, not a public lookup.

My wallet shows the funds as "locked" — is the swap stuck?

No. A locked or unconfirmed balance simply means the transaction has not yet reached 10 confirmations. The coins are already on-chain; you just cannot spend them until the lock clears, which takes about 20 minutes. This is a deliberate anti-double-spend rule, not a malfunction.

What information should I give support for a stuck swap?

Provide the order ID from the swap page, the inbound deposit TXID, the outbound Monero TXID if one was issued, the exact receiving address you supplied, and a screenshot of the current status. With those, a reputable service can produce a transaction proof and resolve the case quickly.

Conclusion

A stuck Monero swap is almost always a diagnosis problem, not a loss. Find the funds first: confirm the inbound leg, locate the outbound TXID on an explorer, and use a transaction proof or View key to prove where the Monero landed. Once you know which link in the chain is stalled — confirmation lag, a stale wallet, mempool congestion, or an exchange-side hold — the fix is usually a short wait, a rescan, or a support ticket with the right evidence. Keep your order ID and both TXIDs from the moment you start, and you turn a panicked refund hunt into a five-minute check. When you are ready to swap again with a service that publishes the outbound TXID so you can verify every payout yourself, start at MoneroSwapper or read more about how to buy Monero anonymously.

Share this article

Related Articles

Anonymous Monero Exchange

No KYC • No Registration • Instant Swaps

Exchange Now