Skip to content

breez/breez-sdk-liquid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Breez SDK - Liquid

Overview

The Breez SDK provides developers with a end-to-end solution for integrating self-custodial Lightning payments into their apps and services. It eliminates the need for third-parties, simplifies the complexities of Bitcoin and Lightning, and enables seamless onboarding for billions of users to the future of peer-to-peer payments.

To provide the best experience for their end-users, developers can choose between the following implementations:

The Breez SDK is free for developers.

What Is the Liquid Implementation?

The Liquid implementation is a nodeless Lightning integration. It offers a self-custodial, end-to-end solution for integrating Lightning payments, utilizing the Liquid Network with on-chain interoperability and third-party fiat on-ramps.

Core Functions

  • Sending payments via protocols such as: bolt11, lnurl-pay, lightning address, btc address.
  • Receiving payments via protocols such as: bolt11, lnurl-withdraw, btc address.
  • Interacting with a wallet e.g. balance, max allow to pay, max allow to receive, on-chain balance.

Key Features

  • On-chain interoperability
  • LNURL functionality
  • Multi-app support
  • Multi-device support
  • Real-time state backup
  • Keys are only held by users
  • Fiat on-ramps
  • Open-source

Getting Started

Head over to the Breez SDK - Liquid documentation to start implementing Lightning in your app.

API

API documentation is here.

Command Line

The Breez SDK - Liquid cli is a command line client that allows you to interact with and test the functionality of the SDK.

Support

Have a question for the team? Join our Telegram channel or email us at [email protected]

How Does the Liquid Implementation Work?

The Liquid implementation uses submarine swaps and reverse submarine swaps to send and receive payments, enabling funds to move frictionlessly between the Lightning Network and the Liquid sidechain.

Breez SDK - Liquid

When sending a payment the SDK performs a submarine swap, converting L-BTC from a user’s Liquid wallet into sats on the Lightning Network, and sends them to the recipient.

When receiving a payment, the SDK performs a reverse submarine swap, converting incoming sats into L-BTC, and then deposits them in the user’s Liquid wallet.

Build & Test

  • cli: Contains the Rust command line interface client for the SDK - Liquid.
  • lib: Contains the root Rust cargo workspace.
    • bindings: The ffi bindings for Kotlin, Flutter, Python, React Native, and Swift.
    • core: The core SDK - Liquid rust library.
  • packages: Contains the plugin packages for Dart, Flutter, and React Native.

Within each sub-project readme, there are instructions on how to build, test, and run.

SDK Development Roadmap

  • Send/Receive Lightning payments
  • CLI Interface
  • Foreign languages bindings
  • Export/Import SDK data
  • Pay BTC on-chain
  • Receive via on-chain address
  • LNURL-Pay
  • LNURL-Withdraw
  • Send to a Lightning address
  • Receive via Lightning address
  • Real-time sync
  • Webhook for receiving payments
  • Offline receive via notifications
  • Offline swaps via notifications