Skip to content

Conversation

@vincenzopalazzo
Copy link
Contributor

With this PR I am proposing the first implementation for the BLIP 42 implementation that allow to send a "contact" with a contact secret for verification when making an invoice request during a pay_for_offer.

The current implementation is injecting the BLIP 42 information by default and there is no way to op out to this feature (and IMHO would be could to have a way to disable it).

In addition this RFC it is just a way to collect the first comments on API and design choice that I made and to collect feedback on how I manage stuff on the ldk internal stuff, probably there is some more simple way of doing the same thing.

However, this PR has already two problem:

  • What is the offer that we are considering good to be a "long living" offer that can be store as a contact? We have also the onion size limitation (where currently it is failing the test)
  • Supporting the BIP 325

…et, invreq_payer_offer, invreq_payer_bip_353_name

Signed-off-by: Vincenzo Palazzo <[email protected]>
Implements BIP 353 human-readable contact addresses and bLIP 42
contact secret derivation for mutual authentication in Lightning
Network payments.

The implementation supports both offers with issuer_signing_pubkey and
offers using blinded paths for privacy-preserving contact management.

Signed-off-by: Vincenzo Palazzo <[email protected]>
Signed-off-by: Vincenzo Palazzo <[email protected]>
Implements a public accessor method to retrieve the payer_offer field
from invoice requests. This completes the interface for accessing the
invreq_payer_offer experimental TLV field that was added in commit
61799bf.

Signed-off-by: Vincenzo Palazzo <[email protected]>
Implements automatic injection of the payer's offer into invoice requests
to support BLIP-42 contact management. This allows recipients to identify
which specific offer is being paid, enabling better contact tracking and
payment relationship management.

Signed-off-by: Vincenzo Palazzo <[email protected]>
…ment

This commit implements the infrastructure to expose BLIP-42 contact
information through the PaymentSent event, allowing applications to
manage contact relationships when BOLT12 offer payments complete.
Signed-off-by: Vincenzo Palazzo <[email protected]>
@ldk-reviews-bot
Copy link

ldk-reviews-bot commented Nov 6, 2025

👋 Thanks for assigning @jkczyz as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@ldk-reviews-bot
Copy link

🔔 1st Reminder

Hey @wpaulino! This PR has been waiting for your review.
Please take a look when you have a chance. If you're unable to review, please let us know so we can find another reviewer.

@wpaulino wpaulino requested review from jkczyz and removed request for wpaulino November 8, 2025 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants