Dandelion++ is the part of Monero that protects your privacy at the network layer. It hides which node, and therefore which IP address, a transaction was first broadcast from. That is a leak Monero's famous on-chain privacy does not cover, because hiding what a transaction says is a different problem from hiding where it entered the network.
Monero's on-chain features hide the sender, receiver, and amount written to the ledger. Dandelion++ works at a lower level, protecting the moment a transaction is announced to the peer-to-peer network.
To see why that second layer matters, it helps to separate the two kinds of privacy.
On-chain privacy is not network privacy
Monero is famous for hiding what a transaction contains. Stealth addresses, ring signatures, and confidential transactions conceal the sender, receiver, and amount on the blockchain. But a transaction is more than its ledger entry. Before it is recorded, it has to travel across a network of computers, and that journey is a separate privacy problem entirely.
Think of it as two different questions. The first is what a transaction reveals once it is on the chain. Monero answers that with its on-chain privacy, in which the sender, receiver, and amount of every transaction are hidden by default (source: Monero project, what is Monero). The second question is different. When you first send a transaction, your computer has to announce it to other computers. Someone watching that announcement might learn where it came from, even if they cannot read what it says. A perfectly private ledger entry is little comfort if the act of broadcasting it points a finger at your address. The full on-chain architecture is covered in how Monero works; this guide is about the layer beneath it, the network itself. A quick analogy helps. On-chain privacy is like sending a letter in a sealed, unmarked envelope, so no one can read it or see who it is for. Network privacy is about the mailbox you drop it in. Even a sealed letter gives something away if everyone can see which house it left from.
The problem: broadcasting a transaction reveals where it came from
When you send Monero, your node tells its peers about the new transaction. They pass it on, and soon the whole network knows. The trouble is timing. Whoever hears about a transaction first, straight from you, learns that it probably started with you. An observer connected to many nodes can watch for this and guess the origin.
This is not a Monero-specific flaw; it is a property of how peer-to-peer networks spread information. The issue was studied in detail for Bitcoin first, in research titled Dandelion: Redesigning the Bitcoin Network for Anonymity (source: Dandelion, 2017). The core insight is simple. In ordinary broadcast, a node immediately floods a transaction to all its peers. That flood radiates outward from the true origin, like ripples from a stone. A well-connected observer can watch the ripples and work backward toward the center. This matters for any currency, but it matters more for a privacy coin, because a network-level identification can quietly undo the on-chain protections. Even Bitcoin, which is not anonymous and leaves extensive public records, faces the same network-level exposure (source: Bitcoin project, FAQ). The general topic of what a chain does and does not reveal is covered in Bitcoin privacy basics; the point here is that the network layer is a real attack surface, and it needs its own defense.
Who would bother? Anyone with the resources to run many nodes and watch them: a well-funded analytics firm, a determined adversary, or a surveillance operation. They do not need to break any cryptography. They just need to listen carefully to a chatty network and note who spoke first. That is the quiet weakness Dandelion++ was built to remove.
What Dandelion++ is
Dandelion++ is Monero's answer to that network-layer leak. It is a transaction-propagation protocol that obscures the IP address of the device producing a transaction. Instead of a node immediately shouting a new transaction to everyone, Dandelion++ changes how the transaction spreads so that its true origin is hidden in the crowd.
The mechanism is straightforward. A new transaction is first passed to just one node on the peer-to-peer network. Then a repeated, chance-based method decides what happens next: send it on to one more node, or broadcast it to many nodes at once, a step called flooding (source: Wikipedia, Monero). The effect is that by the time a transaction is being shouted across the network, the shouting starts from a node that is not the one that created it. An observer sees the flood begin somewhere, but that somewhere is deliberately not the origin. The general craft of protecting yourself at the network level, with tools like VPNs, is covered in network security for crypto; Dandelion++ builds a similar idea directly into the protocol so that it applies to everyone automatically.
The stem and the fluff
The protocol is named after a dandelion, and the name fits. A new transaction first travels down a stem. It is passed quietly from one node to a single other node, again and again. Then, at a random point, it blooms into a fluff and is broadcast to the whole network, like a dandelion releasing its seeds.
The two phases do different jobs. The stem phase carries the transaction away from its origin in secret, one hop at a time, so that when it finally goes public it is somewhere else entirely on the network. The fluff phase is ordinary flooding, spreading the transaction to everyone so it can be confirmed, but because it starts partway along the stem, tracing the flood back to its beginning does not lead to you. The decision of when to switch from stem to fluff is randomized, which is what gives the protocol its formal strength, set out in the paper Dandelion++: Lightweight Cryptocurrency Networking with Formal Anonymity Guarantees (source: Dandelion++, 2018). The randomness is the point. If the switch happened at a predictable moment, an observer could account for it, but because it does not, the origin stays blurred. Stem, then fluff, is the whole idea, and it is why a Monero transaction does not arrive wearing a return address.
What an observer actually sees
It helps to picture the attacker. Imagine someone runs many nodes and records who told them about each transaction first. On a plain broadcast network, the first node to report a transaction is usually the sender, or close to it. Dandelion++ breaks that clue, because the first node to flood a transaction is not the one that made it.
Consider the same moment two ways. Without Dandelion++, your transaction floods out from your node right away. The attacker's nodes hear it from you first. So they mark your address as the likely source. With Dandelion++, your transaction first slips down a stem, node to node, in private. By the time it floods, it is coming from a node several hops away. The attacker's nodes hear it from that node, not from you. They can still see a flood, but the trail no longer starts at your door. That single change, moving the start of the flood away from the origin, is what makes network-level tracing so much harder. It does not erase you from the network. It just removes the easy tell.
Where Dandelion++ fits in Monero's privacy
Dandelion++ is the network-layer piece of a larger design. The on-chain features hide what a transaction says; Dandelion++ hides where it entered the network. Together they aim to protect a payment at both levels, and both run automatically on every transaction, without anything for the user to configure or remember to switch on.
It is worth seeing the whole stack. Monero's on-chain privacy is mandatory and applies to every transaction by default (source: Monero project, about), and Dandelion++ extends that default-on philosophy to the network layer, so you get the protection simply by using the software. From the vantage of an exchange operator, network-layer privacy is the part of the stack most people forget: an asset can hide everything on its ledger and still leak at the moment a transaction is announced. Dandelion++ closes that gap by default, which is a structural observation about the protocol, not a comment on price. If you want to see where this fits in practice, the mechanics of the nodes that relay these transactions are covered in how to run a Monero node, since those nodes are exactly what the stem-and-fluff process travels across.
There is a nice symmetry to it. Every Monero user helps carry other people's transactions along the stem, and in return their own transactions are carried by others. The privacy is shared, not bought. The more people who run the standard software, the larger the crowd each transaction can hide in.
The honest limits: what Dandelion++ does and doesn't do
Dandelion++ makes tracing a transaction to its origin much harder, but not impossible. A powerful adversary watching a large share of the network can still make educated guesses, and Dandelion++ does nothing to hide the simple fact that you are using Monero from your internet provider. It is a strong layer, not a full cloak.
Being precise matters here. Dandelion++ raises the cost and lowers the reliability of network-level deanonymization, which is a real and valuable improvement, but it is a probabilistic defense rather than a guarantee. An observer with a broad enough view of the peer-to-peer network can still narrow down origins statistically, especially against a user who transacts often. Just as important, Dandelion++ operates inside the Monero network; it does not conceal from your internet service provider that your connection is talking to Monero at all. For people who want stronger network privacy, the usual advice is to run Monero over an anonymity network such as Tor, or through a trusted VPN, which hides the connection itself and stacks on top of what Dandelion++ already does. The two defenses work at different points. Dandelion++ hides which node started a transaction, deep inside the Monero network. Tor or a VPN hides the fact that your computer is talking to Monero at all, at the level of your internet connection. Neither replaces the other. Someone who wants strong network privacy uses both, so a gap in one is covered by the other. Your on-chain privacy still rests on your keys, whose roles are explained in Monero's view and spend keys, and for the full real-world picture of what is and is not private, whether Monero is safe is the right next step.
Frequently asked questions
What does Dandelion++ hide?
Dandelion++ hides the network origin of a transaction, specifically the IP address of the device that created it. It does not hide what the transaction says, which is the job of Monero's on-chain privacy. Instead it hides where the transaction entered the peer-to-peer network, so an observer watching how transactions spread cannot easily tie a given broadcast back to your connection. It is privacy for the plumbing rather than for the ledger.
Isn't Monero already private?
On the blockchain, yes: stealth addresses, ring signatures, and confidential transactions hide the sender, receiver, and amount. But that on-chain privacy does not cover the network layer, where the simple act of broadcasting a transaction can reveal the originating IP address. Dandelion++ is the piece that closes that separate gap, so the two work together rather than one replacing the other. A coin can have a perfectly private ledger and still leak at the network level without something like Dandelion++.
What are the stem and fluff phases?
They are the two stages of how Dandelion++ spreads a transaction. In the stem phase, the transaction is passed quietly from one node to a single other node along a private path, moving away from its origin one hop at a time. In the fluff phase, at a randomly chosen point, it is broadcast widely to the whole network so it can be confirmed. Because the flooding begins partway along the stem rather than at the origin, tracing it backward does not reach the sender.
Does Dandelion++ make me fully anonymous on the network?
No. It makes tracing a transaction to its origin much harder, but a powerful observer watching a large part of the network can still make statistical guesses, and it does not hide from your internet provider that you use Monero at all. It is a strong probabilistic defense, not an absolute guarantee of network anonymity. That is why people who want the strongest network privacy pair it with an anonymity network like Tor rather than relying on it alone.
Do I have to set up Dandelion++?
No. Dandelion++ is built into the Monero software and runs automatically on every transaction. You do not configure it or turn it on; using a standard Monero wallet and node means your transactions already propagate this way. That default-on design is deliberate, because privacy that everyone has by default is far stronger than privacy only a few careful users enable, since the protected transactions do not stand out from the rest.
Is Dandelion++ unique to Monero?
No. It comes from academic research, and the original Dandelion was actually designed for Bitcoin before Dandelion++ improved it. Other cryptocurrency networks have drawn on the same ideas since. Monero is a prominent user that made it a default part of every transaction, but the underlying technique is a general, studied approach to peer-to-peer anonymity rather than a Monero invention. Its academic pedigree is part of why it is trusted.
Should I run Monero over Tor as well?
For stronger network privacy, it is a good idea. Dandelion++ protects the origin of a transaction within the Monero network, but running over Tor or a trusted VPN also hides your connection from your internet provider and adds another independent layer. The two protect different things, so using them together gives more complete network-level privacy than either one alone. If your threat model is serious, treating Dandelion++ as one layer among several is the sensible approach.
Researched and written by the BloFin Academy editorial team with AI-assisted drafting. Updated July 2026. Sources: the Monero entry on Wikipedia, the Dandelion and Dandelion++ academic papers, the official Monero documentation at getmonero.org, and the Bitcoin project FAQ. All facts independently verified against cited documentation current as of July 2026.
This article is educational and general in nature, not financial, legal, or tax advice. Cryptocurrencies like Monero carry real risks, including price volatility and regulatory changes, and privacy technology is strong but never an absolute guarantee of anonymity. Nothing here is a recommendation to buy, sell, or hold any asset. BloFin offers the XMRUSDT perpetual contract for trading; to get started, create a BloFin account, fund it with cryptocurrency, and open the XMRUSDT perpetual contract trading page. Do your own research and consider a licensed professional before making financial decisions.
