LND Channel Probing -- Test Routes Before Sending
LND Troubleshooting GuideChannel probing lets you test if a route is viable before sending real payments. It helps detect stuck channels and find reliable paths.
What is Probing?
Probing sends a fake payment (with an invalid preimage) to test if a route has enough liquidity. The payment fails at the destination by design, but reveals routing information.
Using lncli queryroutes
lncli queryroutes --dest <pubkey> --amt <sats>
This queries the local graph for a route without sending a payment.
Using bos Probe
bos probe <destination_pubkey> --amount <sats>
Check Specific Channel Liquidity
# Check if outbound liquidity exists on a specific channel bos balance --above 0 # Or use lncli listchannels lncli listchannels | grep -A5 <chan_id>
Interpreting Probe Results
- TEMPORARY_CHANNEL_FAILURE — route exists but insufficient liquidity
- UNKNOWN_NEXT_PEER — channel offline or peer disconnected
- FINAL_INCORRECT_CLTV_EXPIRY — route works (payment failed at destination as expected)
Common Use Cases
1. Verify channel is usable before large payment
2. Find which hop is causing payment failures
3. Monitor channel health over time
Automated Probing with charge-lnd
# Install pip install charge-lnd # Run probe charge-lnd --dry-run
charge-lnd can automate probing and fee adjustments based on channel balance.