Download poold

Download the standalone binaries

The latest official release binaries can be downloaded from the GitHub releases page.

Download Lightning Terminal (LiT)

To run poold integrated into the Lightning Terminal, download the latest release of LiT and follow the installation instructions of LiT

Prepare lnd

Pool needs to be connected to an lnd node running somewhere. We assume here that the lnd node is running and set up in a way that Pool can connect to it. Consult the installation guide for more information on how to set up and configure lnd.

The lnd node must have at least one active channel and must be able to pay a 1000 satoshi LSAT fee. See the FAQ for more information on this fee.

Run poold

If lnd is configured with the default values and is running on the same machine, poold will be able to connect to it automatically and can be started by simply running:

$ poold

If you're using Lightning Terminal then you can just run litd instead:

$ litd

Create an account

Creating an account has two parameters: the size of the account, and the expiry of an account. The funds for the account will be pulled from your lnd wallet. Create an account by running the following command:

$ pool accounts new --amt=50000000 --expiry_height=1773394 --conf_target=6

Once at least 3 blocks have passed (in the alpha), the account will be confirmed and ready for use:

Run the following command to view account details:

$ pool accounts list

Submit an order

There are two types of orders in the current version of Pool: asks, and bids. You submit an ask when you have some coins that you want to lease out as inbound liquidity for a certain period of time (expressed in blocks), at a fixed rate compounded per block. You submit a bid when you need to acquire inbound liquidity (ability to receive), for a given amount of time (again expressed in blocks), paying out a fixed rate that compounds per-block.

To submit a bid:

$ pool orders submit bid

Be sure to add the following flags:




The interest rate that should be earned over the total lease duration.


The amount of liquidity to offer in satoshis. Must be a multiple of the base unit (100k sat).


The account's trader key to use to pay for the offered liquidity, the order submission fee and chain fees.

We can then check out the order we just placed with the following command:

$ pool orders list

Matched Orders

Once an order has been matched in an auction, the pool auction leases command can be used to examine your current set of purchased/sold channel leases. An example output looks something like the following:

$ pool auction leases
        "leases": [
                        "channel_point": "78cc6879c1dc1c00f22b29a06458f1335ed0fdb7d05c01b9077e3155e697bbb9:2",
                        "channel_amt_sat": 5000000,
                        "channel_duration_blocks": 144,
                        "premium_sat": 40000,
                        "execution_fee_sat": 5001,
                        "chain_fee_sat": 165,
                        "order_nonce": "eb972cd21cf1651e251c8b07d69e89c47294bae104fbdc9da26edf9aee335c9a",
                        "purchased": false
        "total_amt_earned_sat": 40000,
        "total_amt_paid_sat": 5166

Here we can see that a channel sold for 40k satoshis, and ended up paying 5k satoshis in chain and execution fees, netting a cool 35k satoshi yield. Within the actual auction, these numbers will vary based on the chain fee rate, the market prices, and also the execution fees. Users can constraint how much chain fees they'll pay by setting the --max_batch_fee_rate argument when submitting orders.

Last updated