Dizzy Wallet: A Dedicated Zcash Wallet for Discord

Proposal: Dizzy Wallet: A Dedicated Zcash Wallet for Discord.

Applicant Name:

James Katz - James Katz

Team members name:

@James_Katz

Pitch: A one-liner elevator pitch version of your proposal:

Build and host a secure, user-friendly Zcash wallet inside Discord and develop Node.js libraries for Zcash interaction, utilizing cloud computing services to ensure reliability and privacy.

Previous program:

Free2z Funding: I was able to purchase a new computer for my development work thanks to the
Free2z platform. My previous computer was no longer capable of running modern development
tools, and the platform and its users were generous enough to support my fundraising efforts. I also
received additional donations from articles I wrote about Zingo-cli and Zcashd in regtest mode.

Who is contributing to this:

@james_katz: IT professional with extensive experience in management and development, will lead
this project. With a passion for Zcash and an active presence in the Zcash Latam Discord
community, I’m always trying to help new users have the best experience with Zcash.

Description of Problem or Opportunity:

The opportunity:

Discord has established itself as the leading platform for community building, offering customization through its support for Discord Bots.

I propose the creation of a wallet that runs directly on Discord, eliminating the need for separate
installations or synchronization issues. With a Discord account, users will now have access to a
fully functional Zcash wallet, capable of sending and receiving shielded ZEC in a matter of
seconds.

This discord wallet presents numerous opportunities for community engagement, such as the ability
to send tips, participate in airdrops, and other community-driven activities. Dubbed “Dizzy Wallet”
or “DZ Wallet” (acronym for Discord Zec Wallet), it is set to be the easier way for new users start
using Zcash.

To further promote the development of Zcash-ready applications, a Node.js library based on
@adityapk00’s zecwallet-cli is also being developed. This library will be released as open-source,
enabling developers to build and integrate Zcash-powered applications using Javascript.

The problem:

The adoption of cryptocurrencies has been hindered by a number of factors, including the
reluctance of new users to download a full-fledged wallet and general skepticism towards digital
currencies.

Dizzy Wallet addresses these concerns by automatically creating a wallet for the user, enabling them
to receive tips, send, and deposit ZEC with ease.

While there is already a bot called tip.cc, that serves a similar purpose, its unreliability and
downtime have resulted in the postponement of important events. With full-time dedication to
programming, maintenance, and debugging the code, Dizzy Wallet will ensure seamless and
uninterrupted usage of ZEC on Discord for the entire community.

Dizzy Wallet is exclusively focused on Zcash, making its usage and interface more user-friendly.
Outgoing transactions is shielded by default.

Dizzy Wallet is versatile and can be added to an unlimited number of servers, providing a seamless
and user-friendly experience for a growing number of users.

The Dizzy Wallet will be available for public use, allowing integration into a variety of servers,
including those focused on Zcash, cryptocurrency in general, gaming, and so on… This will provide a
platform for individuals to learn and utilize Zcash.

After first contact with Zcash through Dizzy Wallet, users will be encouraged to try traditional wallets, such as ZecWallet, YWallet, Zingo!, an so on …

Proposed Solution: Describe the solution at a high level.

Dizzy Wallet is a Discord bot that provides seamless and secure access to Zcash transactions. The
bot will be hosted on a secure cloud computing platform to ensure the highest level of security and
reliability.

Developing, testing, and deploying such software requires a significant amount of resources and
expertise. I hope to be eligible for this grant from Zcash Foundation to cover the costs associated
with development, debugging, and maintenance of Dizzy Wallet.

Dizzy Wallet provides an easy and convenient way for new users to enter the world of Zcash,
without the need for downloading, installing, and synchronizing a full-fledged wallet. This opens up
new opportunities for Zcash adoption and helps to attract a larger user base.

Dizzy Wallet enables various community-driven activities on Discord servers, including:

  • Normal Zcash transactions (Transparent and Shielded) – providing full access to ZEC
    transactions.
  • Direct tips – allowing users to send ZEC to other users
  • Airdrops – encouraging users to join and split rewards
  • Active tips – Tipping active users in a channel
  • Phrase drops – rewarding users who participate by typing a specific phrase.

Solution Format: What is the exact form of the final deliverable you’re creating?

The proposed work will consist of the following steps:

  • Development, maintenance and hosting of the Dizzy Wallet on a secure cloud computing
    platform.
  • Support of the Zcash Latam Team in promoting Zcash on Discord and engaging users.
  • Maintenance and hosting of other Discord bots created for Zcash Latam, such as ZecQuiz
    and ZecStats.
  • Development and procurement of hardware to create a proof-of-concept Zcash Snack
    Machine, to be showcased at in-person events.
  • Availability to assist the Zcash Latam Team in executing any other projects they might
    undertake.

See some of my previous work:

I have contributed to Zcash Latam by developing two successful bots - ZecStats and ZecQuiz.
ZecStats is a Discord bot that displays various statistics related to Zcash and ZecQuiz is an
educational bot that allows users to participate and test their knowledge about Zcash through
questions.
(See pictures below)

quiz


(This last one is a 3d mockup of a project I really want to complete, a Zcash Vending Machine as a
Proof of Concept, for displaying in presential events.)

Technical Approach: Dive into the how of your project. Describe your approaches, components, workflows, methodology, etc. Bullet points and diagrams are appreciated!

Starting in February / March 2023:

  • Continuation of previous works:

    • Maintaining and hosting ZecStats
    • Maintaining and hosting ZecQuiz
  • Completion of Node.js libraries for interaction with Zcash

  • Ongoing development of Dizzy Wallet, the Discord-based Zcash wallet

  • Continued work as a content creator and 3D animator, creating additional animations for
    Zcash.

  • Start the construction of a proof of concept Zcash Snack Machine.

  • Providing assistance and support to the Zcash community in any way possible.

Dependencies: What external entities is your project dependent on? What involvement is required rom ZF, ECC, and/or other external organizations? Who would have to incorporate your work in order for it to be usable?

The hosting of the services will depend on Virtual Cloud Computing services and the proposed
solution is to use Amazon AWS for hosting all services. But there are other good VPS that could be considered.

Execution risks: What obstacles do you expect? What is most likely to go wrong? Which unknown factors could jeopardize success? Who would have to incorporate your work in order for it to be sable?

The execution risks for the Dizzy Wallet project seem to be limited.

For this particular project, Dizzy Wallet is a hot wallet. If I receive the grant, I’ll be following
Brazil’s Cryptocurrency legislation to ensure users safety and privacy.

The use of a popular and secure cloud computing provider, such as Amazon AWS, should help
mitigate any security concerns.

There is no unkown factors that could jeopardize success, since de demand for this kind of service
already exists.

Evaluation plan: What metrics for success will you share with the community once you’re done? In addition to quantitative metrics, what qualitative metrics will you commit to reporting?

For this project the metrics I will provide is:

  • Code development status using GitHub;
  • Twice a month report on features implementation and subjective users satisfaction.
  • Number of active users / number of discord servers.

Total Request (USD):

  • $12,000 USDThe budget amount can change and is flexible according to
    feedback, thank you!

    (paid out in ZEC based on USD market price at payout time.)

Please provide justification for the total compensation budget:

The budget has been determined based on the average salary of a full-time software developer in Brazil.

@James_Katz - $1,000 / month for hours worked as software developer.

This compensation will cover the following expenses:

  • Electricity and Internet Bills, as I will be running a Zcashd full node during development;
  • Pay for hosting on Virtual Cloud Computing Service;
  • Purchasing hardware such as a Raspberry PI, Arduino, and other necessary electronic parts for building the proof-of-concept Snack Machine;
  • Advertising the Dizzy Wallet on Discord through activities such as airdrops.

The total is up to $12,000 for 2023:

Each payment will be every three months, starting March/2023. Each payment will be up to $3.000 USD in ZEC.

Schedule and Milestones: What is your timeline for the project? Include concrete milestones and the major tasks required to complete each milestone.

Milestone 1 - estimated completion date: 03/5/2023

  • Milestone 1 - USD value of payout upon completion of deliverables: $3,000.
    • Continue Hosting previous work on Virtual Private Computing service (AWS / Lightsail);
    • Deliverable 1: First release of Dizzy Wallet for testing (non-public).

Milestone 2 - estimated completion date: 06/5/2023

  • Milestone 2 - USD value of payout upon completion of deliverables: $3,000.
    • Continue Hosting previous work on Virtual Private Computing service (AWS / Lightsail);
    • ntense development, possible bug fixing of Dizzy Wallet;
    • Deliverable 2: Dizzy Wallet will already be in use (By the end of march / beggining of April).
      Edit 02/18/2023: Thanks to feedback from the users, Delivrable 2 will also include:
    • Beta release of a version of this wallet for Telegram, for now, jokingly called Tipsy Wallet

Milestone 3 - estimated completion date: 09/5/2023

  • Milestone 3 - USD value of payout upon completion of deliverables: $3,000.
    • Continue Hosting previous work on Virtual Private Computing service (AWS / Lightsail);
    • Continue development, possible bug fixing of Dizzy Wallet;
    • Deliverable 3: Hopefully by this point, other projects derived from the Node.js library will be ready, like the Snack Machine PoC.
      Edit 02/18/2023: Thanks to feedback from the users, Delivrable 3 will also include:
    • Implementation of optional “Advanced mode”, as discussed here and here.

