Orphaned Channel After Restore + Autopilot Disable — Funding Confirmed, No Channel State

Hi all,

I’m looking for guidance on what appears to be an orphaned channel funding output in LND v0.20.0-beta.

Timeline

  1. I restored my node from backup.
  2. After the restore, autopilot automatically initiated a channel open.
  3. I saw the funding transaction get broadcast.
  4. While the channel was still in the opening phase, I disabled autopilot.
  5. The original funding transaction has now confirmed (5+ confirmations).
  6. The confirmed tx is labeled 0:openchannel in lncli listchaintxns.

Current State

  • lncli listchannels → empty
  • lncli pendingchannels → does NOT show the original channel
  • lncli listunspent → funding output is NOT spendable
  • Wallet balance does NOT include the channel amount (funds appear locked in the funding output)
  • Node is fully synced (synced_to_chain: true, synced_to_graph: true)

So the funding transaction confirmed, but LND has no corresponding channel state entry.

It appears that:

  • Autopilot initiated a channel immediately after restore
  • The funding workflow started
  • Disabling autopilot may have cancelled the reservation
  • The funding transaction still confirmed on-chain
  • The channel state was never finalized or persisted locally

Remote Peer

The remote peer appears online and reachable.
I do not control that node.

Question is: how can I get my sats back?

I tried with chantools following @StuPleb 's instructions as explained here but got nowhere…

found 0 sweep targets with total value of 0 satoshis which is below the dust limit of 600

Here’s the funding tx info:

"tx_hash": "969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516",
            "amount": "-123160",
            "num_confirmations": 617,
            "block_hash": "0000000000000000000131c61dce573b2ed7451df816a0a14d923e4c8bd840e3",
            "block_height": 936834,
            "time_stamp": "1771212558",
            "total_fees": "155",
            "dest_addresses": [
                "bc1pkzpmdslup73d88znm8nkkmqhej0w29s09kfr7x7xmwkeuhgmlgwsp2xzc2",
                "bc1qgn97v96nr25rg3xc7x25mt0ccs3wqclq675sjzsar2va7aem0egqzdnmum"
            ],
            "output_details": [
                {
                    "output_type": "SCRIPT_TYPE_WITNESS_V1_TAPROOT",
                    "address": "bc1pkzpmdslup73d88znm8nkkmqhej0w29s09kfr7x7xmwkeuhgmlgwsp2xzc2",
                    "pk_script": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "output_index": "0",
                    "amount": "82107",
                    "is_our_address": true
                },
                {
                    "output_type": "SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH",
                    "address": "bc1qgn97v96nr25rg3xc7x25mt0ccs3wqclq675sjzsar2va7aem0egqzdnmum",
                    "pk_script": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "output_index": "1",
                    "amount": "123005",
                    "is_our_address": false
                }
            ],
            "raw_tx_hex": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "label": "0:openchannel",
            "previous_outpoints": [
                {
                    "outpoint": "3a6a4428488550a9830fb3edc15d10566e778538722431445b314b6b49c7cd65:0",
                    "is_our_output": true
                }

Here’s a portion of the log:

2026-02-15T22:25:49-05:00  2026-02-16 03:25:49.422 [INF] FNDG: Starting funding workflow with 43.173.253.2:9735 for pending_id(bad88f4b7853dc22a4876298acd98201fe8141f3b367cd2fc1394e987ed271a2), committype=anchors-zero-fee-second-level
2026-02-15T22:25:51-05:00  2026-02-16 03:25:51.906 [INF] INVC: New invoice subscription client: id=1
2026-02-15T22:25:56-05:00  2026-02-16 03:25:56.412 [INF] FNDG: Recv'd fundingResponse for pending_id(bad88f4b7853dc22a4876298acd98201fe8141f3b367cd2fc1394e987ed271a2)
2026-02-15T22:25:56-05:00  2026-02-16 03:25:56.423 [INF] FNDG: pendingChan(bad88f4b7853dc22a4876298acd98201fe8141f3b367cd2fc1394e987ed271a2): remote party proposes num_confs=3, csv_delay=144
2026-02-15T22:25:56-05:00  2026-02-16 03:25:56.423 [INF] FNDG: Generated ChannelPoint(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1) for pending_id(bad88f4b7853dc22a4876298acd98201fe8141f3b367cd2fc1394e987ed271a2)
2026-02-15T22:25:56-05:00  2026-02-16 03:25:56.722 [INF] FNDG: Broadcasting funding tx for ChannelPoint(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1): 0200000000010165cdc7496b4b315b443124723885776e56105dc1edb30f83a950854828446a3a00000000000000000002bb40010000000000225120b083b6c3fc0fa2d39c53d9e76b6c17cc9ee5160f2d923f1bc6dbad9e5d1bfa1d7de001000000000022002044cbe617531aa83444d8f1954dadf8c422e063e0d7a9090a1d1a99df773b7e500140507fdaff386f41a11e071da97c5eff89fb0d806b70ac4935ef6ad2cc173d712a2ba1db4511bdff28b3f9297c47e6e8735d6465868edb68fd1d7a5c4bcb82450f00000000
2026-02-15T22:25:56-05:00  2026-02-16 03:25:56.722 [INF] BTWL: Inserting unconfirmed transaction 969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.755 [INF] CNCT: Creating new chainWatcher and ChannelArbitrator for ChannelPoint(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1)
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.756 [INF] FNDG: Finalizing pending_id(bad88f4b7853dc22a4876298acd98201fe8141f3b367cd2fc1394e987ed271a2) over ChannelPoint(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1), waiting for channel open on-chain
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.757 [INF] NTFN: New confirmation subscription: conf_id=4, txid=969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516, num_confs=3 height_hint=936833
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.757 [INF] FNDG: Waiting for funding tx (969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516) to reach 3 confirmations
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.757 [INF] CNCT: Close observer for ChannelPoint(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1) active
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.758 [INF] CHBU: Updating on-disk multi SCB backup: num_old_chans=1, num_new_chans=2
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.763 [INF] CNCT: ChannelArbitrator(969f47be813d6a6c2dacf3b68ed6e49a9803102154ca0c67ef0bfe8af521e516:1): starting state=StateDefault, trigger=chainTrigger, triggerHeight=936833
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.770 [WRN] CHBU: Replacing disk backup for ChannelPoint(d22436d7aa13d60af0762abf27c7ba7f513d7454beedd32f2a5d2ba3486b015a:1) w/ newer version
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.786 [INF] CHBU: Updating backup file at /root/.lnd/data/chain/bitcoin/mainnet/channel.backup
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.790 [INF] CHBU: Swapping old multi backup file from /root/.lnd/data/chain/bitcoin/mainnet/temp-dont-use.backup to /root/.lnd/data/chain/bitcoin/mainnet/channel.backup
2026-02-15T22:26:01-05:00  2026-02-16 03:26:01.792 [INF] CHBU: Archiving old channel backup to /root/.lnd/data/chain/bitcoin/mainnet/chan-backup-archives
2026-02-15T22:26:02-05:00  2026-02-16 03:26:02.555 [INF] ATPL: Attempting to execute channel attachment directives: (map[autopilot.NodeID]*autopilot.AttachmentDirective) (len=1) {

The chantools approach is the approach. An alternate one might be to ask your channel partner to force close it for you.