← All posts

How to Buy Monero (XMR) Without KYC in 2026

6 min readSwapToZec

Several exchanges have delisted Monero to satisfy local rules, and the major exchanges that still list it require identity verification before you can withdraw. Getting XMR without handing any over comes down to one question: do you already hold some other cryptocurrency, or only fiat?

  • You hold BTC, ETH, USDT or another coin. Swap it into XMR on an instant-swap service. No account; a company sits in the middle for the time between your deposit and the payout. This is what SwapToZec does; the steps are below.
  • You only have fiat. Use a peer-to-peer market. Haveno is a Monero-native P2P network where individuals sell XMR for fiat and crypto with funds held in escrow. No company verifies you, and no company helps you either; you learn its escrow and dispute rules first.
  • You hold Bitcoin and want no counterparty at all. A BTC to XMR atomic swap, for example through UnstoppableSwap: the protocol itself guarantees either both sides of the trade happen or neither does. Slower, and Bitcoin only. Bisq also trades XMR against Bitcoin, peer to peer.
  • Cash in person, where a local Monero community exists to arrange it.

Going the other way — swapping XMR out for Bitcoin, USDT or any of the other coins — works on SwapToZec as well; the Monero deposit is identified by its exact amount and verified on-chain before the payout. Haveno, Bisq and the atomic-swap tools also work in both directions.

Whichever route you take, you need the same first thing.

First, a Monero wallet you control

Do not receive XMR at an exchange address: the exchange knows the address is yours, which undoes the point. Install a wallet where you hold the seed phrase — Cake Wallet, Feather (which routes through Tor), the official Monero GUI, or Monerujo — and write the seed on paper before you receive anything.

Your wallet shows a receive address in one of three formats, all of which SwapToZec accepts:

  • a standard address, 95 characters, starting with 4;
  • a subaddress, 95 characters, starting with 8;
  • an integrated address, 106 characters, starting with 4.

Use a fresh subaddress for each payment you receive. They all pay into the same balance, and an on-chain observer cannot tell that two subaddresses belong to the same wallet.

Swapping crypto you hold into XMR, step by step

The numbers below are SwapToZec's. Other instant swappers follow the same shape.

1. Pick what you are sending. Open every route into Monero and choose your coin — Bitcoin, Tether, Ethereum or any of 19. Each pair page shows the current market rate before you type anything.

2. Enter an amount and read the quote. Type the amount in the coin or in dollars. The quote lists the rate, the swap fee (0.5% of the amount), a network-fee charge for the Monero payout, and the XMR you will receive; that XMR figure is what arrives, with nothing deducted afterwards. The quote holds for 60 minutes and refreshes itself if you take longer. The minimum is $100 worth of whatever you send; the site sets no maximum. Worked example: send $200 of USDT and the swap fee is $1, then the Monero network fee, then the rest converts at the quoted rate.

3. Paste your Monero address. Any of the three formats above. Press + Add refund address and give an address for the coin you are sending; without one, a refund has to go through support with your swap link.

4. Confirm, then send the exact amount shown. The swap gets a link — bookmark it; without an account it is the only way back — and shows a deposit address, a QR code and an amount such as 0.00258 BTC. Send exactly that figure, including every decimal place. Two things break this: rounding the number, and exchanges that subtract their withdrawal fee from the amount you typed. Either way the deposit has to be reviewed by hand before the swap proceeds. Send from a wallet you control.

Scanning the QR code fills in both the address and the amount if you are sending BTC, LTC, BCH, DOGE, ZEC, ETH, SOL or TON. For every other coin — tokens such as USDT, USDC, DAI and SHIB, and BNB, TRX, XRP, ADA, AVAX, POL and DOT — the QR carries only the address: type the amount yourself and check the last digits.

5. Wait for confirmation. Your deposit is verified on its network before the swap proceeds. Depending on the asset and network, the status can sit on Waiting for deposit for a while after your wallet says the transfer went through. Once confirmed, the payout goes out and the status page shows the Monero transaction id.

Nothing else is asked at any point — no email, no name, no document — unless you need to write to support about a refund.

If the amount was wrong, the deposit lands in Review required and is either processed or returned — to your refund address if you gave one, otherwise after you write to support@swaptozec.com with the swap link. If the coin or network was wrong — USDT on Tron sent to the Ethereum deposit address, say — nobody can recover it. Check the network before you send.

The same widget with the same mechanics is walked through in more detail in the Solana to Zcash guide.

What "no KYC" does not protect

The coin you send is public. Your BTC, ETH or USDT deposit is an ordinary transaction on its own chain, visible in any block explorer. If those coins came from an exchange that knows your name, the exchange's record still exists. The swap does not erase it; it stops the trail where the XMR lands in your wallet.

Your IP address. SwapToZec runs no analytics or advertising scripts, but the web server keeps rotated access logs, which include the IP address of each request. Per swap we store amounts, transaction ids, the address you gave and the status. The full list is in the privacy policy. We have not tested the site through Tor Browser or a VPN. If a page fails to load that way, tell support.

The receiving side is private by default. Once XMR is in your wallet, ring signatures hide the sender, stealth addresses hide the receiver and RingCT hides the amount. That holds whether or not identity checks were involved in getting there.

Is it legal? Identity checks are an obligation on regulated exchanges, not on you, and the exchanges that delisted Monero did so to meet local rules, not because holding it is banned. This is not legal advice; check the rules where you live.

Buying Monero with fiat on Haveno, in outline

If you have no crypto to start from, Haveno is the route without a company in the middle. You run the Haveno client, which connects over Tor, and browse offers from sellers who accept bank transfer, cash by mail or other methods. Both sides lock a security deposit in a multisignature escrow; you pay the seller by the agreed method, the seller releases the XMR, and a dispute goes to an arbitrator if either side misbehaves. Haveno's documentation covers the trade rules and the risks.

Zcash as an alternative

If you want a coin with a transparent pool alongside the shielded one — so you can receive to a public address when you need to and to a shielded one when you do not — Zcash is the other choice, and every route on SwapToZec can pay out ZEC instead; Zcash vs Monero lays out the difference. Every route into Zcash works the same way as the steps above.

For how a swap runs behind the scenes see how it works; for the custody model see trust.