Skip to content

Allow 0-conf splices #7002

Open
Open

Description

@JssDWt

In the current splicing flow, there is no way to set the minimum required chain confirmations. It would be useful to be able to set the minimum amount of chain confirmations to 0 in the context of an LSP that operates with 0-conf channels.

  • be able to set the minimum required confirmations to 0 (mindepth), like in fundchannel
  • if mindepth is zero, immediately send splice_locked, without waiting for confirmations
  • Do not RBF the channel when mindepth is 0, since that would invalidate the funding transaction

Typical splicing flow (see comment at splice_init):

RESULT=$(lightning-cli listpeerchannels);
CHANNEL_ID=$(echo $RESULT| jq -r ".channels[0].channel_id");
echo $RESULT;

RESULT=$(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true);
INITIALPSBT=$(echo $RESULT | jq -r ".psbt");
echo $RESULT;

# This could use a mindepth parameter, like fundchannel.
RESULT=$(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT);
PSBT=$(echo $RESULT | jq -r ".psbt");
echo $RESULT;

RESULT=$(lightning-cli splice_update $CHANNEL_ID $PSBT);
PSBT=$(echo $RESULT | jq -r ".psbt");
echo $RESULT;

RESULT=$(lightning-cli signpsbt -k psbt="$PSBT");
PSBT=$(echo $RESULT | jq -r ".signed_psbt");
echo $RESULT;

lightning-cli splice_signed $CHANNEL_ID $PSBT

Activity

  1. JssDWt commented on Feb 12, 2024

    @JssDWt
    ContributorAuthor

    @ddustin What are your thoughts on adding the mindepth parameter in order to allow for zero conf splices?

  2. ddustin commented on Feb 12, 2024

    @ddustin
    Collaborator

    @ddustin What are your thoughts on adding the mindepth parameter in order to allow for zero conf splices?

    It's definitely on the radar. There's a lot of discussion around if we can do them safely and, if so, what are the restrictions that make them safe.

  3. JssDWt commented on Oct 7, 2024

    @JssDWt
    ContributorAuthor

    @ddustin What is the state of this discussion?

  4. ddustin commented on Nov 1, 2024

    @ddustin
    Collaborator

    I don't believe anyone's working on zero conf splices at the moment

  5. JssDWt commented on Nov 2, 2024

    @JssDWt
    ContributorAuthor

    I don't believe anyone's working on zero conf splices at the moment

    The splicing spec has changed in meantime to allow 0-conf splices.
    It now uses acceptable depth rather than 6 confirmations

    This comment speaks of multiple unconformed splices.

    So spec-wise this should be possible now.

  6. kingonly commented on Nov 7, 2024

    @kingonly

    We (Breez) have no use of splicing w/o zero-conf support.

  7. vincenzopalazzo commented on Nov 7, 2024

    @vincenzopalazzo
    Collaborator

    We (Breez) have no use of splicing w/o zero-conf support.

    @kingonly are you planning to support it any time soon? do you need some help from us to adopt this feature (bug wise ofc)

  8. JssDWt commented on Nov 7, 2024

    @JssDWt
    ContributorAuthor

    @kingonly are you planning to support it any time soon? do you need some help from us to adopt this feature (bug wise ofc)

    @vincenzopalazzo We can roll this out as soon as cln supports our use case. We should have everything in place to support splicing. There's currently 2 blockers:

  9. vincenzopalazzo commented on Nov 7, 2024

    @vincenzopalazzo
    Collaborator

    I am looking at splicing for my stuff too so probably we can discuss this and trying to move forward this

  10. added
    featureAimed at improving the existing functionality or a new feature that provides additional value
    and removed on Aug 29, 2025
  11. sangbida commented on Feb 12, 2026

    @sangbida
    Collaborator

    This issue is being closed as part of issue cleanup.

    Reason: About deprecated feature

    If you believe this issue should remain open, please comment and we can reopen it.

  12. JssDWt commented on Feb 12, 2026

    @JssDWt
    ContributorAuthor

    I believe this should be reopened. Zero conf splices are a logical step in supporting splicing.

  13. madelinevibes commented on Mar 2, 2026

    @madelinevibes
    Collaborator

    Implementing zero conf splices need to be discussed at the spec level before they become a feature in core lightning, there's a lot of risk involved!

  14. vincenzopalazzo commented on Mar 24, 2026

    @vincenzopalazzo
    Collaborator

    This is already defined at the spec level. PR lightning/bolts#1160 (which is merged) explicitly covers zero-conf splicing:

    • When option_zeroconf is negotiated, nodes SHOULD send splice_locked immediately after exchanging tx_signatures
    • Sender MUST NOT send tx_init_rbf if option_zeroconf has been negotiated, because splice RBF attempts all spend the same funding output and would double-spend each other
    • It reuses the existing option_zeroconf channel type, no new feature bit needed

    The risk mitigation is handled by the RBF prohibition — which is exactly what the original issue description was asking for.

    I think the only thing left is the implementation work on CLN side. I can look into adding the mindepth parameter to splice_init and the corresponding splice_locked logic if there's interest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureAimed at improving the existing functionality or a new feature that provides additional valueprotocolThese issues are protocol level issues that should be discussed on the protocol spec repoprotocol::splicing

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions