How to consolidate UTXOs to open LN channels
Simple methods to fix error "not enough funds to open channel"
🇪🇸 Español
OK, I saw some new node operators that are struggling sometimes with errors when is about to open new LN channels.
We have this scenario:
New node operator, some few knowledge about how to open channels with this new node, but not too much.
Is opening channels with some peers, but not using the whole balance from his onchain wallet. That means, every time is opening a channel, the change from initial UTXO is going to a new UTXO, a smaller amount, and sometimes even dust (dust is considered less than 524 sats) or so tiny amounts that can't be used to sign a witness tx.
So now let's say, this node is having 10 UTXOs, each one with less than 10k sats in it. That amount, for some sounds a lot, but for miners, blocks, segwit etc, is too small to be used for opening a LN channel. Read more about how opening channels works and in special about commit fees (link 1 and link 2).
When the node operator goes to open a new LN channel, will get now an error saying "not enough amount for witness signature" or "not enough confirmed". Yeah, the error messages are not so helpful for a noob. RTL and Thunderhub apps need to give more error details here. So the operator can't open a new channel even if he have enough funds and confirmed.
What to do?
Until all these apps will have implemented new methods and LN protocols will allow new forms of using these funds, I found a trick that worked for me.
OPTION A
In RTL (Ride The Lightning) app, go to "onchain" section
You will see a bunch of UTXOs listed.
Click on "generate address" button, copy that address
Go to next tab "Send", paste that address (is sending to yourself), put the whole amount from your balance, select fee 1-2 sat/vB and click "send" (or higher, depending on the mempool fees in that moment).
If it's saying an error that you do not have enough funds to send, adjust the amount minus the total fee in sats is required, adjusting sat by sat until it will let you go through, just to pay the less amount is possible.
Wait for 6 confirmations blocks. You can check the Txid in mempool.space or any other block explorer. Also you can see the progress of the new UTXO in RTL onchain wallet, displaying the confirmations.
Once you get the 6 confirmations, go to RTL - Lightning - Peers/channels and start the procedure to open a new channel. If the peer is new, go to peers first, add it and in the same screen you can open the new channel. In that screen, put first the minimum fee possible, then deduct the total amount of fee from your total balance available, that will be your amount to open a new channel. I recommend to use all amount from an UTXO.
Adjust the total amount accordingly if it gives you error that you do not have enough funds, lowering the opening amount, little by little until you get through. But try to not let any sats remaining in a new UTXO.
There's a bug or wrong displaying in RTL and Thunderhub apps. The total amount of fee displayed is not the same that is taken in the opening process! That's why sometimes is saying that is taking 250 sats fee, but in the end when the tx is done, in block explorer is showing a much higher fee. Devs of these apps should fix this, is confusing and annoying.
OPTION B
In Thunderhub app, home page click on "SEND" onchain wallet
Paste the onchain address generated from your Umbrel dashboard - Bitcoin deposit
Select "Send All" - much easier way to empty all UTXOs
Select Fee sats/vB and put 1 sat (or the lower possible) if is not urgent
Click send and wait 6 confirmations.
Done, now you can use the new UTXO to open a new channel.
OPTION C
Take your LND AEZEED seed (Umbrel nodes are using that) and open Bluewallet app on your mobile (or desktop for MacOS) - create wallet - import. Put your 24 words seed there and click import. Wait until is imported. Then wait a bit more longer to sync the txs list. Takes a bit of time. Be patient.
Same works also with Zap desktop wallet app
Once is imported correctly and you can see the balance and txs, go back to Umbrel dashboard - Bitcoin and click on "deposit" button. It will generate a new BTC address, copy it/send it/scan it with your Bluewallet AEZEED wallet, but do not click send, yet!
In the screen of constructing the sending tx, on top right you have 3 dots. Open that menu and select "coin control" from the drawer that just open on the bottom of the screen.
Select the "coins" (UTXOs) you want to use in this new tx, selecting those with small amounts, that will be moved to a single UTXO with a bigger amount. Is like converting 1 cent coins into a 1 USD coin. Click "use coin" for those you want to be in the tx. Then go back to the screen to pay. Be sure you put the right BTC address from your Umbrel as destination! Check it twice!
Below the field where you can put a note, there's a small green label about "fee", click it and will pop-up a screen with selecting the fee you want. Select the lowest one, is not rush to send to yourself. You can adjust also with "custom".
So now just click "send" in the tx screen and wait 6 confirmations. Once are done, go back to your RTL or Thunderhub and open the new channel with the whole amount from that UTXO, described in the previous point OPTION A.
MAY THE ₿ITCOIN BE WITH YOU!
If you appreciate DarthCoin work, you can send some satoshis through LN:
or using Lightning Address to darthcoin@getalby.com or darthcoin@stacker.news or darthcoin@ln.tips or darthcoin.blink.sv
If you do not want to subscribe on substack, all DarthCoin Bitcoin guides are also announced on this dedicated Telegram Channel, for easy search and keep track.
To subscribe on substack, click here: