Lightning Network mobile client
Clone or download

README.md

Breez Mobile Client

screenshot screenshot screenshot screenshot

Breez is a Lightning Network mobile client and a hub. It provides a platform for simple, instantaneous bitcoin payments.

Features

  • lnd on Android
  • Neutrino on Android
  • Seamless hub channel creation
  • Adding funds using on-chain tx
  • BTC, Bit & Satoshi units
  • Random avatars
  • Connect to Pay: simple interface to execute payments between users
  • POS interface
  • Pay someone nearby: pay to another Breez user using NFC
  • NFC card support: activate an NFC card to be used by POS
  • A full lncli interface to query and execute ln commands
  • Filter tx by type
  • Filter tx by date
  • SubmarineSwaps for adding on-chain funds
  • Removing funds
  • Send payments to non-Breez users
  • End-to-end encryption of 'Connect to Pay' session
  • Receive payments from other ln wallets
  • Ability to Backup/Restore the ln node
  • Mainnet support
  • Add mobile device security
  • Use static card IDs
  • NFC card deactivation
  • Fiat units
  • Watchtower
  • Adding funds using fiat
  • lnd on iOS

Build & Run

  1. Build breez.aar as decribed in https://github.com/breez/breez
  2. Put breez.aar in android/app/libs/ directory
  3. Create lnd.conf in the conf directory with the following content:
[Application Options]
debuglevel=debug
noseedbackup=1
nolisten=1
rpcmemlisten=1
nobootstrap=1
maxbackoff=2s
[Bitcoin]
bitcoin.active=1
bitcoin.node=neutrino
bitcoin.defaultchanconfs=1
[Routing]
routing.assumechanvalid=1
[Neutrino]
neutrino.connect=<bitcoin node supporting bip157/bip158>
  1. Create breez.conf in the conf directory with the following content:
[Application Options]
network=simnet #or testnet/mainnet
routingnodehost=<hubnode hostname:port>
routingnodepubkey=<hubnode pubkey>
breezserver=<host:port> #This is the server running https://github.com/breez/server
  1. Assuming that you have already installed and configured flutter, you can use the following commands to run in a connected device the client app or the pos or to build the corresponding apks:
  • flutter run --flavor=client --target=lib/main.dart
  • flutter run --flavor=pos --target=lib/main_pos.dart
  • flutter build apk --target-platform=android-arm64 --flavor=client --debug --target=lib/main.dart
  • flutter build apk --target-platform=android-arm64 --flavor=pos --debug --target=lib/main_pos.dart

Architecture

screenshot