Zcash and Ycash light shielded wallet

Overview

ZWallet

The fastest, most advanced, shielded wallet for Zcash

Main Features

  • Warp Sync: PROCESSES ~10 000 BLOCKS PER SECOND (1)
  • Transparent and Shielded Address support (2)
  • Scalable Design: Supports hundreds of thousands of transactions and received notes
  • Low Requirements: Android 7.0+, 2 GB of RAM

Other Features

  • Multi-account
  • Watch only account from viewing key
  • Import seed phrase (ZIP 32 compliant) or secret key (Zcashd standard)
  • One touch transparent account shielding
  • Automatic shielding above configurable threshold
  • Transparent Shielding in Payments
  • Snap (i.e. diversified) addresses
  • Show equivalent in Fiat currencies (USD, EUR, JPY, RMB, etc.)
  • Display and select notes (Coin Control)
  • Specify spending amount in Fiat or ZEC
  • Prepare UNSIGNED transactions for cold storage spending
  • Broadcast raw transactions
  • Multiple recipient payments
  • Transaction History
  • Memo
  • Auto Split Notes
  • Account Balance History
  • Largest Past Payees Chart
  • Wallet P/L Charts and Reports
  • Contact Address Book
  • Color and Dark/Light Themes
  • Customizable anchor offset
  • QR code scanner support
  • Localization in English, Spanish, French, Chinese, (more to come)
  • Fluent and Responsive UI

Privacy Features

  • No data upload
  • All information recoverable from seed phrase or secret key
  • Customizable lightwalletd server URL

(1): Tested on OnePlus 7T - Snapdragon 855+ (2): Primary Shielded - Transparent Balance cannot be directly spent

