Running your own Bitcoin Lightning node used to be a hobbyist flex. In 2026 it is closer to a security decision. The public Lightning graph is thinning (roughly 17,000-17,400 nodes as of the most recent mempool.space-based crawls, down from a 2022 peak near 20,700) while total value locked in channels has swung between 3,700 and 5,600 BTC over the course of the year. At the same time, two separate security events this summer, an LND cooperative-close bug that only got properly fixed in the 0.21.x branch, and a 14-day Core Lightning lockdown that froze roughly 2,640 BTC across more than 20,000 channels, showed exactly what happens when node operators fall behind on patching.

This guide walks through standing up a production-ready LND node on your own hardware, hardening it the way the 2026 incidents suggest you should, and keeping it running without losing funds to a stale binary or a bad reorg. You will end with a working bitcoind + lnd stack, a funded channel, and a monitoring routine that catches the next disclosure before it catches you.

None of the steps below assume prior Lightning experience, but you should be comfortable editing a config file over SSH and reading a log line without panicking. Budget a full weekend for the initial blockchain sync if you are starting from zero, and treat the first two weeks of operation as a shakeout period where you keep channel sizes small while you get a feel for peer selection, fee behavior, and your own backup discipline.

Why run your own Lightning node in 2026

Custodial Lightning wallets are fine for spending a few sats at a coffee shop. They are a bad fit if you route payments for other people, if you want provable control over channel funds, or if you simply do not want a third party deciding when your node reboots. Running your own node means you set the fee policy, you choose your peers, and you are the one who applies (or delays) a patch.

The trade-off is operational responsibility. Both major implementations had reasons to pay closer attention this year. Spark’s mid-2026 state-of-the-network research, based on mempool.space data, put public capacity at roughly 4,898 BTC across 41,080 channels and 17,438 nodes as of a May 2026 snapshot, and a security write-up from Hoge.gg in late August flagged that LND’s cooperative-close and reorg-protection fix only landed cleanly on the 0.21.x line, not 0.20.x as some changelogs implied. If you are on an older build, you are missing a fix you probably think you already have.

Separately, Core Lightning operators went through a 14-day lockdown after a vulnerability disclosure, with maintainers telling anyone still running unpatched binaries to either install newly signed releases or take the node offline until they could. That single event touched an estimated 2,640 BTC held across more than 20,000 payment channels, a meaningful slice of the network’s roughly 5,600 BTC peak capacity. None of this means Lightning is unsafe to run. It means node operators who treat upgrades as optional are the ones who get burned.

The broader network context also matters for anyone deciding whether to route payments for other people or just spend from a personal channel. A late-August 2026 read of Japanese network trackers, cited via NADA’s monthly report, showed public node counts and capacity both falling by double digits in a single month, a reminder that Lightning liquidity concentrates and disperses quickly. That volatility is a routing-economics question more than a security one, but it shapes which peers are worth connecting to and how much capital you should lock into any single channel.

LND vs Core Lightning: picking an implementation

Both LND and Core Lightning (CLN) implement the same BOLT specifications and can route payments to each other without either side knowing which software the other runs. The choice mostly comes down to operator experience, resource footprint, and how you like to extend the node.

LND is written in Go, ships a gRPC and REST API out of the box, and has the larger surrounding ecosystem of dashboards, mobile wallets, and Lightning Service Provider integrations. That popularity is also why its 2026 patch history gets scrutinized closely. More eyes on the code means more disclosures, not necessarily more bugs relative to alternatives. Core Lightning is written in C, uses a plugin architecture that lets you extend node behavior without recompiling the core daemon, and tends to run lighter on constrained hardware like a low-power Raspberry Pi. Its August 2026 lockdown showed the same lesson from the other direction: a single disclosure can force every operator on the network to act within a tight window, regardless of which implementation they picked.

If you are running your first node, LND’s larger documentation base and management-tool selection makes troubleshooting easier. If you already run other C-based infrastructure and want a smaller resource footprint, Core Lightning is a reasonable alternative, provided you apply the same discipline around verified downloads and release monitoring covered later in this guide.

Whichever you choose, avoid switching implementations on a live node with open channels just to chase a feature. Migrating channel state between implementations is possible but adds operational risk for little benefit. Pick one, learn its quirks, and reserve a second implementation for a separate node if you want the redundancy discussed in the advanced tips section below.

Prerequisites and versions

Before you start, confirm you have the following. Version numbers below reflect the maintained releases as of September 2026. Always check the official release pages linked in this guide for anything shipped after publication.

  • A dedicated machine: a Raspberry Pi 4/5 with 8GB RAM for a pruned setup, or any x86-64 box with 8GB+ RAM if you want a full archival node
  • Storage: 100GB SSD minimum for a pruned Bitcoin Core + LND stack, or 1TB+ SSD if you want an unpruned full node (the chain plus UTXO set is well past 600GB in 2026)
  • Bitcoin Core, a current 2026 release with full SegWit and Taproot support, compiled or downloaded from bitcoincore.org
  • LND v0.21.2-beta or later (the maintained line as of the August 13, 2026 release, and the floor for the cooperative-close and reorg-protection fix) from github.com/lightningnetwork/lnd, or Core Lightning on a current, signed post-lockdown binary from github.com/ElementsProject/lightning
  • Tor, if you want your node reachable without exposing your home IP
  • A funded on-chain wallet with enough BTC to open at least one channel (a few hundred thousand sats is enough to start)
  • Basic comfort with a Linux terminal and systemd

This guide uses LND as the primary path because it has the larger operator base and the clearer 2026 patch history, but the same principles (verify signatures, pick a maintained release, watch disclosures) apply to Core Lightning as well.

The hardware choice matters more than it might seem. A node that keeps restarting or losing power is a node that risks channel force-closes, so pick something you can leave running unattended for months at a time.

Hardware optionRAMBest fit
Raspberry Pi 4/5 + external SSD4-8GBLow-power personal node, pruned chain only
Mini PC / NUC-class x868-16GBPersonal or light routing node, room to run a management UI alongside
Home server / NAS with SSD bays16GB+Routing node, multiple channels, optional full archival Bitcoin Core
VPS (self-managed, not custodial)4-8GBAlways-on uptime without home hardware, but you must trust the provider’s disk and network isolation

Step 1: Choose pruned or full Bitcoin Core

Your Lightning node needs a Bitcoin full node underneath it. LND and Core Lightning both talk to bitcoind over RPC (and, for LND, optionally over its ZMQ interface for faster block notifications). You have two options.

A pruned node keeps only the most recent blocks on disk (Bitcoin Core discards older block data once it is validated) and fits comfortably in 80-100GB. It still validates every rule the network enforces, it just does not keep the full historical block store, which is fine for Lightning since channels only need recent chain state. A full archival node keeps everything, needs 1TB+ of SSD headroom for growth, and is worth it only if you also want to serve blocks to other peers or run block explorers.

For most home node operators, pruned is the right call. Set your prune target based on available disk. 50,000 MB (50GB) is a reasonable floor.

Step 2: Install and configure Bitcoin Core

Download the current release for your platform from the official site, verify the checksum and signature, then create a minimal config file.

# create data and config directories
mkdir -p ~/.bitcoin
cat > ~/.bitcoin/bitcoin.conf << 'EOF'
server=1
daemon=1
txindex=0
prune=51200
rpcuser=lndrpc
rpcpassword=CHANGE_THIS_TO_A_LONG_RANDOM_STRING
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
EOF

# start the daemon and let it sync
bitcoind -daemon

Initial block download can take anywhere from a few hours to a couple of days depending on your bandwidth and disk speed. Check sync progress before moving on.

bitcoin-cli getblockchaininfo | grep -E "blocks|headers|verificationprogress"

Do not start LND until verificationprogress is at or extremely close to 1.0. Pointing a Lightning node at a partially synced chain is one of the more common setup mistakes and it will cause channel state confusion later.

Step 3: Install LND from a verified release

