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 sends a payment from your node, through external routes, back to yourself — shifting liquidity from outbound-heavy channels to inbound-heavy ones without closing channels.

Common Errors

  • no route found for circular payment
  • insufficient local balance to initiate rebalance
  • payment loop detected: same channel appears twice in route
  • rebalance fee exceeds maximum allowed

Manual Circular Rebalance via lncli

# Find a route from outbound channel to inbound channel
# Get channel IDs
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']} bal:{ratio:.0%} {c['remote_pubkey'][:16]}")
"

# Send circular payment (requires known route)
lncli sendpayment --dest <your_node_pubkey> \
  --amt 100000 \
  --last_hop <inbound_channel_peer_pubkey> \
  --outgoing_chan_id <outbound_chan_id> \
  --max_fee_percent 0.5

Using bos (Balance of Satoshis) for Rebalancing

# Install bos
npm install -g balanceofsatoshis

# Rebalance: move 500k sats from outbound to inbound channel
bos rebalance \
  --out <outbound_peer_pubkey> \
  --in <inbound_peer_pubkey> \
  --amount 500000 \
  --max-fee-rate 500

# Dry run to check fees first
bos rebalance --out <pub> --in <pub> --amount 500000 --dryrun

Fix: No Route Found

  • Reduce rebalance amount (try 100k instead of 1M sats)
  • Increase max fee (--max-fee-rate 1000)
  • Try different peer combinations
  • Check channel is active: lncli listchannels | grep active

Stuck with unbalanced channels? DM on Nostr for a rebalancing strategy.

Report Page