How to swap ETH to XMR privately in 2026

Step-by-step guide to swap Ethereum to Monero without an account — pick a rate type, set a refund address, handle gas, and break the on-chain trail cleanly.

Voxel Ethereum sphere left and voxel Monero sphere right, joined by a curved violet voxel privacy tunnel between them

Ethereum to Monero settles in roughly the time it takes to brew coffee — about twice as fast as Bitcoin to Monero — which quietly flips the most important decision in the swap. For BTC → XMR, the 30-minute fixed-rate lock often expires before Bitcoin even confirms, so most people default to floating. For ETH → XMR, the lock almost always survives, which means fixed vs floating becomes a real choice about cost certainty rather than a race against the clock. This guide walks through the full ETH → XMR flow on SwapZilla — picking a rate type, setting a refund address, handling gas, and what not to do if you care about privacy.

Why ETH → XMR is different from BTC → XMR

If you’ve already read the BTC → XMR guide, most of the framing carries over: pick a rate type, use a wallet you control, set a refund address, never send swapped XMR to an exchange. But four things change when the source is Ethereum.

Confirmation speed. A standard ETH transaction confirms in 1–3 minutes. Bitcoin needs 10–60 minutes for the same level of provider acceptance. That difference is the single biggest reason most BTC → XMR guides push you toward floating rate — and most ETH → XMR ones don’t need to.

Gas. Ethereum’s EIP-1559 fee model means you set a base fee (burned) plus a priority tip (paid to validators). Get the tip wrong in either direction and you either get stuck or overpay. Bitcoin’s sat/vB model is mechanically simpler and almost always cheap by comparison.

Traceability. Both chains are transparent, but Ethereum addresses are usually richer in identity signal. Your ETH wallet probably has DeFi history, ENS records, an OpenSea profile, maybe a Gitcoin donation pattern — each of those is a fingerprint. Bitcoin wallets tend to be quieter on-chain.

ERC-20 noise. Half the wallets that hold ETH also hold ERC-20 tokens, and many users actually want to swap a stablecoin to XMR rather than native ETH. That changes the routing math — more on that below.

For ETH → XMR, the choice between fixed and floating is about cost certainty, not deadline pressure. Fast confirmations mean the 30-minute lock almost always survives.

Before you swap — where did the ETH come from?

This is the question that determines how private the swap actually is, and it’s the one almost every guide skips.

ETH from a CEX withdrawal. The exchange holds a record: timestamp, amount, your identity, the destination address. That record is sold to analytics vendors and shared with regulators on request. The XMR you receive is still unlinkable on Monero, but the moment of swap is tagged to you. Treat this as “privacy starts after the swap” rather than “this swap is private.”

ETH from DeFi activity. If the ETH sat in a wallet that’s been doing DeFi for two years, that wallet has a public history — every Uniswap trade, every staking transaction, every NFT mint. The wallet is pseudonymous, but its behaviour is a fingerprint, and chain-analytics firms profile DeFi wallets by similarity.

ETH from a fresh wallet. Cleanest case. If you’ve already routed funds through at least one intermediate wallet — ideally with a gap of days, not minutes — the on-chain link is much weaker. This is the only path that gets you close to “fully private from the moment of swap.”

You can’t fix the source after the fact. If you care about full unlinkability, plan the wallet hygiene before sending anything to a deposit address.

Step 1 — Pick ETH and XMR on SwapZilla

On the SwapZilla homepage, click the From field and search for ETH. Pick Ethereum mainnet — not Arbitrum, Base, or Optimism unless your wallet’s funds are on those L2s and the provider explicitly supports that route.

L2-ETH and mainnet-ETH are different assets from the perspective of swap providers. If you have ETH on Arbitrum, you generally need to bridge to mainnet first (5–15 minutes for native bridges, a few minutes for fast bridges). Some aggregator routes will accept L2 deposits directly — check the network selector for each provider before you assume.

Click the To field and pick XMR. As both are selected, the aggregator streams quotes from every supported provider — first quotes start arriving within a few hundred milliseconds, the rest fill in over the next 1–3 seconds.

Step 2 — Floating vs fixed rate for ETH

The toggle below the amount input is meaningful for ETH → XMR, but it asks a different question than for BTC → XMR.

Floating means the rate is determined when your deposit confirms. The provider’s spread is tighter on floating because they don’t carry rate risk. If ETH moves 0.3% in your favour between deposit and execution, you keep that. If it moves against you, you give it up.

Fixed locks the rate for 30 minutes. The quote includes a buffer (usually 1–2%) so the headline rate is worse, but you know the exact XMR amount you’ll receive regardless of what ETH does in the next half hour.