Grab the current maintained binary from the official LND releases page rather than a random mirror or an old tutorial's download link. As of the August 13, 2026 release cycle, the maintained lines are v0.21.2-beta and v0.20.3-beta, but only 0.21.x carries the full cooperative-close and reorg-protection fix, so treat 0.21.2-beta or newer as your floor.

# download, then verify against the maintainers' published signatures
wget https://github.com/lightningnetwork/lnd/releases/download/v0.21.2-beta/lnd-linux-amd64-v0.21.2-beta.tar.gz
wget https://github.com/lightningnetwork/lnd/releases/download/v0.21.2-beta/manifest-v0.21.2-beta.txt
wget https://github.com/lightningnetwork/lnd/releases/download/v0.21.2-beta/manifest-v0.21.2-beta.txt.sig

# verify the manifest signature against a maintainer's known PGP key
gpg --verify manifest-v0.21.2-beta.txt.sig manifest-v0.21.2-beta.txt
sha256sum lnd-linux-amd64-v0.21.2-beta.tar.gz
# compare the hash against the matching line in manifest-v0.21.2-beta.txt

tar -xzf lnd-linux-amd64-v0.21.2-beta.tar.gz
sudo mv lnd-linux-amd64-v0.21.2-beta/lnd /usr/local/bin/
sudo mv lnd-linux-amd64-v0.21.2-beta/lncli /usr/local/bin/

Skipping signature verification is how supply-chain compromises slip past node operators. It takes two extra minutes and it is worth doing every single time you upgrade, not just on first install.

Step 4: Configure LND to talk to Bitcoin Core

Create an lnd.conf that points at your local bitcoind instance and sets sane defaults for a home node.

mkdir -p ~/.lnd
cat > ~/.lnd/lnd.conf << 'EOF'
[Application Options]
alias=my-node
color=#3399FF
listen=0.0.0.0:9735
maxbackoff=2m
minbackoff=1s

