How to consolidate UTXOs to open LN channels

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 mobile app (or desktop 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.
5 Likes

Thank you for this detailed list of options.

I tried to send back to my on-chain wallet as you suggested through both RTL and ThunderHub. Transactions both confirmed 6x and I had 1 large UTXO each time but I still am unable to open a new channel using this balance. It continually says “reserved wallet balance invalidated”. (It is also annoying that RTL charges an exorbitant fee even when requesting 1 sat/vb. )

Is this a bug within the umbrel apps? I don’t see why I would be unable to open a channel with these funds after taking these steps.

Yes, this is related with the new implementation in LND code of anchor output reserves.
I am in the same situation like you and the situation is really frustrating.
I already posted an issue on LND github and we are waiting for next version to fix it.

I suggest to wait for the new release.

Excellent, thank you again!

Nice, first time ran into self-inflicted dust (887 sats)… after like 20-to-1 utxo consolidation
As long as you label it with Sparrow wallet as “MY DUST” you should remember in 10 years that you are not being dust-attacked chilllll :rofl:

DarthCoin giving out free reassurances as always :fist: solid pleb

Can’t I just use sweep all in Ride The Lightning to send to the newly generated adress?