To (1) create an invoice and (2) accept payment in LN, the node has to be online. But does the node need to sign the creating invoice or the accepting payment?

We don't have to have private key online to receive Bitcoin in on-chain transation. Rather we just need to sign the sending transaction with private key.

It would be nice if LN node doesn't have to have pricate key online for accepting payment.

1 Answer 1


Yes invoices are signed according to bolt 11. One reason we do this is to fight dos attacks. If I would not have to sign my invoice I could create an Invoice for any node. That node would not have the preimage for that payment hash and routing of the payment would fail all the time.

While I can imagine other processes that don't require a signature in the invoice we still need the private key / signature to update the payment channel on which the payment is coming in. This is needed to accept the offered htlc and to settle it. Since we certainly need a signature for the htlcs we can use them for invoices as well.

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.