LND Circular Rebalancing - Fix Routes and Fee Optimization

LND Circular Rebalancing - Fix Routes and Fee Optimization


What Is LND Circular Rebalancing?

Circular rebalancing sends a payment that routes out one channel and back in through another, redistributing liquidity without closing channels.

Common Errors

  • no route found for circular rebalance
  • fee too high: rebalance cost exceeds benefit
  • payment timed out: circular payment loop took too long
  • TEMPORARY_CHANNEL_FAILURE on intermediate hop

Manual Circular Rebalance via lncli

# Create invoice to yourself
lncli addinvoice --amt 500000 --memo rebalance

# Pay it via specific outgoing channel
lncli payinvoice --outgoing_chan_id <chan_id> <bolt11>

# List channel IDs
lncli listchannels | python3 -c "
import json,sys
for c in json.load(sys.stdin)['channels']:
  print(c['chan_id'], c['remote_pubkey'][:20],
        'local:', c['local_balance'], 'remote:', c['remote_balance'])
"

Using bos (Balance of Satoshis)

# Install bos
npm i -g balanceofsatoshis

# Rebalance: move 500k sats out of chan A, in via chan B
bos rebalance --out <peer_pubkey_A> --in <peer_pubkey_B> --amount 500000

# Set max fee rate (ppm)
bos rebalance --out <pubkey_A> --in <pubkey_B> --amount 500000 --max-fee-rate 200

Fee Optimization

  • Keep rebalance fee below your channel's routing fee revenue
  • Target imbalanced channels: local > 80% or < 20%
  • Use --max-fee-rate 100-300 ppm to limit costs

Need help balancing your LND node channels? DM on Nostr.

Report Page