Practice › Using Monero

Staying anonymous

Monero hides the blockchain. Everything else is up to you

In short

Privacy usually breaks not because of cryptography but because of behaviour: a KYC exchange knows where you withdrew; a stranger's node sees your IP; one address for everything; instantly forwarding what you received; public posts. Below is a checklist from simple to advanced.

Threat model: who are you hiding from

First decide who the adversary is — it determines how much effort is needed:

AdversaryWhat they seeWhat matters
A random observer, a counterpartyWhat you showed themSubaddresses, don't reveal your balance
An exchange / serviceYour deposits and withdrawals, identity (KYC), IPDon't withdraw straight "to where you're public"; pause and send to yourself in between
A chain-analysis companyThe whole blockchain + exchange data + their own nodesEverything on this list; FCMP++ will make their job much harder
ISP / state at network levelIP, timing, traffic volumeYour own node, Tor/I2P

Basics (always do these)

  1. A new subaddress for every payer. Never publish one address for both donations and salary.
  2. Your own wallet, not an exchange account. Withdraw coins to your wallet right after buying.
  3. Don't publish txids, amounts, wallet screenshots, your view key or payment proofs — on social media, chats or support tickets.
  4. Verify downloaded wallets by signature; never enter your seed on websites.
  5. Keep your wallet updated: decoy-selection bugs were fixed precisely by updates.

Network: who sees your IP

  • Your own node is best: nobody knows which blocks interest you or when you send. See your own node.
  • A stranger's node sees your IP, when you send transactions and (with some requests) roughly when the wallet was created. It doesn't see your keys.
  • Tor / I2P: Feather, Cake, Monerujo and ANONERO can route via Tor. monerod can send its own transactions via Tor/I2P (--tx-proxy).
  • Dandelion++ is built into the protocol: a transaction first travels a random chain of nodes and only then is broadcast to all. That protects against observer nodes, but not against your "remote node" — it receives the transaction directly from you.

On-chain behaviour (while RingCT is in force)

Until the switch to FCMP++ the real input hides among 15 decoys, and behaviour affects privacy:

  • Don't forward immediately. Receive and send on a minute later: the real input's age (10 blocks) stands out strongly. Let coins "sit" for a while.
  • Don't merge coins from different sources unnecessarily: a salary input + an exchange input in one transaction links those sources. Use separate accounts and coin control (Feather).
  • The EAE situation: withdraw from exchange A → send to exchange A (or an affiliated service). If it matters, make a few transfers to your own new subaddresses with pauses on different days (churning). Not a guarantee, but it noticeably increases uncertainty.
  • Non-standard behaviour stands out: exotic wallets, odd fees, huge numbers of outputs. Use common wallets with default settings.

Buying and selling

  • Coins from a KYC exchange are "tagged" with your name in the exchange's database. The exchange will see which subaddress you withdrew to, but can't follow further on the blockchain — unless you send them back to it (see EAE).
  • P2P platforms (Haveno/RetoSwap, Bisq) and atomic swaps (eigenwallet) need no KYC. See where to buy.
  • No-account instant exchangers are convenient but see both sides of the swap and your IP; some hold "suspicious" swaps and demand KYC after the fact.

Block explorers

Typing your txid or address into a public block explorer tells its operator your IP and interest in a specific transaction. Better:

  • look at transactions in your own wallet;
  • if you need an explorer — open it via Tor, or run your own (onion-monero-blockchain-explorer on top of your node);
  • never enter your view key into an explorer unless you're willing to reveal all incoming payments to that service.

A list of explorers is in resources.

Advanced

  • A dedicated OS for the wallet: Tails or Whonix (Feather supports both).
  • Cold signing: the spend key on an offline machine or hardware wallet.
  • Separate wallet accounts for different "identities", never mixing their outputs.
  • Don't tell people you hold Monero. The best opsec is having nothing to defend.
What FCMP++ changes

Most of the "on-chain behaviour" items (input age, EAE, flooding) will lose their significance. The items about the network, exchanges, subaddresses and public posts will always apply.