Comments
  • Allow creating new accounts hierarchically based on ZIP 32

    Allow creating new accounts hierarchically based on ZIP 32

    ZIP 32 is the standard mechanism by which wallets for Zcash generate shielded addresses and keys deterministically. Adopting this standard can allow users to do a one-time backup of the seed/recovery/backup phrase to recover funds from all future addresses.

    Currently Zwallet generates new seed when creating a new accounts. By generating new accounts/address from the same seed, Zwallet users won't need to backup multiple seeds from multiple accounts.

    opened by luckytokidoki 21
  • Ywallet doesnt work via remote ssh or x2go

    Ywallet doesnt work via remote ssh or x2go

    On a x86-64 ubuntu LTS with latest flatpak (Flatpak 1.15.1) through a remote ssh (tried both -X and -Y) running "flatpak run app.ywallet.Ywallet" shows

    flutter: NOTES 0 flutter: TXS 0 flutter: NOTES 0 flutter: TXS 0

    But the ywallet window never shows up. The ywallet process happily runs though it seems

    If instead i run it through x2go there are a few extra warnings but otherwise again nothing shows up.

    If I run "flatpak run app.ywallet.Ywallet" locally on the same machiene it works fine and shows up. Somehow it feels as if the app window isnt sent to the right display, but maybe its something else.

    opened by michaelni 14
  • Plenty of Spendable balance but sad trombone

    Plenty of Spendable balance but sad trombone

    The sad trumpet plays and it says ERROR: Not enough balance, need XXXX zats, missing YYY zats

    The sync is done and the send payment screens says I have plenty of spendable balance.

    Related note (could open a new issue if you prefer): the error message flashes and goes away. The laws of accessibility dictate that the user should have to manually dismiss an important error message rather than it automatically go away.

    opened by skyl 9
  • zip-321 payment urls

    zip-321 payment urls

    On mobile (android), clicking on a zcash: payment url opens the app and fills in the amount properly according to zip321 - sometimes. On desktop (MacOS), the app doesn't try to handle the zcash: link and pasting the link doesn't decode the amount and the memo.

    Screen Shot 2022-07-07 at 1 10 03 AM

    EDIT: on mobile actually some work and some don't.

    For example, zcash:zs1hkmk0e8rrm45gmnmk69tzt8yscnedtm7lvqqlkg76ujugrt32qmwyu2q9knm0k2pee2x2gxrqea?amount=0.01&memo=eyJhY3QiOiJwYWdlX2Z1bmQiLCJpZCI6ImZlZWM2YTlkLWM1MDEtNGI1NS05Mzg0LTIwMDU4MTRiMDBmYSJ9 works and fills the amount and the memo. But, for some reason, zcash:zs1hkmk0e8rrm45gmnmk69tzt8yscnedtm7lvqqlkg76ujugrt32qmwyu2q9knm0k2pee2x2gxrqea?amount=0.0001&memo=eyJhY3QiOiJwYWdlX2NvbW1lbnQiLCJpZCI6ImZlZWM2YTlkLWM1MDEtNGI1NS05Mzg0LTIwMDU4MTRiMDBmYSIsImNvbW1lbnQiOiJDb29sISBJcyB0aGlzIHlvdXIgb3JpZ2luYWw/In0 does not. This is using the QR code scanner on android at https://free2z.cash/zcash-cityscape-views

    Works: Screen Shot 2022-07-07 at 9 06 58 PM

    Doesn't work: Screen Shot 2022-07-07 at 9 06 48 PM

    opened by skyl 9
  • Developer documentation

    Developer documentation

    Hi @hhanh00 ! Great work with zwallet/ywallet! You've been huge in keeping a reliable lightwallet going strong through the network upgrade and with a fast sync through spam attacks. Ywallet rocks!

    Since I rely on your work, I'd like to understand it better and contribute to it, possibly depend on it. Unfortunately I have no experience with Dart and don't yet know exactly how to spin up development versions locally.

    I started to try to use BUILD.md and sort of got somewhere. I left some throwaway notes in this branch:

    https://github.com/hhanh00/zwallet/compare/main...free2z:zwallet:trying-to-build

    I learned some things and I'm going to start over at main and try again. I might be able to figure it out and perhaps write a guide or two that will solve this present issue. "How to Iaunch a local desktop version of YWallet on X", "How to run YWallet on an {iOS|Android} emulator". Let me know if I might have just missed something like this or if you have any ideas/direction for what you'd like to see.

    opened by skyl 9
  • Issue with glibc

    Issue with glibc

    I have installed the flatpak version. When I try to run ywallet with the command: flatpak run me.hanh.zwallet.Ywallet, I get: ywallet: /usr/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ywallet) The version of my glibc is 2.36-1. Is there any fix, please? Arch Linux; flatpak 1:1.12.7-1; windows manager: i3-gaps; ywallet 1.2.11+259

    opened by pablogzlezmora 6
  • Allow user to enter amount both into ZEC and USD fields

    Allow user to enter amount both into ZEC and USD fields

    In send view, both ZEC and USD values are already shown and typing something in the first field already updates the second field.

    Instead of introducing a checkbox in advanced options which switches positions of ZEC and USD fields, allow user to input value in any of the 2 fields.

    opened by bobanm 5
  • Privacy Issue: Allow toggling between Message/Memo download settings

    Privacy Issue: Allow toggling between Message/Memo download settings

    It's my understanding that the lightwallet server learns which tx ids belong to a user who opts to download their memos from the blockchain. This potential privacy issue is mitigated by either downloading all memos (requires a lot more bandwidth) or not downloading memos.

    Zecwallet Lite presents these options to the user and allows them to toggle between them. This functionality should be implemented into Zwallet/Ywallet

    IMO the default should be not download memos and allow the user to opt-in to memo downloading since it potentially degrades privacy by allowing the lightwallet server learn information about a users transactions.

    opened by kowalabearhugs 4
  • Sub accounts on Desktop - long press?

    Sub accounts on Desktop - long press?

    To create a sub-account for the current selected account, long press the ‘+’ button, and select “New Sub-account”.

    I don't think there is a way to do this on Desktop? Maybe I'm wrong ...

    opened by skyl 4
  • Don't show balance in the same view as the receive QR code

    Don't show balance in the same view as the receive QR code

    The first thing is that showing balance on receive view is a privacy flaw. If I want someone to scan my code and send me ZEC, I don't want them to know my balance.

    Furthermore the Account tab already seems way too busy. It currently shows:

    1. balance
    2. receive address + QR code
    3. send button

    IMO, these 3 things deserve to be on 3 different tabs: Balance, Send and Receive. That is quite common UX for mobile wallets. What's the point in showing only send button which opens a send dialog? I think it would be cleaner to introduce Send tab, which would already contain the send form. It require the same amount of taps to navigate to, but provides much cleaner experience.

    opened by bobanm 4
  • C Library Incompatibility in Ubuntu 20.04.4

    C Library Incompatibility in Ubuntu 20.04.4

    The Linux executable, supplied on the download page, requires GLIBC v 2.34 but by default in Ubuntu the highest version of GLIBC is usually fixed based on Ubuntu version.

    ~$ ./zywallet
    ./zywallet: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./zywallet)
    
    ~$ sudo apt-cache policy libc6
    libc6:
      Installed: 2.31-0ubuntu9.7
      Candidate: 2.31-0ubuntu9.7
    
    opened by luckytokidoki 2
  • Improvement: Use separate 6-digit pincode for locking or Send

    Improvement: Use separate 6-digit pincode for locking or Send

    Current YWallet uses the phone access pincode for locking. Best practice is to separate protection to individual 6-digit application-level pincode.

    Good examples are Algorand's Pera Wallet, Kinesis Money and several others. Ledger Live goes the extra mile by specifiying a password to access the app. IMHO a 6-digit pincode would be an excellent choice.

    Having separate pincodes to Ywallet, etc. is like another layer of protection, in case phone access-level has been breached.

    Priority-Wish List 
    opened by bits4fun 1
  • UX improvement: simplify adding contacts

    UX improvement: simplify adding contacts

    I should be able to long click on almost anywhere an address appears (e.g., “Sender” or “Recipient” when looking at a message) and be asked if I want to add a contact for that address.

    Also, when I'm sending ZEC, I should be able to do the same on the “Send ZEC to...” field. I’m calling this out explicitly because it's an editable field, so may need to behave differently than the other places where an address is displayed.

    enhancement Priority-Wish List 
    opened by sellout 0
  • ywallet often requires force kill on mac

    ywallet often requires force kill on mac

    I think this only happens when it is trying to sync; but, it would be a nice to have if it would shutdown cleanly regardless of what it is trying to do with sync? I'll check to see if it happens even when sync is complete ... if I can ever sync again ... seems like the lightwalletd backends are not behaving too well right now ;/

    Priority-Low 
    opened by skyl 0
