Pool

Understand the basics of Lightning Pool and how it can help you find and leverage your position in the Lightning Network

Launched in November 2020, Lightning Pool is a non-custodial marketplace for Lightning Network channel liquidity. It allows participants to earn interest for liquidity they provide or pay to acquire liquidity, all without giving up control of your funds.

Requirements

To participate, you need a Lightning node with at least one public channel, some outgoing capacity and on-chain bitcoin. You will need to run the pool daemon, either as a standalone binary or as part of litd.

To earn fees for providing outbound liquidity through Pool, your node must be ranked, meaning it must pass all six health checks in Lightning Terminal.

Install Pool

Install litd

Use cases

Lightning Pool can be used to either buy or sell liquidity on the Lightning Network, either for yourself or on behalf of others. Lightning Pool supports zero-confirmation channels that can be used without waiting for Blockchain confirmations.

Node operators can use Pool to:

  • Bootstrap a routing node through balanced channels

  • Acquire more inbound capacity instantly through zero-confirmation channels

  • Onboard a new user to Lightning with a mobile wallet through Sidecar channels

  • Earn fees for deploying funds to the Lightning Network completely non-custodially

Accounts

Funds in your pool account are held in a 2-of-2 multisignature account between your node and Pool. This account has an expiration time of 90 days, after which the account can be closed unilaterally by the account owner. While the account is active, it can be closed at any time cooperatively. At no point does Pool or Lightning Labs take possession or control over your funds.

Learn more: Pool Accounts

Markets

Pool offers various markets for both inbound and outbound liquidity. By having the option to become a bidder or asker for either inbound or outbound, Pool offers the most optimal price discovery for both inbound and outbound capacity.

Both inbound and outbound markets are divided into multiple time frames, allowing bidders and askers to express their desired preferences for varying channel durations.

Learn more: Pool markets

Auctions batches

All markets clear in batches, at most once per ten minutes. Each auction clears at a uniform price, meaning all your orders are matched with a price better than your initial ask or bid. Your bid can be set to public or remain sealed, meaning not known to the participants.

Each batch is executed in a single on-chain transaction to save its participants on fees.

Learn more: Pool auctions

Sidecar channels

Sidecar channels are channel lease bids on behalf of a third node, typically without its own pool account. They are a useful tool for Lightning Service providers to help bootstrap new nodes, for instance mobile wallets or merchants, who may not have their own Pool account, an existing channel or a UTXO.

Sidecar channels, like other channels, can be opened with a local and a remote balance, making it easier and faster to bootstrap a node with balanced channels, giving them the ability to both send and receive satoshis right from the start.

Learn more: Sidecar channels

Zero-confirmation channels

As all channels sold through Pool are co-signed by Pool from a 2-of-2 multisignature account, they cannot be maliciously double-spent by their initiator. This makes it safe for participants to accept such channels without waiting for on-chain confirmations, allowing channels to be deployed instantly.

This is particularly useful in situations where liquidity is urgently needed to receive or send funds over the Lightning Network.

Learn more: Zero-confirmation channels

Bundled with litd

Pool is included in the litd bundle and may already be installed and running on your node. To install litd, follow this guide.

Learn more: litd

L402s

Pool uses L402s to authenticate its users. L402s are Macaroons that include a proof of payment.

Learn more: L402s

Documentation

You can find the Pool API documentation here:

Pool API documentation

Last updated