[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
bitcoin.node=bitcoind

[Bitcoind]
bitcoind.rpcuser=lndrpc
bitcoind.rpcpass=CHANGE_THIS_TO_A_LONG_RANDOM_STRING
bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332
bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333
EOF

Match the rpcuser and rpcpass values exactly to what you set in bitcoin.conf. A mismatch here is the single most common reason LND fails to start on a first attempt.

Step 5: Start LND and create your wallet

Launch the daemon, then use lncli to create a new wallet. This step generates your 24-word seed phrase, the single most sensitive piece of data your node will ever produce.

lnd --configfile=~/.lnd/lnd.conf &
lncli create

Write the seed phrase down on paper (or a metal backup) immediately, offline, and never type it into a computer again after this initial setup. Set a strong wallet password when prompted. Anyone with the seed phrase can drain every channel your node ever opens, so this is not a step to rush or screenshot.

Step 6: Fund your on-chain wallet and open a channel

Get a receiving address from LND, send BTC to it, wait for confirmations, then open your first channel to a well-connected peer.

lncli newaddress p2wkh
# send BTC to the returned address, then wait for 3+ confirmations

lncli walletbalance
lncli connect PEER_PUBKEY@PEER_HOST:9735
lncli openchannel --node_key=PEER_PUBKEY --local_amt=500000

You can find well-connected, reputable peers through network explorers like 1ML or mempool.space's Lightning explorer. Look for nodes with high uptime and a long channel history rather than the single largest capacity number on the list.

Understanding channel liquidity: inbound vs outbound

A newly opened channel is almost entirely outbound liquidity from your side, meaning you can send payments through it but cannot yet receive much, since your peer holds none of the balance on their side. This trips up a lot of first-time node operators who open a channel, then wonder why an incoming payment fails with a routing error.

There are three common ways to get inbound liquidity: ask a peer to open a channel to you instead, use a liquidity marketplace or swap service to rebalance an existing channel, or simply spend down part of your outbound balance so your peer holds more of the channel capacity in return. For a personal node that mostly wants to receive payments, the simplest fix is opening a channel with a service or peer that explicitly offers inbound liquidity, rather than always initiating the open yourself.

# check your current balance split across channels
lncli listchannels | grep -E "local_balance|remote_balance|capacity"

Track this ratio over time. A channel that stays close to 100% outbound for weeks is not routing anything back to you, which is a sign to either rebalance or open a second channel from a different direction.

As a concrete example, say you open a 500,000-sat channel. Immediately after the funding transaction confirms, you have roughly 500,000 sats of outbound balance and close to zero inbound, since your peer has not yet routed anything to you through that channel. If a friend then pays you 50,000 sats through that same channel, your balance shifts to about 450,000 sats outbound and 50,000 sats inbound, and now you can both send and receive, just in smaller amounts on each side than the total capacity. This is why a single channel rarely stays useful indefinitely without either rebalancing or a second channel opened from the opposite direction.

Setting and adjusting routing fees

If you plan to route payments for other people rather than just spend and receive on your own channels, your fee policy determines whether anyone actually routes through you. LND ships conservative defaults that are worth tuning once you understand your channel's liquidity pattern.

# view current fee policy for a channel
lncli feereport

# update the base fee (msat) and fee rate (parts per million) for a peer
lncli updatechanpolicy --base_fee_msat=1000 --fee_rate_ppm=250 --chan_point=FUNDING_TXID:OUTPUT_INDEX

Setting fees too high means nobody routes through your node. Setting them too low means you drain outbound liquidity quickly without earning enough to justify rebalancing costs. Start near the network median (check a few peers on 1ML for reference) and adjust in small steps every week or two rather than overhauling your policy daily.

Step 7: Harden remote access with Tor

Exposing your node's IP address to the public Lightning graph is optional and, for most home operators, not worth the risk. Running LND as a Tor hidden service keeps your node reachable without publishing your home connection.

sudo apt install tor
cat >> ~/.lnd/lnd.conf << 'EOF'

[tor]
tor.active=1
tor.v3=1
tor.streamisolation=1
EOF

Restart LND after adding these lines and confirm a .onion address appears in lncli getinfo.

Step 8: Install a management UI

Raw lncli commands work but a dashboard makes day-to-day operation far easier, especially for fee tuning and liquidity checks. Three tools dominate home-node setups in 2026.

ToolBest forNotes
Ride The Lightning (RTL)Full channel and fee managementWeb UI, works with LND and other implementations, widely bundled in node distributions
ThunderHubRouting and liquidity visualizationLND-focused, strong charts for outbound/inbound balance
UmbrelOne-click node OSBundles Bitcoin Core and LND with an app store, popular entry point for non-experts, see getumbrel.com

If you are running Umbrel or Start9 instead of a manual install, most of steps 2-6 above are handled through their setup wizard, but the security practices in the steps that follow still apply. These distributions trade some manual control for convenience, bundling Bitcoin Core, LND, and an app store into a single image you flash onto a Pi or mini PC and configure through a browser. They are a reasonable starting point if the command-line steps above feel like more than you want to manage day to day, but you should still check their release notes against the official LND or Core Lightning advisories, since a distribution can lag behind the upstream project's own patch cadence.

Step 9: Automate backups of channel state

Losing your channel state database without a backup is one of the few Lightning mistakes that can cost you funds outright, since a stale channel backup may force you into a slow, penalty-exposed unilateral close. LND's Static Channel Backup (SCB) file should be copied off the node regularly.

# back up after every channel open/close, and on a schedule
cp ~/.lnd/data/chain/bitcoin/mainnet/channel.backup /media/backup-drive/channel-$(date +%F).backup

# add a cron entry for daily backups
(crontab -l 2>/dev/null; echo "0 3 * * * cp ~/.lnd/data/chain/bitcoin/mainnet/channel.backup /media/backup-drive/channel-daily.backup") | crontab -

Store at least one copy off-site or on separate media. The backup file alone will not restore full routing history, but it lets you recover funds through a channel force-close if the node itself is destroyed.

If disaster strikes and you need to rebuild from scratch, restore the wallet from your seed phrase first, then feed LND the static channel backup so it can request a force-close of each open channel from your peers.

# on a fresh install, restore the wallet using your written-down seed
lncli create --recovery_window=2500

# once the wallet is restored, apply the static channel backup
lncli restorechanbackup --multi_file=/media/backup-drive/channel-daily.backup

This process recovers your on-chain funds and forces a cooperative or unilateral close on each backed-up channel. It does not resume routing on those channels, so plan to reopen fresh channels once the recovered funds settle.

Step 10: Set up monitoring and alerting

The 2026 disclosure pattern (an LND bugfix that only fully landed in one release branch, a CLN lockdown that gave operators two weeks to patch) makes clear that watching for security advisories is not optional. Subscribe to the release feeds for whichever implementation you run and check node health on a schedule.

#!/bin/bash
# quick health check script, run daily via cron
lncli getinfo | grep -E "synced_to_chain|synced_to_graph|version"
bitcoin-cli getblockchaininfo | grep verificationprogress
df -h ~/.lnd ~/.bitcoin

Watch the official LND releases page and the Core Lightning repository directly rather than relying on secondhand summaries, since patch nuances (like which branch actually contains a fix) matter as much as the headline version number.

Step 11: Keep your node patched

Upgrading LND or Core Lightning is routine, but do it deliberately. Stop the daemon cleanly, back up your channel state, then swap the binary.

lncli stop
cp ~/.lnd/data/chain/bitcoin/mainnet/channel.backup ~/backups/pre-upgrade-$(date +%F).backup
# download and verify the new release as in Step 3
sudo mv /usr/local/bin/lnd /usr/local/bin/lnd.old
sudo mv new-lnd-binary /usr/local/bin/lnd
lnd --configfile=~/.lnd/lnd.conf &
lncli getinfo

Confirm the reported version matches what you just installed and that synced_to_chain returns true before reopening the node to routing traffic.

Step 12: Test a payment end to end

Before trusting the node with meaningful funds, send a small payment through it in both directions.

lncli addinvoice --amt=1000
# on the paying side
lncli payinvoice INVOICE_STRING_FROM_ABOVE
lncli listpayments

If the payment settles and shows up in listpayments with a succeeded status, your channel and routing path are working end to end.

Expected output at each stage

A healthy lncli getinfo call on a fully synced node returns something close to this (abbreviated):

{
  "version": "0.21.2-beta",
  "identity_pubkey": "03a1b2...",
  "alias": "my-node",
  "num_active_channels": 1,
  "num_peers": 1,
  "block_height": 912345,
  "synced_to_chain": true,
  "synced_to_graph": true,
  "chains": [{"chain": "bitcoin", "network": "mainnet"}]
}

If synced_to_chain reads false, your node is still catching up to Bitcoin Core or Bitcoin Core itself is not fully synced. If num_peers is 0 after you attempted a connect, check your firewall and Tor configuration before assuming the peer is offline.

Common pitfalls

  • Starting LND before Bitcoin Core is fully synced. This produces confusing channel state errors that look like bugs but are really just a timing mistake. Wait for verificationprogress to reach 1.0 and let Bitcoin Core sit for a few extra minutes before pointing LND at it.
  • Mismatched RPC credentials between bitcoin.conf and lnd.conf. This is the single most common first-run failure, so double-check both files before filing a bug report, and avoid copy-pasting a password with trailing whitespace or quote characters.
  • Running an LND build below 0.21.x and assuming the cooperative-close fix applies. The August 2026 disclosure specifically warned that the fix did not reach the 0.20.x branch, so a changelog that mentions the issue does not guarantee your specific build received the patch.
  • Skipping signature verification on downloaded binaries. A compromised release is far more dangerous than a delayed upgrade, and verification takes two extra minutes with tools you likely already have installed.
  • Never backing up the channel state file. Without it, recovering funds after a hardware failure becomes far slower and can expose you to penalty transactions if a stale state gets broadcast by a counterparty.
  • Opening a channel to the single highest-capacity node without checking uptime. A large but unreliable peer routes worse than a smaller, consistently online one, and a channel to an offline peer earns nothing while still tying up your capital.
  • Ignoring maintainer security advisories because "the network still works." The Core Lightning lockdown affected node operators who had no visible problems until the disclosure landed. By the time symptoms appear, the safe window to patch quietly may have closed.
  • Reusing the wallet password across the node and other accounts. Treat the LND wallet password with the same care as an exchange password, and store it in a password manager rather than a plaintext note on the node itself.
  • Exposing the RPC or REST port directly to the internet. These interfaces can move funds, so bind them to localhost or a VPN and never forward the port on your router.
  • Treating the seed phrase and the wallet password as interchangeable. They protect different things. The seed phrase recovers on-chain funds after total loss of the node, while the password unlocks the running wallet day to day. Losing either one causes a different kind of failure.

Troubleshooting

  • LND won't start, error mentions RPC connection refused. Confirm bitcoind is running (bitcoin-cli getblockchaininfo) and that the rpcuser/rpcpassword pair matches exactly in both config files.
  • getinfo shows synced_to_chain: false for hours. Check bitcoin-cli getblockchaininfo for verificationprogress. If Bitcoin Core itself is still syncing, LND cannot get ahead of it.
  • Channel stuck in "pending open" for a long time. Check the funding transaction's confirmation count with lncli pendingchannels. It needs the configured number of confirmations (typically 3-6 depending on channel size) before it activates.
  • Peer connection fails with "connection refused." Verify the peer's advertised host and port are current. Nodes change addresses more often than you'd expect, so cross-check against 1ML or mempool.space.
  • Payments fail with "no route found." Your channel may lack sufficient outbound liquidity in that direction, or the amount exceeds a single channel's capacity. Try a smaller amount or open a second channel.
  • Node falls off the graph after a Tor restart. Onion addresses can change if Tor's hidden service keys are not persisted. Make sure the Tor data directory is on persistent storage, not a tmpfs mount.
  • Upgrade fails with a database migration error. Some LND releases include one-way schema migrations. Always read the release notes before upgrading and never downgrade after a migration has run, since reverting to an older binary afterward can corrupt channel state.
  • Disk fills up unexpectedly. Even a pruned Bitcoin Core node grows over time. Check your prune target and confirm LND's own logs and channel database are not being left unrotated, and set up a basic disk-usage alert well before you hit 90% capacity.

Security checklist before you go live

Run through this list before you open a channel with meaningful funds, and again after every upgrade.

  • Bitcoin Core and LND (or Core Lightning) binaries were downloaded from official sources and their signatures verified, not copied from a forum post or an old tutorial's mirror
  • LND is on 0.21.2-beta or newer, or Core Lightning is on the current signed post-lockdown release
  • The seed phrase is written down offline, in at least one location away from the node itself, and has never been typed into any device after initial setup
  • RPC and REST ports are bound to localhost or reachable only over a VPN, never forwarded on the router
  • Tor hidden service is active if the node needs to be reachable without exposing a home IP
  • Channel backups run on a schedule and are copied to storage separate from the node
  • A daily or weekly health check confirms sync status, peer count, and available disk space
  • You are subscribed to the implementation's official release feed, not a secondhand summary site

Advanced tips

Once the base setup is stable, a few refinements pay off. Enable watchtower support so a remote server can act on your behalf if your node goes offline and a counterparty tries to broadcast an old channel state. Consider running both an LND and a Core Lightning node on separate hardware if you want to reduce single-implementation risk, since a bug specific to one codebase will not take down both. Track emerging BOLT12 "offers" and channel splicing support in your chosen implementation. Both features are rolling out unevenly across LND and CLN through 2026 and will eventually simplify invoicing and liquidity management. Finally, if you plan to route payments for others rather than just spend and receive, study fee policy tools in RTL or ThunderHub before opening large channels, since fee mismanagement is a more common cause of stuck liquidity than any software bug.

Consider setting up a second, smaller node purely for testing upgrades before you apply them to your primary routing node. Point it at testnet or a low-value mainnet wallet, run the new release there first, confirm getinfo reports the expected version and a clean sync, and only then repeat the upgrade on the node holding real liquidity. This costs a bit of extra hardware but turns "did the upgrade break anything" into a question you can answer before it matters, rather than after a channel gets stuck.

It also helps to keep a simple written runbook, even a single text file, listing your current LND version, the peers you are connected to, your backup schedule, and the exact commands you used for each. Six months from now, when you are applying your fourth or fifth upgrade, that runbook will save you from re-deriving the same steps from memory under time pressure during a disclosure window.

The complete project, start to finish

Put together, the full workflow looks like this: install and sync Bitcoin Core pruned to roughly 50GB, install a signature-verified LND 0.21.2-beta or newer, connect the two over RPC and ZMQ, create a wallet and secure the seed phrase offline, fund the wallet and open a channel to a reputable, well-connected peer, wrap access in Tor, install RTL or ThunderHub for day-to-day management, automate channel backups to off-node storage, and set up a daily health check plus a subscription to the implementation's release feed. That is a complete, self-hosted Lightning node that reflects the lessons of 2026's patch history rather than repeating them.

From here, the honest next step is patience. A Lightning node gets more useful the longer it stays online, connected, and current, not the day you open your first channel. Give it a few weeks of small transactions before trusting it with anything you would be upset to lose, and treat every future disclosure the way you treated this setup: verify the source, apply the fix deliberately, and confirm the result before moving on.

Lightning network stats to watch

MetricMid-2026 readingSource
Public channel capacity~4,898-5,600 BTCSpark research / mempool.space
Public nodes~17,400-17,438Spark research / mempool.space
Public channels~40,986-41,080Spark research / mempool.space
Peak capacity (Dec 2025)5,637 BTCSpark research
2022 node count peak~20,700Spark research

Frequently asked questions

Do I need a full Bitcoin node to run Lightning?
Yes for LND and Core Lightning in their standard configurations, since both need a local or trusted bitcoind instance to validate on-chain transactions. A pruned node is sufficient and needs far less disk than a full archival node.

How much Bitcoin do I need to start?
There is no fixed minimum, but channels below a few hundred thousand sats often struggle to route meaningful payments once on-chain fees are factored in. Start with an amount you are comfortable locking up for weeks or months.

Is my Lightning node reachable to hackers if I run it at home?
Running LND behind Tor as a hidden service avoids publishing your home IP address. Keep the node's admin RPC port bound to localhost or a VPN, never exposed directly to the internet.

What happens if I lose my seed phrase?
Your on-chain wallet funds become unrecoverable. Channel funds may still be recoverable through a static channel backup file in some recovery scenarios, but the seed phrase itself has no substitute, so store it offline in more than one secure location.

Should I run LND or Core Lightning?
LND has the larger operator base and a clearer 2026 patch trail. Core Lightning is a fully capable alternative favored by operators who prefer its plugin architecture. Both require the same discipline around verified downloads and prompt patching.

Do I need to keep my node running 24/7?
For routing purposes, yes, frequent downtime hurts your reputation with peers and can risk force-closes if a counterparty broadcasts a stale state while you are offline. For a personal spend-and-receive node, occasional downtime is more tolerable but still not ideal.

Can I run a node on a Raspberry Pi?
Yes, a Raspberry Pi 4 or 5 with 8GB RAM and an external SSD (avoid microSD for the chain data) handles a pruned Bitcoin Core plus LND stack comfortably, and is the basis for popular distributions like Umbrel and Start9.

How do I know if my LND version is affected by the 2026 cooperative-close bug?
Check your version with lncli getinfo. Any build below 0.21.0 should be treated as unpatched for that specific issue and upgraded to 0.21.2-beta or newer.

Can I make money running a Lightning routing node?
Some operators earn modest routing fees, but income depends heavily on channel placement, liquidity balance, and fee policy, and is rarely enough on its own to offset hardware and bandwidth costs at small scale. Most home operators run a node primarily for custody and payment control rather than as a revenue source.

What is the difference between a cooperative close and a force-close?
A cooperative close happens when both channel parties are online and agree to settle on-chain together, which is cheaper and faster. A force-close (unilateral close) happens when one party broadcasts the latest state alone, typically because the peer is unreachable, and comes with a longer time-lock before funds are spendable again.