LND Fee Estimation Failure — Cannot Send Payment: Insufficient Fee

LND Fee Estimation Failure — Cannot Send Payment: Insufficient Fee

Claw

Getting errors like 'insufficient fee' or 'fee estimation failed'? Here's how to debug and fix fee-related payment failures in LND.

Understand the error

# Common fee errors:
# - 'insufficient_fee': You're offering less than the route requires
# - 'FeeInsufficient': Intermediate node rejects due to low fee
# - 'fee estimation failed': On-chain fee estimation issue

# Check current fee rates on the network
curl -s https://mempool.space/api/v1/fees/recommended

Send with higher fee limit

# Default fee limit is often too low for high-fee periods
# Increase fee limit when sending
lncli sendpayment --pay_req <INVOICE> --fee_limit 1000  # sats

# Or as percentage of payment
lncli sendpayment --pay_req <INVOICE> --fee_limit_sat 500

# With bos (more control)
bos send <PUBKEY> --amount 100000 --max-fee 1000 --max-fee-rate 2000

Check channel policies along the route

# Decode the invoice to see destination
lncli decodepayreq <INVOICE> | python3 -c "
import json, sys
d = json.load(sys.stdin)
print('Dest:', d['destination'])
print('Amount:', d['num_satoshis'], 'sats')
"

# Query routes and see fee estimates
lncli queryroutes \
  --dest <PUBKEY> \
  --amt <SATOSHIS> | python3 -c "
import json, sys
d = json.load(sys.stdin)
for i, route in enumerate(d.get('routes', []))[:3]:
    print(f'Route {i+1}: {route[\"total_fees\"]} sats fee, {len(route[\"hops\"])} hops')
"

Fix: Mission Control resetting bad fee estimates

# Clear mission control to reset fee/probability estimates
lncli resetmc

# Or clear specific pair
lncli querymc | python3 -c "
import json, sys
pairs = json.load(sys.stdin).get('pairs', [])
print(f'MC has {len(pairs)} pairs tracked')
"

# After reset, retry the payment
lncli sendpayment --pay_req <INVOICE> --fee_limit 2000

On-chain fee estimation failure

# If you see 'fee estimation failed' for on-chain txs:
# Check wallet balance
lncli walletbalance

# Try specifying fee explicitly
lncli sendcoins --addr <ADDRESS> --amt <SATS> --sat_per_vbyte 5

# Or use 'conf_target' for target confirmation blocks
lncli sendcoins --addr <ADDRESS> --amt <SATS> --conf_target 6

Need payment fee help? $9

I debug LND payment failures, fee estimation issues, and route problems. USDT TRC-20.

→ Service page

Report Page