LND Circular Rebalancing - Fix No Route and Fee Errors

LND Circular Rebalancing - Fix No Route and Fee Errors


What Is LND Circular Rebalancing?

Circular rebalancing moves liquidity from outbound-heavy channels to inbound-heavy ones by routing a payment back to yourself through multiple hops. It costs routing fees but restores channel balance.

Common Errors

  • no route found: insufficient balance along route
  • payment failed: TEMPORARY_CHANNEL_FAILURE
  • circular payment rejected by node policy
  • fee too high: rebalance cost exceeds threshold

Manual Circular Rebalance

# Step 1: Create invoice on your own node
lncli addinvoice --amt 100000 --memo rebalance

# Step 2: Pay it via specific outbound channel
lncli payinvoice --outgoing_chan_id <chan_id> <payment_request>

# Step 3: Verify balances after
lncli listchannels | python3 -c "
import json,sys
for c in json.load(sys.stdin)['channels']:
    ratio = int(c['local_balance'])/(int(c['capacity'])+1)
    print(f"{c['chan_id']}: {ratio:.0%} local")"

Using bos (Balance of Satoshis)

# Install bos
npm install -g balanceofsatoshis

# Rebalance: push 100k sats from chan A to chan B
bos rebalance \
  --out <outbound_peer_pubkey> \
  --in <inbound_peer_pubkey> \
  --amount 100000 \
  --max-fee 500

# Find best rebalance paths
bos rebalance --list-candidates

Reduce Rebalancing Cost

  • Lower --max-fee and let bos find cheap paths
  • Use charge-lnd to auto-adjust fees and reduce manual rebalancing
  • Only rebalance channels with >80% or <20% local balance
  • Time rebalances during low-fee periods (weekends)

Node management getting complex? DM on Nostr for a custom automation setup.

Report Page