How to swap BTC to XMR without KYC
Bitcoin is transparent by design. Every payment you have ever received sits in a public ledger that anyone can walk backwards, and once a single address is tied to your name, the chain around it becomes a timeline. Monero solves the opposite problem: amounts, senders and recipients are hidden at the protocol level rather than by convention. Moving between the two is one of the most common privacy operations in crypto, and it is also one of the easiest to do badly.
This guide covers the mechanics of a BTC to XMR swap, what happens at each stage, and the handful of mistakes that quietly undo the point of the exercise.
Why swap on-chain instead of on an exchange account
A registered exchange will happily sell you Monero, but the trade is attached to your verified identity forever, and a growing number of platforms have delisted XMR outright. Worse, withdrawals to a privacy coin are exactly the kind of activity that triggers an automated review, which means a hold on your funds and a request for documents explaining what you plan to do with them.
An instant swap sidesteps that. There is no account to attach the trade to, no withdrawal policy to fall foul of, and no compliance desk with the authority to freeze a payout. On OnionSwap specifically, every swap is filled from reserves we hold ourselves rather than routed through a partner exchange, so there is no third party in a position to ask you for KYC or hold your coins pending review.
Step 1: prepare a Monero wallet first
Set up the destination before you start the swap, not while a quote is ticking. Use a wallet where you control the keys — the official GUI or CLI, Feather, Cake or Monerujo are all reasonable. Copy the primary address, a long string starting with 4.
Do not paste an exchange deposit address here. Sending swap output straight into a custodial account rebuilds the exact link you are trying to break, and some services flag deposits that arrive directly from a swap service.
Step 2: create the order
On the exchange form, pick BTC as the asset you send and XMR as the asset you receive, enter an amount, and paste your Monero address as the payout address. The quote appears on the next page along with a single-use deposit address.
Two numbers matter here. The service fee is a flat 0.4%, and the network fee of the outgoing chain is already reflected in what you are quoted, so the figure you see is what lands. The form also prints the minimum and maximum for the pair you picked, in the asset you are sending — the floor exists so the Monero network fee does not eat a visible share of a tiny payout, and the ceiling is whatever our XMR reserve covers.
Step 3: fund the deposit address
Send the quoted amount of Bitcoin to the deposit address. A few practical points:
The address is single-use. Do not save it and reuse it for a second swap later — that ties the two orders together and, after the order expires, funds sent to it need a manual ticket to recover.
Send the amount you were quoted. Underpayments and overpayments still get processed, but at the rate current when the deposit is seen rather than the one you were shown, and an amount that lands below the minimum has to be refunded instead.
Set a sane fee. The swap cannot begin until your transaction confirms, so a fee scraped down to the floor during a congested period is the single most common reason an order sits at "awaiting deposit" for an hour.
Step 4: wait for the payout
One Bitcoin confirmation is enough to release the Monero side. In practice the whole swap runs 5 to 20 minutes, almost all of it spent waiting on that first block. The order page moves through awaiting deposit, confirming, sending and complete, and you can check it any time from the track page using your order ID.
Save that ID somewhere before you close the tab. With no accounts there is no other way to find the order — that is the trade-off for not having a login in the first place.
Mistakes that undo the privacy
Swapping a round number. Sending exactly 0.5 BTC and receiving a corresponding amount of XMR minutes later is a strong timing correlation for anyone watching both chains. Vary the amount and, if it matters, let the funds rest in the Monero wallet rather than spending them straight through.
Reusing the source address. If the Bitcoin you send comes from an address already linked to your identity on a KYC exchange, the swap is the last hop of a chain that starts with your name. Consolidate first, or accept that the origin is known and the destination is what you are protecting.
Doing everything from one browser session. Chain analysis is not the only surface. If it matters, reach the site over Tor, where the onion mirror serves the same pages with no external requests and no scripts required.
Trusting a screenshot of reserves. Any exchange can print a number on a page. Ours are on the home page and refresh every fifteen minutes, but the standard you should hold any service to is whether it can prove control of the addresses behind those figures.
Going the other way
XMR to BTC works identically with the assets reversed, with one timing difference: Monero needs ten confirmations, so expect closer to twenty minutes. The privacy logic inverts too — the Monero side reveals nothing, so the address you receive Bitcoin at becomes the detail worth thinking about.