Swapping Bitcoin to Monero is one of the most common privacy moves in crypto: BTC is liquid and widely accepted, XMR is the gold standard for on-chain privacy. Doing it without an account means no KYC paperwork, no exchange that can later freeze your funds, and no record of “user X swapped this much” sitting on a centralized server.
This guide walks through the full flow on SwapZilla — picking a rate type, setting a refund address, and what to do if the swap stalls.
Why BTC → XMR specifically
People swap BTC to XMR for two distinct reasons, and they have different implications.
Privacy. Bitcoin transactions are pseudonymous but fully transparent — anyone with a block explorer can trace the flow of funds. Monero uses ring signatures and stealth addresses, so once your funds are on the XMR chain, they’re effectively unlinkable. If you receive XMR at a wallet you control, the chain of analytics breaks.
Diversification. Some users hold a mix of BTC and XMR as a hedge — Bitcoin for liquidity and store-of-value, Monero for fungibility and uncensorable transactions.
This guide focuses on the first case — privacy — because that’s where the choices around refund addresses, rate types, and wallets matter most.
Step 1 — Pick BTC and XMR
On the SwapZilla homepage, click the From field and search for BTC. The widget supports both Bitcoin’s main chain and Lightning Network, depending on which providers in our aggregator support what at the moment of your search.
Click the To field and pick XMR. As soon as both are selected, the aggregator queries every supported provider in parallel via SSE (server-sent events), so quotes start streaming in within 200ms — you don’t wait for the slowest provider before seeing options.
Step 2 — Floating vs fixed rate
The toggle below the amount input is the most consequential choice for BTC → XMR.
Floating means the rate is determined at the moment your deposit confirms, using whatever the provider is quoting then. If BTC moves 0.3% in your favor between deposit and execution, you get that. If it moves against you, you get less. The provider’s spread is also tighter on floating, because they don’t carry the risk of a 30-minute lock.
Fixed means the rate you see now is locked for 30 minutes. If the price moves against you, the provider takes the loss. The trade-off: their quote includes a buffer (usually 1–2%) to cover that risk, so the headline rate is worse.
For BTC → XMR specifically, floating wins in most cases because Bitcoin’s 10–60 minute confirmation window often outlasts the 30-minute fix lock. If your fee is too low or the network is busy, you’ll watch your fixed-rate quote expire while your transaction is still unconfirmed — and then you’re refunded and start over.
Floating wins in 90% of cases for BTC → XMR. Fixed only makes sense when you need exact-cost certainty for an invoice.
If your priority is certainty of cost (e.g. you’re swapping a precise amount for an invoice), fixed makes sense. For everything else, floating.
Step 3 — Receiving address
This is the most important step for privacy. Use a Monero wallet you control:
- Monero GUI / CLI — official, full-node or remote-node modes
- Cake Wallet — mobile, easy to use, multiple subaddresses
- Feather Wallet — desktop, lightweight
- Stack Wallet — desktop / mobile, multi-coin
Do not use an exchange’s XMR deposit address (Kraken, Binance, Coinbase, etc.). Sending swapped XMR straight to a centralized exchange recreates the link between your identity and the funds — the exchange will record that you received exactly this much XMR at this time, and any privacy you gained from the swap is annulled.
Sending swapped XMR to a centralized exchange wallet annuls every privacy gain you bought with the swap. Use a wallet you control.
Use a freshly generated subaddress for each swap. Cake Wallet and Monero GUI both make this trivial.
Step 4 — Refund address
Optional in the UI, mandatory in practice.
If something goes wrong — your fee was too low, the deposit didn’t confirm in time on a fixed rate, the provider has an outage — your funds are returned to the refund address you set. Without a refund address, recovering funds requires manual support contact and is much slower.
Use a Bitcoin address you control. Same advice as the receiving address: don’t use an exchange’s deposit address.
Step 5 — Send the deposit
After confirming, you’ll see a deposit address and an exact BTC amount. Critical rule: send the exact amount in a single transaction.
Providers reconcile incoming transactions by matching the deposit amount to the expected swap. If you send a different amount or split it across two transactions, manual intervention is required and the swap is delayed.
If you control your fee (most modern wallets allow this), pick a fee that gets you confirmed within ~30 minutes for floating, or ~15 minutes for fixed. Mempool.space’s fee estimator is the standard reference.
Step 6 — Wait
End-to-end timing for BTC → XMR is typically:
- BTC confirmation: 10–60 minutes (1 confirmation usually enough for the provider)
- Provider execution: under 1 minute
- XMR send + 10 confirmations: 5–10 minutes
You’ll see status updates on the shift page. If the page sits on “awaiting deposit” longer than 90 minutes, check your transaction on a block explorer — most likely it’s still pending due to a low fee.
What to avoid
A few patterns that destroy the privacy of a BTC → XMR swap:
- Reusing the same XMR address across many swaps. Use fresh subaddresses.
- Sending the swapped XMR to an exchange. This re-links the funds to your identity.
- Mixing pre-KYC BTC with the swap. If the BTC came from a KYC exchange, that history is still attached.
- Telling friends in the same Telegram you just swapped. Don’t laugh — chain-analytics teams scrape public chats.
When this guide doesn’t apply
If you’re swapping for purely commercial reasons (you got paid in BTC and want to hold XMR), most of the privacy framing above is overkill — just pick a rate type, paste an address, and go.
If you’re moving large amounts (>$10k), individual providers in the aggregator may apply enhanced checks. Check the per-provider notes on the rate list before confirming.