Skip to content

Funder-side channel stuck in CHANNELD_AWAITING_LOCKIN if funding never confirms #9112

@ksedgwic

Description

@ksedgwic

When a node is the funder of a channel whose funding tx never
confirms — broadcast rejected at ATMP, evicted from mempool, or
simply never broadcast — the channel record stays in
CHANNELD_AWAITING_LOCKIN indefinitely. CLN already implements the
BOLT 2 fundee-side forget rule (PR #1468,
--max-funding-unconfirmed-blocks, default 2016) but has no
equivalent on the funder side. Once the would-be funding inputs are
spent in other transactions the funding tx is permanently
unconfirmable, yet the channel record remains.

Similar to #9102

Concrete instance

More details about the following channel can be found in clboss
issue #312
.
@ksedgwic operates the funder.

Channel

  • channel_id: 0b12c289525bf5593e932eca14277dbcb0921f125731b586d3a75d2f4b328dde
  • funding_txid: de8d324b2f5da7d386b53157121f92b0bc7d2714ca2e933e59f55b5289c2120b — never confirmed on chain
  • opener: us; closer: us
  • created 2025-10-14; broadcast rejected by bitcoind at 22:46:28 UTC
    with min relay fee not met, 507 < 511; spenderp ran cleanup
    (unreserveinputs) but the channel record on lightningd's side
    persisted
  • still in AWAITING_UNILATERAL (a later close attempt also could not
    broadcast — its commitment input is the never-existing funding
    output) on our node as of 2026-05-04, ~6.5 months later
  • All 7 of the funding tx's input UTXOs are now spent in other
    transactions, so the funding tx can never confirm

Reproducer

Reproduced by #9113

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions