2026-09-30 16:49 UTC97fae3
How Monero Deposit Confirmations Work in Swap Integrations
A swap service detects an XMR deposit through its wallet scan, matches it to an order, then waits for block confirmations before releasing the other asset.
Crypto Record Editorial3 min read

A swap integration confirms a Monero deposit by scanning for an output to its receiving wallet, matching that output to an order, and counting the blocks mined after it is included. The sequence matters because Monero’s privacy features mean an outside observer cannot verify a payment just by inspecting a public address and amount. The receiving wallet does the matching.
At checkout, the service creates an order and gives the customer a Monero address, often a subaddress assigned to that order. The customer sends XMR to it. A node relays the transaction; miners include it in a block; then the service’s wallet scans that block to see whether an output belongs to its wallet. For a broader look at how these handoffs fit together, see this xmr bridge overview.
How does a swap service detect an XMR deposit?
The wallet, rather than a generic block explorer, identifies the incoming output. Monero transactions hide recipient details and amounts from public view. A wallet scans transactions using its private view key and checks whether an output was made for it. The integration can then associate the detected transfer with the order’s receiving address or subaddress.
The service may use Monero’s wallet RPC to read incoming transfers and their status. It can compare the detected amount with the order’s expected amount, record the transaction, and update the customer’s order screen. A transaction ID can help track a payment, but it does not by itself let an unrelated observer prove the amount sent to a particular address. The wallet’s scan is the key step.
What does a confirmation mean for a Monero swap?
A confirmation means the transaction has been included in a block and more blocks have been mined after that block. The wallet can report this count. Each new block adds evidence that the deposit is part of the chain the service is following, so the integration can wait for its chosen threshold before treating the order as funded.
That threshold is an operating policy, not a universal swap setting. A service balances a faster handoff against the risk of acting on a transaction with little confirmation history. Monero also keeps newly received outputs unavailable for spending until they have enough confirmations. That spendability rule is separate from the service’s decision to mark an order paid or start sending the other asset.
What should an integration check before releasing the swap?
Confirmation count alone is not the whole order check. A reliable flow keeps the deposit and order linked, checks that the amount meets the quote’s terms, and handles payments that arrive late or differ from the expected amount. The integration should also keep checking the wallet as new blocks arrive, since a payment can first appear as pending before it is mined.
- Assign a receiving address or subaddress to the order and store that mapping.
- Use the wallet’s incoming-transfer data to identify the deposit and its confirmation count.
- Apply a stated confirmation threshold before moving the order to its next step.
- Define how late, partial, or excess deposits are handled and shown to the customer.
For a customer, the practical signal is the order status shown by the swap service: “sent” means the wallet broadcast the transaction; “received” means the service detected it; and “confirmed” means it has met the service’s block threshold. Check the quoted deposit address and amount before sending. Afterward, allow the integration to finish its scan and confirmation steps before treating the swap as complete.