WARNING: Do not do this with unknown random people on internet!
This method is also known as Ghetto Swap
Ok, we have a use case scenario like this:
- a bunch of friends/ known peers in a ring group, with BTC/LN nodes ready synced and with funds in onchain node wallet.
- we want to have routing ring of nodes, with balanced channels and ready to send and receive LN txs and routing others txs.
SCENARIO A: Pushing tokens to peer and pay later back
- Establish the amount of the channel, usually is better to start with 1M or 2M sats.
- Establish how will be transferred half of the amount of the channel to the other peer, onchain or LN. Each one preference is related with what will want to do with the funds after that (opening another channel - onchain, or just re-using them for payments - LN).
- One of the peers will use Thunderhub app to open a 2M sats channel, for example. If you use as node software Umbrel/myNode/RaspiBlitz, you can find Thunderhub in your AppStore of the bundle. TH is a powerful app to manage your node.
- Go to main TH page - quick action buttons - Open. It will open a small action box with another Open button.
- Being a new peer, just paste in the box the nodeID of the peer
- Put the amount in sats, 2 000 000 in channel size
- In fee amount put a lower fee, based on the mempool, like 2-3-4-5 sat/vByte
- In advanced tab (you will need to click it to open the dialog), leave “public channel” and select “push tokens to partner” as “half”.
- Click “Open channel” and done, wait that the tx will be fully confirmed (3 confirmations)
As an open channel initiator you role is done. Now give to the other peer your BTC address onchain or LN invoice where to send your half amount of sats you pushed on his side, making them “his” sats.
The other peer will just pay you the invoice and done.
SCENARIO B: Open channel and balance it with keysend
- Follow the same steps from “Scenario A” except the point where you push tokens in the opening procedure. Let’s say you want first to receive those half sats in your wallet before you push the tokens to the other side.
- So you will have a channel of 2M sats with all liquidity on your side.
- After you receive the sats from the other peer, half of the channel amount, you go to the main page in Thunderhub - Accounts - Lightning and click on Send. Then select “Is keysend”.
- Paste the nodeID/Public key of the other peer, click decode. Will appear another window with the name of the node (if is set). Put the amount of sats, in this case 1M sats (1 000 000) and click send. This operation will push 1M sats directly to your peer, with no invoice, no fees, directly through your common channel already opened and confirmed.
Done! Now you will have a balanced channel with your peer.
If you want a more detailed explanation video how to use Thunderhub in a node, here is a great video tutorial by BTC Sessions
Another aspect that should be taken in consideration is the size of the channel you open and the commit fee.
A small channel like 20k-50k-100k will be heavily affected by “commit fee”. That means in time, if the miner fees goes high up, also the commit fee will “deduct” from your channel balance.
More to read about this situation here: