The Breez SDK provides developers with an end-to-end solution for integrating instant, non-custodial bitcoin 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 value transfer.
The Breez SDK is free for developers.
It’s a nodeless integration that offers a non-custodial, end-to-end solution for integrating bitcoin, utilizing the Bitcoin-native Layer 2 Lightning & Spark, with on-chain interoperability. Using the Breez SDK, you’ll be able to:
Key Features - [x] Send and receive Lightning payments - [x] Send and receive via LNURL-pay & Lightning addresses - [x] Send and receive Spark payments (BTC) - [x] Passkey login for seedless experience - [x] Stable Balance - hold your balance in USD - [x] Issue, send and receive Spark tokens (BTKN) - [x] On-chain interoperability - [x] Convert Spark tokens (BTKN) to bitcoin and vice versa - [x] Bindings to all popular languages & frameworks - [x] Keys are only held by users - [x] Multi-app & multi-device support via real-time sync service - [x] Payments persistency including restore support - [x] Automatic claims - [x] WebAssembly support - [x] Compatible with external signers - [x] Multi-user server mode - [x] Free open-source solution
Head over to the Breez SDK documentation to start implementing bitcoin in your app.
You'll need an API key to use the Breez SDK. To request an API key is free - you just need to complete this simple form.
API documentation is here.
The Breez SDK - Spark cli is a command line client that allows you to interact with and test the functionality of the SDK.
Looking for a quick way to try the Breez SDK in the browser or as PWA? Check out our demo app Glow:
Note: The demo is for demonstration purposes only and not intended for production use.
The repository includes full working CLI example apps for every supported language, demonstrating end-to-end SDK usage.
| Language | CLI Example App |
|---|---|
| Rust | crates/breez-sdk/cli |
| JavaScript/TypeScript | cli/langs/wasm, glow-web |
| Swift | cli/langs/swift |
| Kotlin | cli/langs/kotlin-multiplatform |
| Flutter/Dart | cli/langs/flutter |
| Python | cli/langs/python |
| Go | cli/langs/golang |
| React Native | cli/langs/react-native |
| C# | cli/langs/csharp |
Have a question for the team? Join our Telegram channel or email us at contact@breez.technology
The Breez SDK uses Spark, a Bitcoin-native Layer 2 built on a shared signing protocol, to enable real-time, low-fee, self-custodial payments.
When sending a payment, Spark delegates the transfer of on-chain bitcoin to the recipient through a multi-signature process. Spark Operators help facilitate the transfer, but they cannot move funds without the user. This allows the payment to settle almost instantly, without requiring a blockchain confirmation.
When receiving a payment, the same process works in reverse: the network updates ownership of the bitcoin to the user through the shared signing system, recording the change off-chain while always keeping the funds secure.
Unlike blockchains, rollups, or smart contracts, Spark doesn’t create a new ledger or require trust in external consensus. On Bitcoin’s main chain, Spark transactions appear as a series of multi-sig wallets. Off-chain, Spark keeps a lightweight record of balances and history.
Funds are non-custodial: you can exit Spark at any time and reclaim your bitcoin directly on the Bitcoin main chain.
Contributions are always welcome. Please read our contribution guide to get started.
$ claude mcp add spark-sdk \
-- python -m otcore.mcp_server <graph>