Flowee Pay. A cross-platform wallet using the Flowee libraries. https://flowee.org/products/pay/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tom Zander 01e169e41b Fixlets from linter detection. 1 week ago
android Fix copyback concept 1 week ago
cmake Add QR-encode lib to android build 3 weeks ago
data Import all official wordlists 11 months ago
desktop Make the edits all about the same height 4 weeks ago
images Add warning icon for the warning text. 10 months ago
mobile Image fixes 11 months ago
testing Fixlets from linter detection. 1 week ago
translations Update english translations 2 months ago
.gitignore Split translations and add proof-of-concept mobile 11 months ago
AccountInfo.cpp Port to Qt6 2 months ago
AccountInfo.h Fix outdated values after decryption 2 months ago
AddressInfo.cpp Make UI show wallet an address belongs to. 6 months ago
AddressInfo.h Make UI show wallet an address belongs to. 6 months ago
BitcoinValue.cpp Port to Qt6 2 months ago
BitcoinValue.h Fix 'reset' on the BitcoinValue class. 11 months ago
CMakeLists.txt Make compiling apps optional 3 weeks ago
FloweePay.cpp Port to Qt6 2 months ago
FloweePay.h Update to more common derivation path 2 months ago
LICENSE first commit 2 years ago
MetaExtractor.cpp Use new upsteam static-blockheaders API 9 months ago
NetDataProvider.cpp Make backwards compatible. 10 months ago
NetDataProvider.h Make backwards compatible. 10 months ago
NetPeer.cpp Show a status for unassigned peers 1 year ago
NetPeer.h Show a status for unassigned peers 1 year ago
NewWalletConfig.cpp Fix possible threading issue 2 months ago
NewWalletConfig.h Make new-wallet pane functional. 11 months ago
NotificationManager.cpp Make NotificationManager build without dbus found 3 weeks ago
NotificationManager.h Add 'new block notification' show/mute setting 2 months ago
Payment.cpp Add debugging code. 4 weeks ago
Payment.h Add various encryption UI parts. 5 months ago
PaymentDetailInputs.cpp Remove unneeded assert. 3 months ago
PaymentDetailInputs_p.h Make sure 'max' is updated on wallet-change. 10 months ago
PaymentDetailOutput.cpp When pasting a payment url, parse out the amount. 6 months ago
PaymentDetailOutput_p.h Make sure 'max' is updated on wallet-change. 10 months ago
PaymentRequest.cpp Fix API naming 2 months ago
PaymentRequest.h Make payment request act on wallets opening/closing 3 months ago
Payment_p.h Update email 2 years ago
PortfolioDataProvider.cpp Make hiding the single wallet more consistent 2 months ago
PortfolioDataProvider.h Make single-wallet setup have encryption too 2 months ago
PriceDataProvider.cpp Port to Qt6 2 months ago
PriceDataProvider.h Cleanup PriceDataProvider class and API 5 months ago
PriceHistoryDataProvider.cpp remove extra char 2 months ago
PriceHistoryDataProvider.h Port to Qt6 2 months ago
QRCreator.cpp Make QR blank when the wallet is encrypted. 3 months ago
QRCreator.h Make a valiant effort to start PaymentRequests 2 years ago
README.md Small updates 4 weeks ago
TransactionInfo.cpp Cleanup 'moved' and show fees when we can. 10 months ago
TransactionInfo.h Initialize variable. 3 months ago
Wallet.cpp Port to Qt6 2 months ago
Wallet.h Port to Qt6 2 months ago
WalletCoinsModel.cpp Fix off-by-one in string building. 10 months ago
WalletCoinsModel.h Handle changes in the coins set. 10 months ago
WalletHistoryModel.cpp Port to Qt6 2 months ago
WalletHistoryModel.h Notify the UI about transaction comments. 10 months ago
WalletSecretsModel.cpp Limit shared priv keys to bloom filter limits 6 months ago
WalletSecretsModel.h Make wallet details pane more complete. 11 months ago
Wallet_encryption.cpp Fixlets and simplification in unit unit test 3 months ago
Wallet_p.h Save HD wallet data encrypted. 3 months ago
Wallet_spending.cpp Improve UTXO selection wrt Fusions 6 months ago
Wallet_support.cpp Switch to the string type for saving mnemonics 3 months ago
Wallet_test.cpp Fix typo in comment. 5 months ago
main.cpp new version 4 weeks ago
qml_path_helper.cpp.in Split translations and add proof-of-concept mobile 11 months ago


This is the repository of Flowee Pay.

Flowee Pay is a payment solution, also often called wallet, that allows users to pay and receive Bitcoin Cash in a simple application with little to no external parties or (indexing) servers it needs to depend on. The only really required dependent is the peer to peer network, and thus the Internet.

We use QML for the user interface, which allows fast turnaround for skinning and a very strong model/view separation. The goal here is to have multiple user interfaces for the one codebase. For instance you can have a very different user experience and set of features on desktop than on Android. You can simply "skin" an existing GUI and change it to have your companies logo (we want you to do that! Just please use a different name for the app you ship then!)

The goal of having a Free Software product like Flowee Pay is that average users can use the community client and when companies that want to bundle a wallet with their product (for instance to do some token thingy) they are more than welcome to provide their own skinning instead of the ones that are included in this repo.

Any companies or groups doing this are going to help increase the quality of the main free software product and thus this benefits all.


Flowee Pay uses libraries from Flowee, you need to either install the main flowee package via your package manager or compile it before you compile Pay. The minimum version required for the Flowee libraries is 2022.07.0

For ubuntu getting the latest is a matter of calling:

  sudo add-apt-repository ppa:flowee/ppa
  sudo apt update
  sudo apt install flowee-libs

You need cmake and Qt5. When you have those installed it is just a matter of calling:

  mkdir build
  cd build
  cmake ..
  make install

We depend on the libraries shipped in 'theHub', also from Flowee. If you compile theHub yourself you may want to export the following variable in case the build wasn't found in the 'cmake' line above:

export CMAKE_PREFIX_PATH=/path/to/the/thehub-build

Followed with again the call to cmake and make like above.


Want to start Hacking, getting to know QML as well? Here is a video playlist of 5 short videos explaining the tech youtube

To develop on the app, especially if you will work on the QML, we suggest the following workflow:

  mkdir build
  cd build
  cmake -Dlocal_qml=ON -DCMAKE_INSTALL_PREFIX=`pwd` ..
  make install

The executables will be in floweepay/build/bin/ and by passing the local_qml additional cmake option the app will renember that it should fetch the QML files from your local harddrive. This allows you to change the QML files and simply restart the app without recompile.

For development you can run either pay or pay_mobile, depending on which front-end you are working on.

To develop on the app we suggest starting one of those app with these options:
bin/pay --offline --testnet4