Milestone 4 - estimated completion date: 12/5/2023

  • Milestone 4 - USD value of payout upon completion of deliverables: $3,000.
    • Continue Hosting previous work on Virtual Private Computing service (AWS / Lightsail);
    • Continue development, possible bug fixing of Dizzy Wallet;
    • Deliverable 4: Public release of the source code of Node.js library on github.

Total proposed USD value of grant:

$12,000 USD paid in $ZEC - $3,000 USD every three months starting March 2023, ending December 2023

How was the project timeline determined?

  • Development and hosting of the services for the entire year.

How did you learn about Zcash Community Grants?

  • I learned about the Zcash Community Grants program through research on Zcash and
    through encouragement from members of the Zcash Latam community, with special thanks
    to @Michae2xl !

Closing Words

In conclusion, I believe that this grant proposal has outlined my vision for further development of
Zcash related projects, including ZecStats, ZecQuiz, and the creation of a new hotwallet, Dizzy
Wallet. With my past experience in developing bots and my passion for the Zcash community, I am
confident in my ability to deliver the proposed milestones on time and to the highest quality. I
would be honored to receive the grant and contribute to the growth of the Zcash ecosystem. Thank
you for considering my proposal.

Application submission date:

02/11/2023 / 2023-02-11T03:00:00Z

13 Likes

It’s a zcashd in the cloud in which users have addresses/accounts?

1 Like

