-

@ Super Testnet
2025-05-05 14:07:39
There are four ways to create an invoice with a "decoy" node id:
- I used lnproxy.org to "wrap" my invoice so that instead of "my" node id appearing there, lnproxy's appeared there
- you can also toggle the "blinded paths" option in LND or Zeus Wallet. Among other things, that option replaces your node id with a dummy key
- you can also use TransLND or Valet Wallet, which have an optional feature where they will create a decoy pubkey for all of your invoices by pretending that your node is a routing node and the "real" recipient is a node it just made up
- you can also use Voltage or my Zaplocker software, which have an option to wrap all invoices so that all inbound payments to your wallet appear to go to Voltage's node or the Zaplocker server, even though they really get forwarded to the recipient
Also, it is worth pointing out that even without doing any of this, the public key in an LN invoice does not actually receive money, it is only used to sign communication messages.
As a result, it does not reveal which node it belongs to unless that node's network address and channels are gossipped via the LN gossip protocol, and that only happens if it is a routing node. A simple wallet with ungossipped channels does not reveal the network address of the node that controls it, so the pubkey in an LN invoice cannot be used by itself to find your node.