It is said that a BOLT12 offer does hide the final destination, and therefore protects privacy of receiver.

However, I just generated an offer, decoded it, and in the value node_id, it had my node's public key without the first byte prefix, which is sufficient to have myself traced. Is there something that I haven't understood correctly?

2 Answers 2


Using BOLT 12 offer encodes the data necessary to reach a node to request an invoice to make a payment, either a node_id, or a blinded path (the last few hops in an onion route, pre-computed and encrypted) to that node using onion messages.

See here: https://thebitcoinmanual.com/articles/lightning-offers-bolt12/

I guess the answer is that you have those two options and you only get the privacy advantage if the blinded path feature is used.


In many cases, you're a public node and want to commit to the invoice publicly. The difference is, now a node doesn't have to!

In Core Lightning, our implementation doesn't yet support this use of aliases, but it's pretty trivial. If course we can pay someone using an alias...

  • Paying someone using an alias... like? Are blinded paths used in this process?
    – Angelo
    Nov 29, 2022 at 10:02

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.