From https://github.com/monero-project/monero/blob/master/docs/ANONYMITY_NETWORKS.md it seems you don't have to specify --add-peer:

If desired, peers can be manually specified:

--add-exclusive-node rveahdfho7wo4b2m.onion:28083 --add-peer rveahdfho7wo4b2m.onion:28083

Notice it says, if desired, not required. But from @jtgrassie's answer at How do you setup a node to communicate with other nodes only over an anonymous network?:

If you add one or more nodes that are on anonymous networks, yes, they will share their peerlists of other anonymous nodes they have connected to.

This makes me think that --add-peer might be necessary to discover anonymous peers. However, this answer was from March of 2020, so a lot might have changed from then.

Do clearnet peers also provide anonymous peer addresses to other clearnet peers?

Edit: At the time of this writing, --add-peer or --add-exclusive-node is no longer necessary to obtain tor peer seeds in mainnet since there are some default peers added in the source (see https://github.com/monero-project/monero/blob/f9d789d68ccca9a9b4aba483b7faa03a062c50c3/src/p2p/net_node.inl#L856-L859). For stagenet seed peers, add peers manually by finding them here https://monero.fail/?nettype=stagenet&onion=true )

  • I am fairly certain that it is not needed currently, as this particular pull request added seed nodes for both i2p and tor. Evidently, if you have a specific node that you would like to connect to, the flag can still be useful.
    – dEBRUYNE
    Commented Sep 24, 2022 at 6:56
  • Actually, it doesn't seem like tor/i2p seed nodes are provided. I tested it on stagenet and couldn't get a transaction to be relayed, it just sat in the pool. Also if you look at that pull request, lines 742-756 or so, you'll see this: case epee::net_utils::zone::tor: return {}; Which looks like there are no default seed nodes except for clearnet (via DNS)
    – comminutus
    Commented Sep 25, 2022 at 0:41

1 Answer 1


This makes me think that --add-peer might be necessary...

--add-peer is not required. But you have to use either --add-peer or --add-exclusive-node with an anonymity network if you want to send transactions over that network.

As you're quoting from my answer, I'll quote this (with emphasis) from the same:

Node to node communication, i.e. P2P traffic: for this you can use --tx-proxy ... and --add-peer ... / --add-exclusive-node ... with a node on an anonymity network to broadcast transactions only over the anonymity network.

"--add-peer ... / --add-exclusive-node ..." the forward slash means you should read as "--add-peer ... and / or --add-exclusive-node ...".

(the exclusive variant ensures transactions are only sent via that node).

Do clearnet peers also provide anonymous peer addresses to other clearnet peers?

No. Peers are in zones (i.e. tor, i2p or clearnet). If you're connected to a peer in a zone, you'll get peers for that zone.

  • Thanks @jtgrassie, I appreciate the clarity but I'm still a bit confused. I haven't added any peers via --add-peer or --add-exlusive-node and if I run print_pl white, I see several peers ending with a .onion address. I tried adding one of those peers via --add-peer, but when I try to have my node relay my own transfers, I get W Unable to send transaction(s) to tor - no available outbound connections. If clearnet peers don't provide anonymous peer addresses, what are those ".onion" peers in the peerlist? Is there somewhere I can find tor seed peers for stagenet?
    – comminutus
    Commented Sep 25, 2022 at 13:11
  • Are you actually connected to the tor network?
    – jtgrassie
    Commented Sep 25, 2022 at 15:06
  • I am connected via my tor process. I’m not sure how to check if the monerod process is using tor successfully. How else would those peers listed with a “.onion” address get into the peer list? I do have a --txproxy line pointing to my tor proxy and curl over the socks5 tor proxy is working correctly.
    – comminutus
    Commented Sep 25, 2022 at 16:35
  • "--txproxy" should be --tx-proxy. Additionally, just because you've found a tor onion in the peer-list, does not mean that node is online right now; try another. You have to connect to a peer that has used --anonymous-inbound and is currently online.
    – jtgrassie
    Commented Sep 25, 2022 at 18:12
  • sorry, I am indeed using --tx-proxy and not --txproxy (typo in my comment) . Also, if I only show peers via print_pl white doesn't that only show peers that are online right now? Even if they weren't online, how did they get there if I never added any peers directly via --add-peer ?
    – comminutus
    Commented Sep 25, 2022 at 18:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.