Skip to content

breez/breez-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Breez SDK

Overview

The Breez SDK enables developers to integrate Lightning and bitcoin payments into their apps with a very shallow learning curve. The use cases are endless – from social apps that want to integrate tipping between users to content-creation apps interested in adding bitcoin monetization. Crucially, this SDK is an end-to-end, non-custodial, drop-in solution powered by Greenlight, a built-in LSP, on-chain interoperability, third-party fiat on-ramps, and other services users and operators need. The Breez SDK is free for developers.

The Breez SDK provides the following services:

  • Sending payments (via various protocols such as: bolt11, keysend, lnurl-pay, lightning address, etc.)
  • Receiving payments (via various protocols such as: bolt11, lnurl-withdraw, etc.)
  • Fetching node status (e.g. balance, max allow to pay, max allow to receive, on-chain balance, etc.)
  • Connecting to a new or existing node.

Download our one pager here.

To get started with the Breez SDK, follow these examples.

Note: in order to use the Breez SDK you need an API key from Breez, please email us at contact@breez.technology for more information.

Demo

demo.mp4

For a higher resolution video, click here.

Features

Screenshot_2023-06-27-20-18-57-35_e2d5b3f32b79de1d45acd1fad96fbb0f

Using the SDK

To get started with the Breez SDK, follow these examples.

API

API documentation is here.

Support

Join this telegram group.

Architecture

This diagram is a high-level description of the Breez SDK:

SDK Architecture

Command line

Breez sdk-cli is a command line client that allows you to test the functionality of the Breez SDK.

Build & Test

The libs folder contains three sub folders and is a structured as a cargo workspace:

  • sdk-core: the core SDK rust library.
  • sdk-bindings: ffi bindings for Kotlin, Python, Swift, C# and Go.
  • sdk-flutter: a flutter plugin (includes ffi bindings for dart).
  • sdk-react-native: a react-native plugin.

The tools folder contains a simple command line interface (sdk-cli) to the SDK. See the instructions in each sub project readme on how to build, test and run.

TODOs

  • ‘On-the-fly’ channel creation
  • Send/receive bolt11
  • LNURL-Pay
  • LNURL-Withdraw
  • Backup/restore using mnemonics
  • Send zero-amount invoices
  • Fiat currencies
  • Send spontaneous payments
  • Send to a Lightning address
  • Send to BIP 21
  • cli inteface
  • Swift bindings
  • Kotlin bindings
  • API key
  • Receive via on-chain address
  • React Native bindings
  • LNURL-Auth
  • Send to an on-chain address
  • MoonPay fiat on-ramp
  • C# bindings
  • Python bindings
  • Spend all funds
  • Webhook for receiving payments
  • Offline receive via notifications
  • LSPS2 support
  • LSPS1 support
  • Send/receive bolt12
  • Simplifed key management (cloud key backup)
  • WebAssembly support
  • Improve key share
  • Close channels to a predefined address
  • Make mempool.space dependency optional
  • Receive 0 amount invoice via LSP (unified QR)
  • Async payments
  • LDK support
  • Splicing