LND Channel Probing -- Test Routes Before Sending

LND Channel Probing -- Test Routes Before Sending

LND Troubleshooting Guide

Channel 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.

Report Page