Skip to the content.
| Español ES |

Various methods using Lightning Network to add more privacy to your bitcoin

Originaly posted on Substack on October 01, 2021. Updated here on October 13, 2024

It is improper saying "cleaning machine" but for a simple understanding let's use this wrong term. There's no such thing as "dirty sats", all are equal valid and nobody can stop you to use them. But this process of "cleaning" is more for users that are obsessed with privacy using BTC.

It is about how to lose trace of your sats obtained from KYC sources and you want to use them in a more private manner.

If you are buying/obtaining BTC and never have in mind to sell them back for goat shit fiat, and just use them as money, I don't see any problem in using sometimes KYC sources.

Yes, KYC is a really bad habit for exchanges and should be avoided as much is possible, but not from the POV of "hey, the gov will know how much BTC I have and I do not want to pay taxes for it". I have news for you: the govs have no idea about your BTC stash and they are interested only in those who are selling back their BTC for fiat.

Even if you buy from a full verified account with your identity, you can always say "ups, I lost them". Also there's another "approach", if a gov come to you and ask about your BTC, you can always say "fuck off, it is not your damn business what am I doing with my own money". But that is another story and we can talk about it in another guide about full individual sovereignty and how to deal with gov agents.

There are some users focused only in buying BTC and HODL, passing through CoinJoin or mixing apps. Bitcoin already evolved in something else, is time for you guys to start using your BTC as money and in the same time "cleaning" those sats. And Lightning Network (LN) is one of the easiest and simple way, that also contribute to a growing usage of Bitcoin by more merchants and users.

So, for the peace of mind of those afraid of gov tracking, in this mini guide, I will try to give you some hints about how to use LN in your "cleaning" process and what apps you can use. Maybe is not the perfect "cleaning machine" but definitely help in many ways.

Will not enter into deep analysis and explaining too much the process, but you will have enough information to start learning and create your own "procedure" if you like. I am giving you the tools, how you use them, is your own way. Test, learn, improve and make it better for your own peace of mind.

NOTE: I don't give a shit if this mini-guide is read by a gov agent. FUCK OFF! You have NO JURISDICTION over me and my own money, as a living man and I am not afraid of any gov apparatus because I am above them, they are only SERVANTS.

Talks about privacy on Lightning Network:

Applications you can use:

(use many as you can, each one have its own features pro/contra)

IMPORTANT RULE

Always keep in mind this important rule of stacking sats on 3 levels:

I’ve explained in more details this method in this guide.

PROCEDURES

The main idea is to have a decoy node in front of all your payments (send and receive). As I explained also in this guide “How to operate with LN as a merchant” (where you want to protect more when you receive payments over LN).

Lightning Network can add a lot of decoys if you learn how to use it properly. Why? Because a LN payment (HTLC) is using onion routing, explained very nicely here by Rene Pickhardt.

1 - PREPARE THE PUBLIC LN NODE

This one will be your frontend LSP. If you do not want to have this node liquidity dedicated to routing, you can skip it and use any other public LSP. Sometimes is even better because you can buy channels from them, without using any of your UTXO.

In this guide I described more about how to run a public LN node, liquidity to be used, peers to look to connect etc. so I will not enter into more details here. Please read that guide if you want to run a public LN node and if you want to expand your liquidity services for family and friends, read also this one.

2 - PREPARE THE PRIVATE LN NODE

You can use a desktop machine, with any of the node software suites. But I will recommend also to use in parallel mobile nodes like Zeus or Blixt. Zeus and Blixt are using a LND node in neutrino mode. That means it doesn’t need to run a full bitcoin node and is providing very good privacy for online part. You can also use a LND + neutrino on a desktop machine, with LNbits or Alby Hub or Thunderhub as node web UI and open private channels.

Also you can use the new Alby Hub as a private node interface, as I explained in this guide, where you can use a desktop machine with a private LN node backend, using various LN funding sources.

Another option is to use LNbits too as a frontend for a private LN node. It has built-in node management features, LNDHUB accounts management and many other useful extensions. Here is a guide “Getting started with LNbits”.

These private LN nodes, you will connect to any other public routing node or LSP, using “private channels”. That means are not visible on the public LN graph, are known only by your direct LN peers and they will forward your payments to the destination. Also some of them could offer “wrapped invoices”, hiding your private LN nodeID, when is about to receive.

More about private LN nodes, I wrote here, in this guide.

3 - Connect some wallet apps to your node

Make tests for sending/receiving txs, open channels, buy channels, close channels to be sure all works OK and you are comfortable with using those apps, know how to use them and when to use a specific app.

Your lack of understanding of how LN works today, will cost you a fortune tomorrow. Start learning now.

I wrote several guides about wallets and how to use them, please read more here.

4 - Open channels with/to your private nodes/apps

5 - Start your "cleaning" process

6 - Example of moving funds

Using Electrum desktop, open a private channel (is always private) towards your node or any other LSP, of let's say 2M sats. Set the channel fees to zero (use RTL or Thunderhub in your node).

Option A

Using another swap LN mobile wallet (Phoenix, CoinOS, Walletano, Blink, WoS), create a LN invoice. Pay that invoice from your Electrum. Funds will be routed from your private channel, through your node and some other hops (you can set that too) and arrive into your "external" LN wallet (using Tor and connected with your Electrum Server of your node). Make a swap of partial funds (never use the total amount from balance) into an onchain address, as you wish. Phoenix and Blink have this option to send from LN into onchain (external address) making the swap on the fly.

Option B

If your Electrum channel is almost empty you can use the reverse way, create the invoice on your Electrum and pay it with your node wallet directly. Once you have them in Electrum you can make also swaps LN -->onchain, using the built in feature in Electrum app.

Option C

Using a LN neutrino node (Zeus, Breez, Blixt, AlbyHub etc). Create a LN invoice from the side where you want to receive the funds and be able to make the swap into onchain and pay with the side where you have more funds available. Here is a dedicated guide.

Option D

Using the same LN node, making swaps, from specific channels into onchain new address (can be external or internal of node). This swap will have a cost.

Using Boltz or SwapMarket or ZigZag or Fixedfloat LN exchanges for swaps into/from onchain. This option also have an extra cost. Withdraw BTC you buy on an exchange, then create a swap for the amount you bought, withdraw from the exchange to the swap address, then you get your funds off-chain without all of the overhead of getting a UTXO, straight to your LN wallets/node. And swaps like this don't even require trust.

Use a decoy wallet, for example Blink, CoinOS, Walletano, Lifpay, WoS or any other that do not require an invasive KYC verification and can be disposable. Many of these have already swap services (onchain ←→LN) included, so will be easier for you to receive from LN and swap to your other onchain wallets for holding. or vice-versa if you need more funds into your existing LN channels.

From these decoy wallets, move then the funds into any other wallets you have, even over LN. These decoy wallets will keep your funds as a temporary buffer, are NOT for long term holding!

Option E

ONLY WITH KNOWN PEERS! Open private or public channels with known/trusted peers and push back funds using the Thunderhub app feature for keysend. See here a dedicated guide for this procedure. So practically you open a channel, let' say of 5M sats with a trusted peer. You push 3M sats on his side (you are giving him 3M sats) and your peer will send you those 3M sats onchain from another wallet to one of your onchain BTC addresses as you wish.

Option F

Batching txs with Sparrow or Electrum as being coinjoin. This is a tx made with Sparrow and this is how it looks into a block explorer:

General recommendations: