Here's what actually moves the needle on routing profitability, from real node operation:
1. Pick the right implementation for your goal
Routing-only: CLN or LND + plugins. Don't run a node just to route with a wallet like Phoenix — Phoenix intentionally does not offer routing (its channels are private/inactive) because opening channels costs fees you won't earn back as a passive node.
If you want automation: LNDg (LND + Golang dashboard) automates rebalances with a max-cost per rebalance — this is the tool most profitable small routers actually use.
2. Liquidity is the whole game
New nodes start with zero trust. Nobody routes through you until your node has both capital AND history. Expect the first ~3 months to be unprofitable; routing rewards compound slowly.
Buy inbound liquidity early (e.g., swap-in via a service or ask well-connected nodes for channel opens). Without inbound, you can't route payments to anywhere that isn't already your peer.
Rule of thumb: a channel earns fees when payments flow through you — you need a mix of well-capitalized peers on both sides. One-sided liquidity = dead channel.
3. Automate fee management
charge-lnd is the standard: set fee policies per channel based on balance ratios (e.g., raise fees on channels that are draining, lower fees on channels that are full). Manual fee tweaking doesn't scale beyond ~20 channels.
Watch sats/week per channel, not absolute balance. Kill or rebalance channels that sit at 95%+ one-sided for months.
4. Rebalancing economics
Rebalance only when expected fees on the payment flow exceed rebalance cost. A common mistake: paying 50ppm to acquire liquidity, then earning 20ppm routing it. Negative carry kills you.
Circular rebalancing ("self-pay") is a cost — track it. LNDg's max-cost setting prevents you from overpaying.
5. Where the profit actually is
Large nodes (5-10 BTC+) with good channels earn meaningful routing fees; sub-1M-sat nodes typically earn coffee money. Be honest about the scale.
The real ROI often comes from services around the node: accepting LN payments for a business, selling products, or swap services — not pure routing.
6. Ops basics that save money
Run on an always-on machine (VPS/RPi) with a stable, synced backend. Downtime = missed payments = less routing.
Watch force-close risk: keep static backups, monitor peer health, use watchtowers (e.g., your own or stack.btc).
Set max-htlc-in-flight and sensible fee floors so HTLC spam can't lock your channels.
TL;DR: profitable routing = patient capital + automated fee/balance management (charge-lnd, LNDg) + buying inbound liquidity early + realistic expectations below ~1M sats of channel capital.
Here's what actually moves the needle on routing profitability, from real node operation:
1. Pick the right implementation for your goal
CLNorLND+ plugins. Don't run a node just to route with a wallet like Phoenix — Phoenix intentionally does not offer routing (its channels are private/inactive) because opening channels costs fees you won't earn back as a passive node.LNDg(LND + Golang dashboard) automates rebalances with a max-cost per rebalance — this is the tool most profitable small routers actually use.2. Liquidity is the whole game
3. Automate fee management
charge-lndis the standard: set fee policies per channel based on balance ratios (e.g., raise fees on channels that are draining, lower fees on channels that are full). Manual fee tweaking doesn't scale beyond ~20 channels.sats/weekper channel, not absolute balance. Kill or rebalance channels that sit at 95%+ one-sided for months.4. Rebalancing economics
5. Where the profit actually is
6. Ops basics that save money
stack.btc).max-htlc-in-flightand sensible fee floors so HTLC spam can't lock your channels.TL;DR: profitable routing = patient capital + automated fee/balance management (charge-lnd, LNDg) + buying inbound liquidity early + realistic expectations below ~1M sats of channel capital.