My Lightning Payment Failed With 'No Route' -- What Does That Mean?
First of all: sorry. This error is annoying.
And, even worse, it is not very specific. A Lightning wallet saying "No Route" can mean a LOT of different things.
It usually does not mean that Bitcoin is broken. It usually does not mean you did anything wrong. It usually means something much more boring:
Your wallet could not find a working path for this payment right now.
That's it. Helpful? Not really. But we can work with it.
Think of Lightning like a chain of people passing a note
A Lightning payment normally travels through several channels before it reaches the person or app you are paying.
For the payment to work, all of these things need to be true at the same time:
- Your wallet needs to be online and connected.
- The receiver needs to be reachable.
- The channels along the way need enough spendable sats in the right direction.
- The payment needs to fit within the rules of those channels.
- Any LSP involved needs to be able to do its job.
If any of those pieces fails, your wallet may shrug and say: no_route.
Very dramatic error message. Very undramatic meaning.
The most common reasons
Your wallet, node, or internet connection is having a bad day
Lightning is much pickier about connectivity than normal web browsing.
You can have internet that feels "fine" for loading websites, but is still unstable enough to make Lightning payments fail.
This is especially common if:
- Your node is running on a laptop that goes to sleep.
- Your phone wallet was closed in the background.
- Your home internet briefly dropped.
- Your Lightning node just restarted and is still catching up.
- Your first channel peer is offline.
If the sender or receiver is not properly online, a payment can fail with no_route even though everything looked fine five minutes ago.
There is not enough liquidity in the right place
This is probably the most common cause.
Lightning channels have two sides. Sats have to be on the correct side of the correct channels for a payment to move.
So a no_route error might mean:
- You do not have enough sendable balance.
- The receiver does not have enough room to receive.
- One of the channels in the middle does not have enough liquidity in the direction your payment needs to go.
This is one of the weird parts of Lightning: a path can look like it exists, but still not have enough usable balance to carry your payment.
The map says there is a road. The road just happens to be blocked.
The receiving node is offline
If you are paying a self-custodial Lightning wallet, that wallet may need to be online to receive.
This is especially true for mobile wallets, apps using LDK, and wallets that depend on an LSP opening or managing a channel.
If the receiver's node is offline, asleep, not connected to its LSP, or just having a rough minute, the sender may see no_route.
The fix may be as simple as: ask the receiver to open their wallet, wait a minute, and generate a fresh invoice.
An LSP tried to open a channel, but could not
This one is common and confusing.
Some wallets use a Lightning Service Provider (LSP) to help users receive payments. Instead of making the user manually open a channel, the LSP opens one for them.
This can happen ahead of time with LSPS1, or just-in-time with LSPS2.
From the user's perspective, this is great. Less fiddling. More receiving sats.
But if the LSP cannot open the channel, the payment may fail as no_route.
The LSP might fail to open the channel because:
- The receiving wallet is offline.
- The LSP is temporarily out of available liquidity.
- On-chain fees moved around.
- The channel request expired.
- The LSP could not connect to the client node.
- Some boring server-side thing went wrong.
To the person trying to pay, this often looks exactly like "No Route".
In plain English: the payment was trying to reach a channel that did not successfully come into existence.
You tried to send every single sat in the channel
This one feels unfair the first time you hit it.
Let's say you have 1,000 sats on your side of a Lightning channel, and you try to send exactly 1,000 sats.
You might expect that to work. After all, 1,000 sats is 1,000 sats, right?
But Lightning channels usually require a small amount to stay behind as a channel reserve. Think of it like a minimum balance that keeps the channel healthy.
So if you try to send the entire balance, your wallet may not actually have 1,000 spendable sats. It might have 900 spendable sats. Or 800. Or zero, depending on the channel.
The result can be another lovely no_route error.
Try sending a smaller amount and leaving some sats behind.
The invoice may need a refresh
Sometimes the invoice is the problem.
This can happen if:
- The invoice expired.
- The receiver made the invoice before their wallet was fully connected.
- The receiver uses private channels, but the invoice did not include useful route hints.
- A new channel was opened very recently and the network has not learned about it yet.
- The wallet app generated something that other wallets cannot route to cleanly.
The practical fix is boring but effective: ask for a new invoice and try again.
The fee limit is too low
Some wallets let you set a maximum routing fee.
If that fee limit is set too low, your wallet may reject every possible route because none of them are cheap enough.
Then it may report no_route, even though a route might exist if you allowed a slightly higher fee.
You do not need to go wild here. But if your wallet has a fee setting and it is set to "basically zero," try allowing a normal routing fee and sending again.
What should I try first?
Start with the simple stuff.
- Wait a minute and try again.
- Check that your wallet is online.
- If you are receiving, keep your wallet open while the sender pays.
- Ask the receiver for a fresh invoice.
- Try sending a smaller amount.
- If you are sending your whole balance, leave some sats behind.
- If your wallet has a fee limit, make sure it is not set absurdly low.
- If you run your own node, check that your channels are active and your peers are connected.
If this is a mobile wallet using an LSP, also give the wallet a moment to connect to its LSP. Sometimes the payment is failing because the wallet and LSP are still trying to get the channel situation sorted out.
What does it probably mean in my situation?
I am trying to receive into a mobile wallet
The receiver may be offline, the LSP may not have opened a channel yet, or the wallet may need to be opened and connected.
Open the wallet, wait a minute, create a fresh invoice, and try again.
I am trying to send my entire Lightning balance
You may be running into channel reserve rules.
Try sending less than the full amount.
I just opened a new channel
The channel may not be ready yet, or the rest of the network may not know how to use it.
Wait a bit and try again.
I run my own node and payments suddenly stopped working
Check whether your peers are connected and your channels are active.
If your node has been offline, restarted, or disconnected from important peers, your wallet may need time to learn the network again.
I am paying someone with private channels
Their invoice may need better route hints.
Ask them to generate a new invoice from their wallet while it is online.
The big picture
no_route is not one problem. It is a bucket of problems.
It can mean bad connectivity, not enough liquidity, an offline receiver, a failed LSP channel opening, a too-strict fee limit, an invoice issue, a new channel that is not ready, or a channel reserve that prevents you from sending every last sat.
Annoying? Yes.
Fatal? Usually no.
Most of the time, the fix is one of the classics: wait a minute, keep the wallet online, use a fresh invoice, try a smaller amount, or make sure the channel has real spendable liquidity.
Lightning is fast when all the pieces line up. When they do not, no_route is often the wallet's unhelpful way of saying: "I tried, but I could not find a path that works right now."