LND Circular Rebalancing - Fix Routes, Fees, and Liquidity
What Is LND Circular Rebalancing?
Circular rebalancing sends a payment from your node, through the network, back to yourself — moving liquidity from an outbound-heavy channel to an inbound-heavy one without closing channels.
Common Errors
- no route found for rebalance
- fee too high: rebalance not economical
- payment timeout: circular route took too long
- insufficient local balance to initiate rebalance
Manual Circular Rebalance
# Step 1: Create invoice on your own node lncli addinvoice --amt 100000 # Step 2: Find a circular route lncli queryroutes --dest <your_pubkey> --amt 100000 \ --outgoing_chan_id <outbound_channel> # Step 3: Send along the route lncli sendtoroute --payment_hash <hash> \ --routes <route_json>
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_chan_id_or_peer_pubkey> \ --in <inbound_chan_id_or_peer_pubkey> \ --amount 100000 \ --max-fee 1000
Using charge-lnd for Auto-Rebalancing
# charge-lnd adjusts fees to incentivize natural rebalancing # Install pip install charge-lnd # Config example [mynode] strategy = proportional min_fee_ppm = 10 max_fee_ppm = 500
Tips
- Keep rebalance fees below your routing revenue margin
- Target channels with > 90% local or > 90% remote balance
- Use --max-fee to avoid overpaying on bos rebalance
- Schedule during low-fee periods (weekends, off-peak hours)
Need help setting up auto-rebalancing? DM on Nostr.