Blixt Wallet is an open source Lightning Bitcoin Wallet for Android with focus on usability and user experience, powered by lnd and Neutrino SPV.
- Embedded lnd with Neutrino
- Descriptive and clean transaction log
- Receive payments
- Autopilot
- Pincode
- Fingerprint
- Optional Recipient/Sender name that will be displayed on transactions
- Optional "Payer" field for bookkeeping when creating invoice
- Scheduled sync of chain background job
- Local channel backup
- LNURL support (all sub-protocols: pay, channel, auth and withdraw)
- Channel backup to Google Drive (Android) and iCloud (iOS)
- WebLN browser
- Support for Multi-Part Payments (MPP)
- Integrated Tor support
- Sending to Lightning Address
- Automatically open channels when needed (LSP)
- Receiving via Lightning Address by Lightning Box
- NFC
The wallet uses lnd that is young and might have bugs. Check lnd bug list here.
Blixt targets three platforms right now: Web, Android and iOS.
The web target is only used for prototyping and is not a real wallet.
The easiest way to build Blixt is to build the web version, because you only need Node+Yarn installed and you don't have to compile lnd as you would have for the native targets.
The web version is not used as a real wallet and is only used for fast prototyping. It's useful if you want to make design and GUI changes.
- Install Node and Yarn
- Install Node packages:
yarn
- Generate proto files:
yarn gen-proto
- Start the web server:
yarn web
- Install Node, Yarn and Android Studio + Android SDK (including NDK)
- If needed, install an emulated android device inside Android Studio
- Download lnd binary from blixt-lndmobile-releases and put it in
android/lndmobile
. Alternatively build lnd for Android by following the steps in build-android-aar.md - Get the tor sub-module:
git submodule update --init
- Install Node packages:
yarn
- Compile the Tor Android lib:
yarn build-tor-lib
- Generate proto files:
yarn gen-proto
To start the application:
- Run:
yarn start-metro
- Run:
yarn android:mainnet-debug
oryarn android:testnet-debug
The iPhone/iOS version is still a work in progress.
To build the iOS version, macOS is required. You also need an Apple Developer account, although you do not need to be enrolled in the Developer Program.
- Install XCode, Node and Yarn
- Build lnd for iOS by following the steps in build-ios-framework.md
- Install Node packages:
yarn
- Generate proto files:
yarn gen-proto
- Install CocoaPods libs:
cd ios && pod install
- Setup team signing:
- Open ios/BlixtWallet/BlixtWallet.xcworkspace with XCode
- Login with your Apple Developer account if XCode asks you to
- Click on BlixtWallet in the left column
- Click on the Signing & Capabilities tab
- Choose your Team in the dropdown and choose a new unique Bundle Identifier (cannot be the same as the ones released on the App Store). Do this for every configuration
To start the application:
- Run:
yarn start-metro
- Run:
yarn ios:mainnet-debug --device "<your device name>"
or build from XCode
Follow the code style of the file you are working in. For commits, make descriptive and atomic git commits.
MIT