For BTC → XMR, the practical answer was “floating, because the lock often expires.” For ETH → XMR, the lock almost always survives — Ethereum’s 1–3 minute confirmation window fits comfortably inside 30 minutes even during congestion. So the choice is honest: do you want the best live rate, or exact-cost certainty?

Pick fixed if you’re settling an invoice, sending a precise XMR amount to someone, or just hate watching rates move. Pick floating in every other case — the spread savings stack up.

Step 3 — Receiving address: a Monero wallet you control

This step is identical to BTC → XMR. The only acceptable destination is a Monero wallet you control:

  • Monero GUI / CLI — official, runs full node or remote node modes
  • Cake Wallet — mobile, easy onboarding, multiple subaddresses
  • Feather Wallet — desktop, lightweight, popular with privacy-focused users
  • Stack Wallet — desktop and mobile, multi-coin

Do not send swapped XMR to an exchange deposit address (Kraken, Binance, Coinbase, MEXC, anywhere). The exchange will record that you received exactly this much XMR at this time — every privacy gain from the swap is gone the moment it lands there.

Use a fresh subaddress for each swap. All four wallets above generate subaddresses for free; there’s no reason to reuse one.

A fresh Monero wallet is half the privacy. The other half is making sure the ETH you’re sending isn’t already tagged to your name.

For a deeper comparison of wallets, see our Monero wallets roundup.

Step 4 — Refund address: use a fresh ETH address

Optional in the UI, mandatory in practice. If the swap fails — a low gas fee leaves your deposit stuck, the provider has an outage, the lock expires — refunds land at the address you set here. Without one, recovering funds requires manual support contact and is much slower.

Two important rules for ETH refund addresses:

  • Not your main hot wallet. That wallet probably already has DeFi history, ENS, NFT records — anything you do here gets attached to that fingerprint. Use a fresh address.
  • Not an ENS-named address. ENS names are public identity tags. If you set yourname.eth as the refund address, the provider’s logs (and any chain-analytics firm watching providers) now have a name attached to your swap intent.

Generate a fresh address in your wallet (most modern wallets let you create multiple accounts), copy the raw 0x... address, paste it in.

Step 5 — Gas strategy: what fee tier to pick

Ethereum’s gas market is where most ETH → XMR swaps go wrong. Two failure modes:

Underpaying. Your transaction sits in the mempool waiting for blockspace. During congestion, this can mean hours. On a fixed-rate lock, your 30 minutes expire while you wait, the provider refunds, and you start over — having paid the gas anyway.

Overpaying. No mechanical penalty, just burned money. During quiet hours, overpaying by 10× costs maybe $5; during DeFi spikes, the same overpay can be $50+.

The simple rule: look up the current standard tier on Etherscan Gas Tracker or ethgas.watch and match it. Standard tier usually means “next 1–2 blocks” (15–30 seconds). Fast tier means “this block” (under 12 seconds). For an ETH → XMR deposit, standard is almost always enough — the swap doesn’t care if your tx lands now or 30 seconds from now, only that it lands inside the lock window.

Rough cost envelope in 2026 conditions: a simple ETH transfer is around $0.50–$3 in normal conditions, $10–$30 during DeFi spikes. If you’re seeing a quote much higher than that, you’re either over-tipping or the network is under serious load — wait if you can.

Step 6 — Send the deposit and wait

After confirming on SwapZilla you’ll see a deposit address and an exact ETH amount. Critical rule: send the exact amount in a single transaction. Providers reconcile deposits by matching amount-to-expected; a wrong amount or a split deposit forces manual intervention and delays the swap.

If you control gas (most wallets let you), pick standard tier from a gas tracker. If you’re on a fixed-rate lock, lean toward fast to give yourself margin.

End-to-end timing, typical case:

  • ETH transaction broadcast → in mempool immediately
  • First confirmation → 1–3 minutes at standard fee
  • Provider execution → under a minute
  • Monero send + 10 confirmations → 5–10 minutes
  • Total: 8–15 minutes

You’ll see status updates on the shift page. If the page sits on “awaiting deposit” for more than 20–30 minutes, check the tx on Etherscan — most likely it’s still pending due to an underpaid fee.

What to avoid

A handful of patterns leak privacy or kill the swap entirely:

  • KYC-tainted ETH. If the deposit came directly from a CEX withdrawal, the swap moment is tagged to your identity. Use an intermediary wallet first.
  • ENS-named addresses. Don’t set yourname.eth as the refund — that’s a public identity tag attached to the swap.
  • Reusing the deposit wallet. Each swap from the same address builds a profile. Use fresh addresses where you can.
  • Sending the swapped XMR back to a CEX. Annuls every privacy gain. Use a Monero wallet you control, end of story.
  • Underpaying gas during a fixed lock. Your stuck tx will outlast the lock. Pay standard or fast tier, not the cheapest.
  • Talking about it in public chats. Chain-analytics teams scrape public Telegram and Discord. Don’t post your swap tx hash with commentary.

