Skip to content

Instantly share code, notes, and snippets.

Last active January 3, 2023 07:28
Show Gist options
  • Save bretton/1abf756eb1ef193aa632d19a1a8d3c79 to your computer and use it in GitHub Desktop.
Save bretton/1abf756eb1ef193aa632d19a1a8d3c79 to your computer and use it in GitHub Desktop.
Self-Determination and Routing Capacity

Self-Determination and Routing Capacity

This has been observed in the wild. I'm not the originator, just documenting what I've seen.

Fund a node

You need a bitcoin and lightning network node.

You need to fund it with Bitcoin.

Open genesis channel

Open a channel to any peer, large enough to purchase incoming liquidity from a provider.

Purchase incoming liquidity

Purchase incoming capacity of whatever size you can afford to match again in a later step.

For arguments sake you purchase a 2m sat channel. You can now receive 2m sats from the network.

Find an anchor peer

Find a reliable node you want multiple channels to.

Open a channel to anchor peer

Open the first channel to your anchor peer. Lets say 2m sats.

Send most of the sats to yourself

Send to yourself 98% of the capacity of this channel using a balancing tool.

Sats go out via anchor peer channel, and come back via the purchased incoming channel.

The purchased incoming channel is now mostly an outgoing channel with local capacity.

Your anchor peer outgoing channel is now an incoming channel with capacity on the far side.

Open another channel to anchor peer

Open a fresh channel to your anchor peer. For arguments sake, another 2m sat channel.

For your anchor peer, you have ~2m in, and ~2m out.

You still have outgoing capacity on purchased channel, and can purchase more incoming capacity to repeat for new anchor peers.

Anchor peers have 2 channels

Your node has two channels to anchor peers. It's the same functionality as two parties each opening a channel to the other directly, with matching tx fees, except you don't need to involve anyone else.


You will pay a transaction fee when opening channels.

You will pay a fee to a provider for incoming liquidity.

You will pay a fee to your anchor peer (possibly other nodes too) for sending sats to yourself.


I don't know. It's been observed and the best explanation is a self-determined node growing capacity without human interaction.

Copy link

bretton commented Jan 3, 2023

There is a simpler explanation. Open channel to node. Send sats through it. Close channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment