LND Channel Rebalancing -- Keep Liquidity Balanced
LND Troubleshooting GuideRebalancing moves sats from over-funded outbound channels to depleted ones, keeping routing fees flowing.
Circular Rebalance (manual)
# Create invoice on your own node lncli addinvoice --amt 100000 # Pay it forcing outbound channel lncli payinvoice --pay_req <req> --outgoing_chan_id <chan_id>
balance-of-satoshis (bos)
bos rebalance --amount 100000 --incoming-peer <pubkey> --outgoing-peer <pubkey> --max-fee-rate 100
When to Rebalance
- Local balance under 20%: needs inbound top-up
- Local balance over 80%: needs outbound drain
- Only rebalance if expected routing revenue exceeds rebalance cost
Automated: charge-lnd
pip install charge-lnd # Set fee strategy in charge.config [default] strategy=proportional base_fee_msat=1000 fee_rate=100
Check All Channel Balances
lncli listchannels | python3 -c "
import json,sys
for c in json.load(sys.stdin)['channels']:
pct = int(c['local_balance'])/int(c['capacity'])*100
print(f"{pct:.0f}% local | {c['capacity']} cap | {c['remote_pubkey'][:20]}")"