Skip to content

cln-bip353: add plugin that fetches payment instructions from human readable addresses #8362

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

daywalker90
Copy link
Collaborator

@daywalker90 daywalker90 commented Jun 18, 2025

Changelog-Add: new plugin cln-bip353 that can fetch payment instructions from human readable addresses

Important

25.09 FREEZE July 28TH: Non-bugfix PRs not ready by this date will wait for 25.12.

RC1 is scheduled on August 11th

The final release is scheduled for September 1st.

Adds a new rpc command fetchbip353 [address] that fetches payment instructions from a bip-353 address and returns an object containing:

  • proof: lowercase hex encoded proof
  • instructions: An array of bip353 payment instruction objects

These objects either contain an onchain instruction:

  • onchain: a bitcoin address
  • onchain_amount_sat: an optional amount for fixed amount payments
  • description: an optional description provided by the recipient

or an offchain instruction:

  • offer: a bolt12 offer string
  • offchain_amount_msat: an optional amount for fixed amount payments
  • description: an optional description provided by the recipient

Fixes: #8361

Checklist

Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked:

  • The changelog has been updated in the relevant commit(s) according to the guidelines.
  • Tests have been added or modified to reflect the changes.
  • Documentation has been reviewed and updated as needed.
  • Related issues have been listed and linked, including any that this PR closes.

@daywalker90
Copy link
Collaborator Author

Added a basic test with the same address the library uses in it's tests. Let me know if you have more addresses you'd like to see tested.

Also updated the bitcoin_payment_instructions library to an unreleased version that supports proxying and implemented proxying incase always_use_proxy is set.

For documentation i've added a json schema file.

I have reworked the reponse structure a bit to also support onchain instructions.

@daywalker90 daywalker90 marked this pull request as ready for review July 24, 2025 12:33
@daywalker90 daywalker90 requested a review from cdecker as a code owner July 24, 2025 12:33
@daywalker90 daywalker90 force-pushed the cln-bip353 branch 2 times, most recently from 69c9ef7 to d669e6f Compare July 24, 2025 13:00
@ShahanaFarooqui ShahanaFarooqui requested review from rustyrussell and removed request for cdecker July 24, 2025 14:18
@rustyrussell
Copy link
Contributor

Great! The always-use-proxy was my only question on this PR.

Ack d669e6f

…eadable addresses

Changelog-Add: new plugin cln-bip353 that can fetch BIP-353 payment instructions from human readable addresses
@daywalker90
Copy link
Collaborator Author

rebased after merge of wss-proxy which created some conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status::Assigned The issue has been given to a team member for resolution.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a Simple Rust Plugin for Human Readable addresse (BIP-353) lookup in Core Lightning
3 participants