Skip to content

Reject underpaid BOLT11 JIT invoices - #1156

Merged
tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2026-10-fix-lsps2-invoice-minimum
Oct 12, 2026
Merged

tnull merged 1 commit into
lightningdevkit:mainfrom
tnull:2026-10-fix-lsps2-invoice-minimum

Conversation

@tnull

@tnull tnull commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

BOLT11 JIT invoices did not enforce their advertised amount at the recipient. A sender could bypass the LSP's intercept SCID and have a smaller payment accepted over an existing channel.

Require the full sender-declared invoice amount for generated and caller-supplied payment hashes. Preserve negotiated LSP fee deductions and cover both invoice paths with an underpayment regression.

Fixes #609

Co-Authored-By: HAL 9000

BOLT11 JIT invoices did not enforce their advertised amount at the
recipient. A sender could bypass the LSP's intercept SCID and have a
smaller payment accepted over an existing channel.

Require the full sender-declared invoice amount for generated and
caller-supplied payment hashes. Preserve negotiated LSP fee deductions
and cover both invoice paths with an underpayment regression.

Fixes lightningdevkit#609

Co-Authored-By: HAL 9000
@tnull
tnull requested a review from joostjager October 12, 2026 11:35
@ldk-reviews-bot

ldk-reviews-bot commented Oct 12, 2026 •

Copy link
Copy Markdown

👋 Thanks for assigning @joostjager 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.

@joostjager joostjager left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tnull
tnull merged commit 4b55f1a into lightningdevkit:main Oct 12, 2026
14 of 25 checks passed
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.

Consider setting min_value_msat in LSPS2's create_inbound_payment

3 participants