lightning-kmp is a Kotlin Multiplatform implementation of the Lightning Network (see the Lightning Network Specifications (BOLTs)) optimized for mobile wallets. It can run on many platforms, including mobile devices (iOS and Android).
It is different from eclair which is an implementation optimized for servers (routing nodes). It shares a lot of architecture choices with eclair though, which comes from years of experience developing one of the main lightning implementations. But it optimizes completely different scenarios, as wallets will not relay payments but rather send and receive them. Read this article for more details.
lightning-kmp is used in Phoenix, the best non-custodial Lightning Wallet!
See instructions here to build and test the library.
See instructions here to recover on-chain funds.
We use GitHub for bug tracking. Search the existing issues for your bug and create a new one if needed.
Contribute to the project by submitting pull requests. Review is done by members of the ACINQ team. Please read the guidelines here.
- [1] The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments by Joseph Poon and Thaddeus Dryja
- [2] Reaching The Ground With Lightning by Rusty Russell
- [3] When Phoenix on iOS? - A blog post detailing why we created this library