CLN Onion Message Errors - Fix BOLT12 Routing and Blinded Path Issues
What Are CLN Onion Messages?
Onion messages (BOLT 12) allow nodes to send encrypted messages over the Lightning network without payment. They power offers, invoice requests, and async payments.
Common Errors
- onion_message: no route found to destination
- fetchinvoice: timeout waiting for invoice reply
- offer not reachable: node does not support onion messages
- message_corrupted: invalid blinded path
Check Onion Message Support
# Check if CLN has onion messaging enabled
lightning-cli getinfo | python3 -c "
import json,sys
d=json.load(sys.stdin)
feats=d.get('our_features',{})
print('node_features:', feats.get('node','')[:60])
"
# Onion messages require: option_onion_messages (bit 39)
# Most peers on mainnet support it as of 2024Test Onion Message / Fetch Invoice
# Fetch invoice from a BOLT12 offer lightning-cli fetchinvoice <bolt12_offer> <amount_msat> # Example lightning-cli fetchinvoice lno1pg... 1000000 # If it times out, the destination node may be offline or # not reachable via onion message path
Fix: Blinded Path Issues
# If invoice has a blinded path and payment fails: # 1. Ensure your CLN is fully synced lightning-cli getinfo | grep blockheight # 2. Check if the offer is still valid lightning-cli decode <bolt12_offer> # 3. Try with a different amount (some offers have min/max)
Enable Experimental Onion Messages (older CLN)
# In lightningd config (pre-v23.08) experimental-onion-messages experimental-offers # From v23.08+ these are enabled by default
CLN onion message issues? DM on Nostr for help.