Can someone help me understand why I can't send out sats on my CLN?

I have about 1,000,000 sats on my CLN node. This is spread across two channels, one with a 15K capacity that is reasonably balanced (via a successful Boltz.exchange swap back to my CLN on-chain address) and the remainder is in a second channel which only has outbound liquidity from when I set it up. I don’t understand why I’m not able to make ANY lightning payments to any LN invoice. I’ve tried to send some sats out to Phoenix and Strike and it fails. I’ve tried to create another Boltz atomic swap to rebalance my larger channel and send Bitcoin back on-chain to my CLN node’s Bitcoin wallet. It fails.

CLN logs show errors like the following below. Note: I’m a newbie and NOT a coder - can someone please explain to me what this all means and why it’s not working? Or better yet - is there an “explain it to me like I’m 5 years old” video that walks through all the complexities of CLN and RTL for people like me who are basically at step zero in Linux and command line interface?:

2025-05-03T09:19:10-06:00 2025-05-03T15:19:10.168Z INFO lightningd: Sending 500037500msat in onion to deliver 500000000msat
2025-05-03T09:19:43-06:00 2025-05-03T15:19:43.825Z INFO xxxxxxxxxxxxxxxxxxx-chan#2: htlc failed from 1th node with code 0x1007 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2025-05-03T09:19:43-06:00 2025-05-03T15:19:43.868Z INFO plugin-pay: cmd lnmessage:pay#67xxxxxxx4b/commando:pay#1247/cln:pay#1590 partid 6: HTLC result state=failed, sent=500037500msat, todeliver=500000000msat, code=204 (WIRE_TEMPORARY_CHANNEL_FAILURE)
2025-05-03T09:19:43-06:00 2025-05-03T15:19:43.869Z INFO plugin-pay: cmd lnmessage:pay#67xxxxxxxxxxx374b/commando:pay#1247/cln:pay#1590 partid 6: failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)

2025-05-03T09:19:43-06:00 2025-05-03T15:19:43.870Z INFO plugin-pay: cmd lnmessage:pay#67bxxxxxxxb/commando:pay#1247/cln:pay#1590 partid 6: Payment deadline expired, not retrying (partial-)payment fecef4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9dd79/6
2025-05-03T09:19:44-06:00 {“level”:“error”,“message”:“\tLightning error from pay command”,“timestamp”:“2025-05-03 15:19:44:1944”}
2025-05-03T09:19:44-06:00 {“level”:“error”,“message”:“\t{"code":210,"message":"Ran out of routes to try after 7 attempts: see paystatus","attempts":[{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":0,"amount_msat":500000000},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":1,"amount_msat":500000000,"parent_partid":0},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":2,"amount_msat":500000000,"parent_partid":1},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":3,"amount_msat":500000000,"parent_partid":2},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":4,"amount_msat":500000000,"parent_partid":3},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":5,"amount_msat":500000000,"parent_partid":4},{"status":"failed","failreason":"failed: WIRE_TEMPORARY_CHANNEL_FAILURE (reply from remote)","partid":6,"amount_msat":500000000,"parent_partid":5}]}”,“timestamp”:“2025-05-03 15:19:44:1944”}
2025-05-03T09:19:44-06:00 {“level”:“error”,“message”:“\tController caught lightning error from pay: {"message":"Ran out of routes to try after 7 attempts: see paystatus","error":"Ran out of routes to try after 7 attempts: see paystatus","statusCode":521,"name":"Core Lightning API Error"}”,“timestamp”:“2025-05-03 15:19:44:1944”}
2025-05-03T09:19:44-06:00 {“level”:“error”,“message”:“\tRan out of routes to try after 7 attempts: see paystatus”,“timestamp”:“2025-05-03 15:19:44:1944”}

You’re not necessarily doing anything wrong. The error you’re seeing is that CLN wasn’t able to find a route to where you wanted to pay. You’ll find if you wanted to pay your direct channel peers it would have worked, but paying a peer of a peer of a peer didn’t prove possible. Again this may not be your fault… it might be that your current channel peers don’t have liquidity, or haven’t been able to route themselves because of their channel peers. It might also be a failure in the CLN algorithm to route properly. In the opinion of some, it’s not as good as LND’s.

One thing you can do is try using Xpay…

Some have seen improvements in finding routes.