Skip to content
Onchain Daily

Protocol-level crypto news, daily

Swap Sent, XMR Missing? Check the Wallet Scan

A swap status does not prove XMR reached your address. Check the destination, wallet sync, restore height and transaction scan before treating it as lost.

Onchain Daily Newsroom5 min read

Cover artwork for Swap Sent, XMR Missing? Check the Wallet Scan

If a swap says sent but your Monero balance has not changed, check whether the swap broadcast an XMR transaction and whether your wallet scanned it. A swap service may mark one stage complete before its payout reaches the destination wallet. Monero’s private transaction data also means a wallet must do more than display a public address: it uses its private view key to identify incoming outputs. The balance shown by an unsynchronised wallet can therefore lag behind the chain.

What does “sent” mean in a swap?

“Sent” is a status from the swap service, not proof that your wallet has detected the payout. A swap usually has at least two legs: you send the asset requested by the service, then the service sends XMR to the address you supplied. A confirmed deposit on the first leg does not establish that the second leg has been broadcast or confirmed.

Open the swap’s order details and find its payout status and, if provided, the Monero transaction ID. Compare the payout address there with the address you gave the service. Check the network as well: a wallet address must be for Monero, and a valid address on another network will not receive an XMR payout. If the service has not supplied a payout transaction ID, ask its support whether it has broadcast the XMR leg and what status the order is in.

Timing rules can also matter when the service treats a deposit as late or outside its payment window. For the separate case of xmr bridge refund options after a missed window, use the linked explanation of that refund path. It does not establish whether a particular swap has paid out; the order record and payout transaction are the relevant evidence.

Why can a Monero wallet miss an incoming payment?

A Monero wallet scans blockchain transactions with its private view key to find outputs addressed to it. The public chain does not expose a plain recipient-and-amount record that a typical block explorer can match to your wallet. Your wallet’s scan is the part that associates an incoming output with your account.

The wallet can only scan blocks it has reached. If its connected daemon is still synchronising, the wallet may not yet have processed the block containing the payout. A remote node can also affect the data available to the wallet. First check the wallet’s connection and synchronisation status, then allow the scan to catch up before concluding that the transaction is absent.

A second cause is the restore height: the block from which a wallet begins scanning for transactions. A height set after the payout’s block can make the wallet overlook it, even when the transaction exists. A height set earlier makes the wallet scan more blocks and may take longer, but it avoids skipping earlier incoming transactions. If the wallet was restored or its height changed, check that it starts no later than the block in which the payout arrived.

Also confirm that you opened the wallet that owns the address sent to the swap. An account can have multiple subaddresses, and a payout to one of them may not match the address you are currently checking. Compare the full destination string in the order record with the address shown in the wallet. Do not send your seed or private keys to the swap service to prove ownership.

How do you check a missing XMR transaction?

Start with the payout transaction ID, not just the source-chain transaction ID. A swap can provide an ID for the asset you sent, but that is not the identifier for its XMR payout. Once you have the Monero transaction ID, check whether your wallet has scanned it. The Monero GUI has a “Scan transaction” option under Settings → Wallet; the CLI wallet provides the scan_tx command. If the scan finds the transaction, the wallet history and balance update.

  • No XMR transaction ID: ask the swap service whether the payout was broadcast. The source deposit ID cannot confirm the Monero leg.
  • Wallet still syncing: let the daemon and wallet finish synchronising, then check the history again.
  • Wallet synced, payout ID available: scan that transaction in the wallet and review whether it appears.
  • No result after the scan: recheck the destination and restore height, then give the swap service the order reference and payout details.

A transaction scan has a privacy trade-off: Monero’s official guide warns that scanning a specific ID may reveal that ID to the remote node. If that matters, consider which node your wallet uses before running the scan. A successful scan can add a missing incoming transaction to the wallet history; it cannot make a payout appear if the swap has not sent one.

Restore the wallet from its seed only if needed, and use a restore height at or before the first incoming transaction you need to recover. A later height can leave the displayed balance incomplete. The practical order is simple: establish that the swap sent the XMR leg, confirm the destination, and then check the wallet’s sync and scan state. That separates a delayed payout from a wallet that has not yet recognised funds it received.