Skip to content

Stuck "ChanStatusRestored" Channels — Funds Unspent On-Chain After Force Close #10272

@Ellienat

Description

@Ellienat

Summary

7 channels remain stuck in ChanStatusRestored on an Umbrel node hardware (Raspberry Pi 5, 2TB SSD).

  • Channels 1–3: never fully opened, no on-chain funds, unsure why listed
  • Channels 4–7: have confirmed on-chain funds
  • Channel Allow for error-free build via go github.com/lightningnetwork/lnd/... #4: contacted remote node whom ran listpeerchannels and can confirm does not see this channel
  • Attempted lncli closechannel --force fails with "cannot close with state ChanStatusRestored"
  • 17 other channels from the same SCB restored correctly, funds returned to on-chain wallet

Environment: Umbrel Docker, LND v0.19.3-beta, Bitcoin Core v29.1, fully synced.

Background

Originally ran an Umbrel node on a Raspberry Pi 4 (1TB SSD). Pruned the blockchain on this node, but afterwards realized that a pruned node would not operate with Lightning channels correctly. Then attempted to resolve by removing the pruned state, which left the node completely unresponsive. Still have old hardware and SSD.

In attempt to recover my open channels, I ran a fresh Umbrel install, fully sync'd blockchain on a Raspberry Pi 5 (2TB SSD), new hardware. After the node fully sync, Umbrel prompted to recover from a backup file and start force closure of channnels (SCB), which was done. At the time, using the SCB forced-close did not realise this might not have been a poor decision as Umbrel recovery process appeared to be recommending this approach.

From this recovery, 17 other channels restored successfully with funds returned to the on-chain wallet. However, 7 channels remained stuck in ChanStatusRestored state now since Feb '25.

After investigating further attempted past suggestions without any luck.

The first 3x channels below I dont' think we ever opened properly but not sure why they are still listed as pending. Last 4x channels below have unspent funds.

I am able to contact remote peer from channel #4 although they can't see this as an open channel on their node.

I have installed chantools and attempted to triggerforceclose although appears to have not successfully run from the logs, but I haven't attempted this again in case its the wrong approach.

Expected Outcome

Pending channel to be closed and sats returned to onchain wallet.

Attached Log File with focus on SCB and errors


Pending Channels Output

 {
    "total_limbo_balance": "0",
    "pending_open_channels": [],
    "pending_closing_channels": [],
    "pending_force_closing_channels": [],
    "waiting_close_channels": [
        {
            "channel": {
                "remote_node_pub": "02f4c77dcf12255ccf705c18b8d6b95e4f884910bf61e8aa21242607193a79da1b",
                "channel_point": "1335e6432ac04ab08910aec478d4dc57a312bdb4dea5bb05926a5202118ee129:1",
                "capacity": "8000000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 1 — never fully opened, no on-chain funds
        },
        {
            "channel": {
                "remote_node_pub": "02f4c77dcf12255ccf705c18b8d6b95e4f884910bf61e8aa21242607193a79da1b",
                "channel_point": "4105a41eded009e9613679e3f20cda9341b5165b3e2e9487179f3d00467b7533:0",
                "capacity": "15000000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 2 — never fully opened, no on-chain funds
        },
        {
            "channel": {
                "remote_node_pub": "02f4c77dcf12255ccf705c18b8d6b95e4f884910bf61e8aa21242607193a79da1b",
                "channel_point": "f19365701f16995c70341a99cfc778f482f4581e801a69ebf33b0ae2144917ca:1",
                "capacity": "15000000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 3 — never fully opened, no on-chain funds
        },
        {
            "channel": {
                "remote_node_pub": "02fe6a27ddcb2dd9fa8479fe1d52549b5932079a493b51f1409fa2c5878f1bc07c",
                "channel_point": "da72f710178fefb50ad13f44dbcf50aa00c04209484da62de2195fa26481b1b5:1",
                "capacity": "15000000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 4 — has on-chain funds, remote node does not list this channel
        },
        {
            "channel": {
                "remote_node_pub": "039cd42c10b569257512d397ae5c7c3989f8559b286d656b61e0898c4673457842",
                "channel_point": "f06b449877da6843846bf18008aeff2cf7e1b97003a11a40962b236da4d21d92:0",
                "capacity": "6704988",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 5 — has on-chain funds
        },
        {
            "channel": {
                "remote_node_pub": "03a5b35380cb1d4d9ee90775a178b1a78afa61d03da0da15641cd4ca8e176bf3c9",
                "channel_point": "d158296b6bf032521c20e1b0b3355d55c830f30632f046d108dec878cda24a68:1",
                "capacity": "100000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 6 — has on-chain funds
        },
        {
            "channel": {
                "remote_node_pub": "03c227a9003c1b2d176f5afad901066075e72343a24a1df9c3e7d74c7deaf76d4b",
                "channel_point": "4d8f37601d96dd803416a2612506073a77b19638bfbe107b6e78c4b322907f86:0",
                "capacity": "1000000",
                "local_balance": "0",
                "remote_balance": "0",
                "chan_status_flags": "ChanStatusRestored"
            }
            // Channel 7 — has on-chain funds
        }
    ]
}


[lnd_scb_scrubbed.log](https://github.com/user-attachments/files/22742276/lnd_scb_scrubbed.log)

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