How to swap Bitcoin to Monero anonymously in 2026

Step-by-step guide to swap BTC to XMR without an account, picking a refund address, choosing fixed vs variable rate, and protecting your on-chain privacy.

Bitcoin to Monero swap interface — guide hero illustration

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.

FAQ

Is BTC to XMR swap really anonymous?
Without an account on SwapZilla, no identity is collected on our side. Your Bitcoin transaction is, of course, public on the BTC chain. The privacy gain is on the Monero side — once your XMR arrives at a wallet you control, on-chain analytics cannot track further movements. For full unlinkability, the BTC you deposit should not already be tied to your real identity (e.g. from a KYC exchange).
Do I need to register or verify ID?
No. SwapZilla is a non-custodial aggregator — there is no account to create. Some individual providers in our routing may apply enhanced checks for very large amounts (typically above $5,000–$10,000 USD-equivalent), but for normal BTC → XMR swaps, no verification is required.
Floating or fixed rate — which should I pick for BTC → XMR?
Floating in 90% of cases. Bitcoin's 10–60 minute confirmation window means a fixed-rate lock (usually 30 minutes) often expires before the deposit confirms, forcing a refund or re-quote. Floating delivers the live rate at execution time, which on average wins because the fixed-rate quote includes a safety margin.
What happens if my deposit doesn't confirm in time?
If you used floating rate, the swap simply executes at the live rate when your deposit confirms. If you used fixed rate and the lock expires before confirmation, the provider refunds your BTC to the refund address you set. Always set a refund address — without one, recovering an expired deposit is much slower.
Why is XMR slower than other coins?
Monero's block time is 2 minutes (vs Bitcoin's 10), but it requires 10 confirmations for a payout, plus its ring signatures and stealth addresses add a few extra seconds of cryptographic work per transaction. End-to-end, expect 15–25 minutes for BTC → XMR vs ~10 minutes for BTC → ETH.