When this guide doesn’t apply

A few cases where the playbook changes:

  • Large amounts (above ~$10k). Some providers apply enhanced checks at that threshold. Check the per-provider notes on the rate list before confirming, and consider splitting across multiple smaller swaps.
  • L2-only holdings. If your ETH is on Arbitrum, Base, or Optimism and no provider supports your route directly, bridge to mainnet first. Add 5–15 minutes and a small bridge fee to your timing.
  • You actually want to swap an ERC-20 token, not ETH. USDT, USDC, and other ERC-20s have their own routing considerations — see our USDT network guide for that path. The principles in this article still apply, but you’ll have a token-approval transaction in addition to the transfer.
  • You’re swapping for commercial reasons, not privacy. If you got paid in ETH and just want to hold XMR, most of the privacy framing here is overkill — pick a rate type, paste an address, and go.

For other edge cases or questions, check the SwapZilla FAQ.

FAQ

Is swapping ETH to XMR really private?
The privacy you get depends on three things: the wallet you receive XMR into, the history of the ETH you deposit, and whether the receiving address on the Monero side is something you control. SwapZilla itself collects no identity — there is no account to create. But the ETH transaction is fully public on Ethereum, and if that ETH came from a centralized exchange, the on-chain link to your identity is already there. Privacy starts on the Monero side: once XMR arrives at a wallet you control, ring signatures and stealth addresses break the analytics trail. For full unlinkability, also avoid moving that XMR back to a venue that knows you.
Do I need an account or ID verification to swap ETH to XMR?
No account is required on SwapZilla — it is a non-custodial aggregator, not an exchange. Individual providers in our routing may apply enhanced checks for very large amounts (typically above $5,000–$10,000 USD-equivalent), but for normal ETH → XMR swaps no verification is needed. The same applies if you came from the BTC side and read [our BTC → XMR guide](/blog/how-to-swap-bitcoin-to-monero-anonymously/) — the flow is identical, only the network mechanics differ.
Floating or fixed rate — which is better for ETH → XMR?
For ETH → XMR the floating-vs-fixed decision is about cost certainty, not about beating a deadline. Bitcoin's slow confirmation made fixed-rate locks risky for BTC → XMR because the 30-minute lock often expired. Ethereum confirms in 1–3 minutes, so a fixed lock almost always survives. Pick fixed if you need to settle a precise amount (an invoice, an exact cost target) and want zero rate drift. Pick floating if you just want the best market rate — the provider's quote is tighter on floating because they don't carry the price risk of a lock.
How long does an ETH → XMR swap take end-to-end?
End-to-end timing is typically 8–15 minutes: ETH deposit confirmation in 1–3 minutes, provider execution under a minute, then the XMR payout with 10 Monero confirmations adding another 5–10 minutes. During Ethereum congestion (NFT mints, major DeFi launches), the deposit phase can stretch if you set a low gas fee. The Monero side is independent of Ethereum load — XMR confirmations are governed by Monero's 2-minute block time.
What gas fee should I set for the ETH deposit?
Use the current standard tier from a gas tracker like Etherscan Gas Tracker or ethgas.watch. In normal conditions, a standard tip lands you in the next 1–2 blocks (15–30 seconds). During congestion you may need a higher priority tip. The principle: don't underpay during volatile windows — a stuck transaction with a fixed-rate lock is the worst outcome. Overpaying by 10–20% costs cents and removes the risk. Don't try to save 30 cents on gas and lose dollars to a missed lock.
Can I swap ERC-20 tokens like USDT or USDC directly to XMR?
Most providers support direct ERC-20 → XMR routes, but the internals vary — some swap on-chain to ETH first, then to XMR, which is two visible hops on Ethereum. If your priority is minimizing on-chain footprint, check whether the route is direct or staged. For USDT specifically, the TRC-20 (Tron) network often has lower fees and fewer hops than ERC-20 for swap purposes — see [our USDT network guide](/blog/usdt-trc20-vs-erc20-vs-solana-network-guide/) for a deeper breakdown. This article focuses on native ETH; ERC-20 tokens follow similar principles but with token-approval transactions on top.
Does it matter if my ETH came from a centralized exchange?
Yes — significantly. When ETH leaves a KYC exchange to your wallet, the exchange records that withdrawal with your identity. Anyone with chain-analytics access (which includes most exchanges and law-enforcement vendors) can follow that ETH to the deposit address you use here. The Monero side of the swap still works — the XMR you receive becomes unlinkable — but the moment of swap is visible. If full unlinkability matters, route the ETH through at least one intermediary wallet, or accept that the privacy gain starts after the swap, not before.