Releases(v1.2.17+336)
Blaise Wallet - A wallet for the Pascal cryptocurrency, made with Flutter

Blaise - Simple, Sleek & Secure PASCAL Wallet [ What is Blaise? Blaise is a cross-platform mobile wallet for the PASCAL cryptocurrency. It is written

Appditto 209 Dec 4, 2022
P2P payment solution using Stream's Flutter SDK and Rapyd's Wallet API

Peer-to-peer payment integration to a messaging app using Flutter ?? This project shows how to integrate a peer-to-peer payment solution to your Strea

Souvik Biswas 15 Dec 8, 2022
Online wallet app for money transfer and bill payment.

shapshapcoins Payment Platform Getting Started This project is a starting point for a Flutter application. A few

Ndoye Philip Ndula 1 Nov 14, 2021
Web3 Ethereum, Etherjs and Wallet Connect wrapper for Flutter Web.

flutter_web3 This is a fork of flutter_web3_provider. Be sure to check out the original package. Introduction flutter_web3 v2 is full Dart class and f

yoisha 105 Jan 2, 2023
Messaging App Light and Dark Theme

Messaging App Light and Dark Theme

null 1 Sep 26, 2021
Weather-app - Simple Weather app with light and dark mode

weatherapp Simple Weather app with light and dark mode All licensed code belongs

Shivam Mishra 2 Jul 30, 2022
Flutter Crypto App (API+UI) with support for dark and light mode

Flutter Crypto App (API+UI) with support for dark and light mode. Flutter 2.10.3 Null Safety (2022) Beautiful Crypto App (API+UI) with support for dar

Martin Gogołowicz 12 Nov 1, 2022
Mobile Wallet for Solana

Solana Mobile Wallet A mobile wallet for Solana made in flutter Features: Watch over any address Import wallets with it's seedphrase (devnet only for

Marc Espín 68 Jan 3, 2023
Wallet Connect client in Dart.

Wallet Connect Wallet Connect client in dart highly inspired from wallet-connect-kotlin by Trust Wallet. Usage import 'package:wallet_connect/wall

null 101 Dec 29, 2022
A mobile wallet for Spacemesh.io

sm_mobile_wallet A new Flutter project. Getting Started FlutterFlow projects are built to run on the Flutter stable release. IMPORTANT: For projects w

Andrei Voinea 2 Dec 26, 2022
A Tezos Wallet built with Flutter

Anthos A Tezos Wallet built using Flutter at Hackout 2021 Problem it solves Easy way to send and receive Tezos XTZ Built with Flutter - Runs on web, m

Sameer Kashyap 4 Aug 4, 2022
Wallet app ui

wallify A wallet app ui. Exploring modals Getting Started This project is a starting point for a Flutter application. A few resources to get you start

Chiemela Uzoma 10 Nov 22, 2021
Natrium - Fast, Robust & Secure NANO Wallet, now written with Flutter.

Natrium - Fast, Robust & Secure NANO Wallet What is Natrium? Natrium is a cross-platform mobile wallet for the NANO cryptocurrency. It is written in D

Appditto 702 Dec 30, 2022
Flutter chat-app UI with multiple themes & light + Dark mode.

Chat-App UI If you liked it, please give it a star . Features of the app - Light Mode + Dark Mode 4 different color themes - pink/teal/yellow/purple I

Deepa Pandey 31 Oct 5, 2022
FileManager is a wonderful widget that allows you to manage files and folders, pick files and folders, and do a lot more. Designed to feel like part of the Flutter framework.

File Manager FileManager is a wonderful widget that allows you to manage files and folders, pick files and folders, and do a lot more. Designed to fee

Devs On Flutter 52 Dec 30, 2022
Flutter ShopApp, you can see products and their prices, categories and their products, search for a product, add to favorite, add to cart, sign in and sign up.

shop_app_2 A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

Muhammed Rezk Rajab 10 Aug 7, 2022
A mobile image uploader in which you can upload image to your personal gallery from either your camera or mobile gallery and it can detect your current geographic location and address using firebase firestore and storage.

Image Uploader In Flutter About It is an Image Uploader gallery which tracks your address from which you're uploading using Flutter and Image picker.

Prahen parija 6 Dec 20, 2022
null 357 Dec 27, 2022
A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Android, Web, Windows, Linux and macOS.

cross_connectivity A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Androi

MarchDev Toolkit 29 Nov 15, 2022