AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Low 32 Bitcoin

Account for pending splice in claimable balances

Public commit record

What the developer wrote

Authored by Wilmer Paulino

80/100 · Strong
Account for pending splice in claimable balances

There are two states in which a pending splice balance should be
considered:

1. The channel has closed with a confirmed holder commitment transaction
from a splice that did not become locked. The balance from this
transaction is reported.
2. The channel is open and has multiple holder commitment transaction
candidates that are valid based on the funding transaction that
confirms. We want to report the pending splice balance to users while
it has yet to become locked, such that they are able to see their
funds have moved from their onchain wallet to the channel. We default
to reporting the latest splice/RBF balance via
`Balance::claimable_amount_satoshis` to mimic how an onchain wallet
would behave when reporting unconfirmed balance, otherwise we report
the balance for the confirmed splice transaction.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit changes how LDK reports a user's spendable balance when a channel splice is in progress. Previously, the accounting only looked at the original funding transaction. Now it also considers alternative 'candidate' commitment transactions tied to pending splices or RBF fee bumps, and reports the balance that matches whichever splice transaction has actually confirmed on-chain. This is primarily a correctness and user-visibility fix; it does not by itself introduce a remote exploit, but wrong balance reporting during a splice could mislead wallets or downstream software about how much money is available.

Recommended action

Review downstream consumers of get_claimable_balances and claimable_amount_satoshis to ensure they handle the new multi-candidate shape correctly, especially during pending splices. Treat this as a bug-fix/correctness improvement rather than an emergency vulnerability patch, but verify that no wallet logic relies on the old single-value assumption in a way that could now be unsafe.

Security signals we found

01

Balance-reporting correctness during pending channel splices

02

Use of confirmed funding scope rather than always the original funding scope when scanning commitment transactions

03

New public struct HolderCommitmentTransactionBalance exposes per-candidate fee and amount data

04

Behavior change in claimable_amount_satoshis: may now report latest splice/RBF candidate instead of original channel balance

05

No explicit security advisory, CVE, or researcher attribution in commit or supplied references

Risk score

Why this scored 32/100

Our methodology →
Potential impact 8/30
Exploitability 3/25
Stealth signal 5/15
Affected reach 6/15
Confidence 7/10
Evidence quality 3/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.