• Stars
    star
    253
  • Rank 160,776 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lightning Pool: a non-custodial batched uniform clearing-price auction for Lightning Channel Leases (LCL). An LCL packages up inbound channel liquidity (ability to receive funds) as a fixed income asset with a maturity date expressed in blocks.

Lightning Pool

Lightning Pool is a non-custodial, peer-to-peer marketplace that allows node operators that need inbound liquidity to pay node operators with available capital to open channels in their direction while retaining full custody of their funds. Pool’s first product is a Lightning Channel Lease - an inbound channel with a pre-agreed duration.

Efficient capital allocation is one of the most widely felt pain points when using the Lightning Network. Existing node operators do not have access to pricing signals to help determine where in the network their outbound liquidity should be allocated, and new node operators have no way to signal that they need new inbound liquidity. Lightning Pool brings these two sides together into a single market while allowing them to maintain custody of their funds.

Checkout our documentation to learn more. For more technical details, check out the technical white paper.

How it works

Lightning Pool is a non-custodial auction for liquidity where bids are kept private and trades clear periodically. Key aspects of Pool include:

  • Periodic clearing - Market does not clear continuously, instead, it clears every block (or after multiple blocks, if there are no bids that match with existing asks).

  • Non-custodial - Clients maintain an on-chain account that is a timelocked, 2-of-2 multisig with the auctioneer. These funds are fully in the user’s control at all times.

  • Sealed-bid - All orders are submitted off-chain to the auctioneer, so bidders don’t have visibility into the bids of other participants

  • Uniform clearing price - All participants in a batch clear at the same price. If your ask is for 2% annualized interest, you will receive >=2%. If you bid 5%, you will pay <=5%.

  • Batched execution - Due to the account structure, the auctioneer is able to batch all completed orders into a single transaction, greatly reducing individual chain fees.

Installation

Download the latest binaries from the releases page.

LND

Note that Pool requires lnd to be built with all of its subservers and requires running at least v0.15.4. Download the latest official release binary or build lnd from source by following the installation instructions. If you choose to build lnd from source, use the following command to enable all the relevant subservers:

make install tags="signrpc walletrpc chainrpc invoicesrpc"

Usage

Read our quickstart guide to learn more about how to use Pool.

Marketplace Fee

Fees are calculated based on the amount of liquidity purchased. During the mainnet alpha, fees will range from 5-25 basis points of the matched amount.

Development

The Pool client is currently in early alpha and offers a simple command line application.

The Pool daemon exposes a gRPC API and REST API.

Troubleshooting

Join us on Slack and we'd be happy to help in any way we can. In the meantime please see our FAQs.

Build from source

If you’d prefer to compile from source code, you’ll need at least go 1.18 and make.

Run the following commands to download the code, compile and install Pool:

$ git clone https://github.com/lightninglabs/pool
$ cd pool
$ make install

This will install the binaries into your $GOPATH/bin directory.

Compatibility

Lightning Pool requires lnd version 0.15.4-beta or higher (v0.16.0-beta or later is recommended).

More Repositories

1

lightning-app

An easy-to-use cross-platform Lightning wallet
JavaScript
901
star
2

neutrino

Privacy-Preserving Bitcoin Light Client
Go
899
star
3

loop

Lightning Loop: A Non-Custodial Off/On Chain Bridge
Go
558
star
4

lightning-terminal

Lightning Terminal: Your Home for Lightning Liquidity
Go
499
star
5

taproot-assets

A layer 1 daemon, for the Taproot Assets Protocol specification, written in Go (golang)
Go
458
star
6

aperture

⚡️L402 (Lightning HTTP 402) Reverse Proxy ⚡️
Go
233
star
7

chantools

A loose collection of tools all somehow related to lnd and Lightning Network channels.
Go
219
star
8

lndmon

🔎lndmon: A drop-in monitoring solution for your lnd node using Prometheus+Grafana
Go
151
star
9

faraday

Lightning Channel Management & Optimization Tool
Go
130
star
10

LangChainBitcoin

AI tools for giving LangChain agents access to Bitcoin and the ability to traverse L402 APIs
Python
128
star
11

lightning-node-connect

Go
78
star
12

L402

lsat protocol specification
71
star
13

lightning-faucet

A faucet for the Lightning Network!
Go
71
star
14

lightning-coindesk

A tutorial news app exemplifying Lightning Network micropayments integration
Python
54
star
15

docs.lightning.engineering

Building lapps, running lnd, and more
Markdown
50
star
16

lndclient

Golang client library for lnd
Go
48
star
17

lnc-web

Lightning Node Connect npm module for web
TypeScript
48
star
18

lightning-api

JavaScript
35
star
19

falafel

Go tool to generate go APIs for gRPC services for use on mobile/WASM platforms.
Go
34
star
20

lndinit

cloud infra tooling for lnd provisioning/unlocking
Go
26
star
21

lightning-dev-site

Lightning Network Daemon Developer Site
CSS
25
star
22

builders-guide-sample-app

TypeScript
14
star
23

lightninglabs.github.io

CSS
13
star
24

pool-paper

Lightning Pool: A Non-Custodial Channel Lease Marketplace
TeX
11
star
25

chanleakcheck

A tool to check if your lnd node was targeted by CVE-2019-12999
Go
10
star
26

lnc-rn

Lightning Node Connect npm module for React Native
TypeScript
8
star
27

lnc-core

Type definitions and utilities for Lightning Node Connect, leveraged by lnc-web and lnc-rn
TypeScript
7
star
28

dust-tool

dust exposure tool
Go
6
star
29

lightning-api-ng

Automated API-documentation generation source code for Lightning Lab's FOSS software suite
Go
5
star
30

lnd-fuzz

Shell
3
star
31

gh-actions

Vendored GitHub Action scripts
TypeScript
3
star
32

aezeedcheck

A offline CLI that allows one to verify their aezeed mnemonic
Go
2
star