I'm interested in using lightning invoices for storing some basic metadata about a transaction on the chain. I'm also open to learn of a different approach if invoices aren't a good choice for my app.

In my use case, Alice should pay Bob 1000 sat. I would like Alice to create the invoice with Bob as the payee, and then pay the invoice herself. From what I can tell, there is no option to set the payee address when creating the invoice.

In the Bolt11 spec, there is a line that reads:

The recovery ID allows public-key recovery, so the identity of the payee node can be implied.

Does this suggest that the payee address specified instead of always being the identity of the invoice creator?

1 Answer 1


There is the keysend blib that allows to pay an arbitrary node without the necessity to create in invoice first https://github.com/lightning/blips/blob/master/blip-0003.md i think all major implications support keysend nowerdays.

Alternatively if the recipient supports lnurl or lightning addresses you can basically fetch an invoice from them. Similar behavior is supposed to be integrated to the base protocol via bolt12 offers https://github.com/lightning/bolts/pull/798 which is currently experimental in c-lightning

  • I was hoping to use the n field on the invoice: The n field can be used to explicitly specify the destination node ID, instead of requiring signature recovery. Would that not work?
    – Tim
    Jan 12, 2022 at 22:18

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.