UA support? :eyes: In discord tip.cc is heavily used but it does not support sapling nor orchard (No :shield:'d). UA support in discord is a huge yes from me.

3 Likes

Hi!
I’m using zecwallet-clight-cli with a library I’m working on. Since zecwallet-light-cli does automatic notes and utxo management, it’s not possible to control which address outgoing transactions is sent from, so the solutions was to use a traditional database for storing user addresses and balances.

For privacy, the database code can be improved to store only a hash of the address instead.

4 Likes

Yes, UA is totally possible. Since I’m using zecwallet-light-cli which suports UA addresses.
The current UI is showing both transparent and shielded addresses, but I can easily change to UA by default, and leave T and Z addresses as ‘legacy’ in a separate tab.

Also, tip.cc is very unreliable, it’s currently offline for Zcash deposits/withdraws :frowning:

5 Likes

Thanks for the mention! Great to see your proposal.

I believe this product can help zcash’s community strategy of scaling shielded payment and pooling, to having an ever-increasing anonymity set. Also, having a Brazilian developer around us would be great as well.

@james_katz is passionate about Zcash & Tech, so that is important.

5 Likes

I like what you propose, it is clear that we need a service that can be trusted to receive and send micro payments for activities, events, constant participation in the community, etc.

All this and more can be easily achieved with DZ Wallet and thus, Zcash community moderators and users would have quick access to the funds raised in the community, either by participating or because a member sent them ZECs.

Yes, there are other long-standing alternatives that can be used, but there is nothing better than supporting what is native, what is ours and in this case DZ Wallet would be the closest thing to a wallet that we can consider as ours, because it will be created by someone from the community, who contributes and generates value to Zcash.

I would be delighted to see how DZW starts to gain fame among all the users who are in the Zcash communities on Discord.

Just one question, can it be integrated into Telegram at some point? In that application or messaging platform we also have Zcash communities carrying out activities.

4 Likes

Thanks for your reply and kind words!

I agree! Having a crypto wallet made by someone from the community for the community is the way to go. Since I’m an active member, I have a better ideia of what the users actually want and need,
Also, beeing close to the moderators, I can use any feedback to always keep improving!

And yes, once the hard work is done, it’ll be a breeze to port DZ Wallet to Telegram since there are some good Telegram APIs available.

3 Likes

@James_Katz always doing an amazing job!

2 Likes

Community building tools are a great resource to help build a more engaged community.

This proposal from James has two valuable reasons to be integrated into the Zcash community on Discord, and in the future on Telegram:

  1. It is a development of an active and engaged member of the Zcash Latam community. Incentivizing developers in our community to create products and services that benefit the community is very important. In the long run it allows these developers to commit to continue creating value together with the community.

  2. If this proposal is approved, it could incentivize more Latam developers to submit grants to ZCG with value propositions that will help in the adoption of Zcash in this region of the world.

I hope soon we can enjoy Dizzy Wallet on the Zcash Latam Discord, the other Zcash Discord servers and on Telegram.

2 Likes

It’d be great to have a lightweight wallet for tips on social media.

My only concern is regarding the management of user funds.

The wallet service will be hot and the custodian of user funds, just like an exchange.

There was a similar proposal that got rejected partly because of user funds safety. How would you address this issue?

Moreover, I’d feel more comfortable if the legal aspects were cleared out early on since it would function like a mini-bank.

The zcash vending machine looks very cool.

6 Likes

Good evening, thank you for your message.

I understand your concern regarding the management of user funds. I have considered this issue and believe that there are some measures that can be taken to ensure the safety of user funds.
One possible solution is to share the private keys of the wallet with trusted members, such as @Michae2xl, for example, who served as the Zcash ambassador in Brazil. This way, if there are any signs of a hack, they can quickly withdraw the funds to a safer location.

Additionally, by utilizing a reputable Virtual Private Cloud (VPC) service provider, such as Amazon Web Services, the database and private keys can be better secured with features like encryption and firewalls.
I am committed to following all relevant Brazilian legislation, including Article 4 of this document (in portuguese), always keeping best practices in mind.

Also, Dizzy Wallet is intended to be a user-friendly introduction to Zcash for new users. It should be used as a micropayment system to engage users in activities and learning about Zcash, with the goal of incentivizing them to download a full-fledged wallet as soon as possible.

The bot may come with a warning message such as “This is a hot wallet, please do not keep high amounts of ZEC here. Please download the following wallets for greater security.”

I understand your concerns and have the best intentions to ensure that everything is done as safely and fairly as possible.

3 Likes

I’d like to see ir come to reality. And your proposal and replies make me feel you really Trust your project and it’s capabilities. Keep up the good work! :muscle:t3:

4 Likes

Thanks for your kind words, sir! :heart:

3 Likes

Do you know how many people can be affected by this only in Zcash servers? I think we have 4 discord that Zcash members are using, plus telegram.

At scale, if you think to implement it in all Zcash serves, also creating a video tutorial could be great for the community.

2 Likes

Hello Michael, thank you for your question.

I believe the combined member count of Zcash discord servers I am aware of (Zcash Latam, Zcash Foundation, ZcashCommunity, and Zcash A/V Club) adds up to over 1,000 members. Dizzy Wallet will create a wallet for each of these members for their convenience.
However, it is important to note that not all members may be active on Discord. The use of Dizzy Wallet can help engage these users in activities and contribute to growing the community and Zcash adoption.

Additionally, Dizzy will be a public bot, which means it can be invited to any server, providing great potential to expand Zcash beyond cryptocurrency-focused servers.

If everything goes well, by mid-2023, I will also release a Telegram version of Dizzy Wallet, which can help hundreds of users there get an easy introduction to Zcash. (Maybe called Tipsy Wallet?)

I like the idea of creating video tutorials not only on how to use Dizzy Wallet, but also about Zcash features, proper installation and downloading of traditional wallets, and how to transfer funds from Dizzy to their own wallets.

2 Likes

Would this wallet work with viewing keys only and the private keys are stored locally on a users normal wallet? Then a user could simply scans the QR code to authorise/send a transaction?

Hello, thank you for your message.

Although using a viewing key only can improve privacy and safety, this approach requires that users already have a wallet and know how to use it.

The main goal of Dizzy Wallet is to provide an easy introduction to Zcash with little to no effort required from the user. Therefore, I see Dizzy as a learning and community growing tool, rather than a tool for advanced users who are already familiar with the intricacies of Zcash wallets.

Captura de tela_2023-02-17_11-25-50
Example of one user tipping another on Discord. I believe this should be as simple as possible.

3 Likes

Cool. So what does the user experience look like for advanced users with existing wallets? Will the wallet popup a QR code that users can use to tip?


Edit

Thinking about it sounds like it would simply a prompt for a user to fund their account:

James Kats - $ztip @jayjay_katz $0.01zec
Dizzy - $0 available. Send funds to initiate tip. QRCODE.

The user could choose to fund exactly $0.01 worth of ZEC or fund more to make funds available for future tips. In both cases the transfer would trigger the tip to automatically occur when the funds are received through the tipping QR code.

I like the idea of having tips triggered by deposits.

But currently, users can make deposits through Dizzy Direct Messages. The QR code provided by the bot defaults to a Unified Address, but Transparent and Shielded Sapling addresses are also available.

Dizzy continuously monitors the user’s address for new transactions. Whenever a deposit is made to the user’s address, the corresponding amount is automatically credited to their Dizzy account.
Captura de tela_2023-02-17_19-04-58

2 Likes