A thought experiment on Zcash user adoption priorties

This started out as a reply to the grant ideas brainstorm thread, but it got really long, so I’m making it its own topic. It’s a vision for what Zcash could be in the very long future and describes a way of thinking about user adoption that I particularly like. I believe MGRC is in a great position to move Zcash closer to the ideal I’m envisioning! (These are my personal opinions, I’m not speaking on behalf of ECC.)

The way I will approach this is to imagine Zcash as a startup with a plain-and-simple “internet payments and money” product. Let’s set aside—for a moment—Zcash’s core strengths: privacy, censorship-resistance, great community, solid funding, predictable supply, decentralization of power, etc. Let’s also set aside Zcash’s inherent limitations: block size limits, transaction latency, price volatility, regulation, etc. In this thought experiment, think of yourself as an investor who’s evaluating an “internet payments and money” startup—with no awareness of the fact it’s a cryptocurrency!

This mindset makes it natural to overcome some fallacious reasoning that I noticed in myself:

  • “Zcash is worth $800M today. That’d be a huge success for any startup, so we’re heading in the right direction!”
  • “It’s technically impractical to implement <insert awesome UX> with excellent privacy so we have to sacrifice our desired UX.”
  • “<Thing X> is obviously crucial for adoption!” or “<Market X> is obviously the right target!”

With this mindset, what follows?

First off, it’s clear who the competition in the global market are: VISA, Paypal, Venmo, Interac e-Transfer, Transifex, Wire Transfer, Square, are primary. Bitcoin is too but it’s more of a niche thing, lots of people don’t understand it, it’s kinda hard to use, so it’s not that great of a threat. ETH is significant, its programmability addresses a market that even VISA doesn’t. Stablecoins are a big one, but UX issues still put them after Paypal in the short term. Square is in an important case study, because it’s marketing to developers, not end-users directly. Gold and Bitcoin are strong contenders as investments but that’s starting to drift too far away from our “internet payments and money” premise (we can do a similar thought experiment for investments later!).

What would I want to see from a classic startup in order to be competitive in this environment?

  1. A unified front. People should feel like they’re interacting with a single entity who they can trust, get the product from, get support from, and follow to find out about new features.
  2. A mobile app that anyone can use send and receive ZEC and fiat to their friends, family. It has to be easy to fund and withdraw from. It has to be more convenient than competing apps, so that everyone wants to use the app, other apps are cumbersome in comparison! It has to support the flows that everyone’s used to, like paying back a friend for dinner using their email address.
  3. Clear documentation and software libraries, good enough that a PHP developer can write a WordPress plugin to accept Zcash and fiat within a few days’ work. There are Ruby gems, Python packages, Go libraries that make it just as easy to integrate on those platforms too. Developers choose to build on Zcash, switching away from PayPal/Square, because it’s quicker to get going and more reliable.
  4. A popular business (e.g. the likes of Patreon / Brave/BAT) plans to use the libraries to accept payments on their platform, pointing a firehose of users towards Zcash.
  5. There’s a mechanism for dispute resolution, such as you can do with PayPal or by calling your credit card company, except the process is a bit quicker and easier.
  6. Browser extensions or phone-app code generator that makes it easy to pay for products/services online safely. No more worrying about your credit card getting hacked and having to spend hours updating it everywhere.

I consider these the “minimum” required for the hypothetical startup to have a good chance at succeeding. It puts the startup on an equal footing with the competition, has advantages in areas that matter, and a source of users. If any one point is missing, I see a corresponding likely failure mode (it would be fine to shift focus though, e.g. to point-of-sale over remittances).

Being realistic, this would probably succeed as a niche payment platform and start to grow on its own from there. Also being realistic, it would cost $50M+ to build and operate it all!

A theme that runs through each point is that the hypothetical startup is competing for diminishing returns in usability, support experience, and brand perception in order to establish a network effect. This actually works: I use UberEats over SkipTheDishes even though it’s more expensive and has fewer restaurants because it’s faster and Skip’s tracker is unreliable. But there’s a real problem with chasing diminishing returns, it gets incredibly expensive to meaningfully improve on an already-great experience (see: Apple).

Now let’s consider how Zcash at-the-time-of-writing stacks up against these six points and bring Zcash’s strengths and weaknesses back into the picture:

  • The Zcash ecosystem is fragmented. Users have to make a choice whether to get their wallet from ECC, ZecWallet, Nighthawk. It’s confusing. Competitors’ users don’t have to think about this at all.

    • Can Zcash present a more unified front while retaining all of the advantages of a robust decentralized community?
  • ECC’s mission supports a clear moral philosophy that has widespread support in the tech / privacy / hacker / activist community.

    • Have we successfully marketed to that audience? Do they see Zcash in the same light as they see Signal and Tor even if they don’t use Zcash themselves?
  • Zcash is censorship-resistant, inflation-resistant, private money. The big competitors have none of these advantages!

    • Can we find an established business that needs one of these properties and attract a stream of users through them?
    • How do we find and market to users who’ve been censored by PayPal? or victims of inflation? Can we bring the victims of inflation/censorship from all around the world together into a community that has its own network effect?
  • In a competition for diminishing returns, there’s very little room for the protocol to dictate aspects of the user experience.

    • Can we implement convenient features (like pay-to-email-address) on par with the competition while still offering meaningfully improved privacy and less central control?
  • We’re severely lacking developer resources and off-the-shelf libraries. If I had to build a Zcash WordPress plugin it’d take me at least a month and I’d have to build a lot more than just a plugin in order to help my users run/access zcashd.

    • Can we make developer documentation and libraries that are more convenient than Square/PayPal? Can the light wallet code be repurposed to do this cheaply and without the need for a full node?
  • Competing products let users send value denominated in fiat currencies. Even ignoring ZEC price volatility, the mental burden of understanding the fiat<->ZEC conversion is enough by itself to inhibit all of those use cases!

    • Can we support private stablecoins such that they contribute to Zcash’s overall value and network effect? Can we solve that problem differently e.g. “ZEC gets sent under the hood, but users only see dollars” using backend services that do immediate conversions?

These would be my priorities if my goal were to attack the global “internet payments and money” market. There are other markets: there’s the specific subset of that market which really needs Zcash’s unique features, the investment market, banking/finance, etc. Thinking through those markets with this kind of thought experiment should reveal different priorities for each!

IMO, the key roadblock ahead of massive adoption (for all cryptocurrencies) is how to coordinate a decentralized community of funders and developers into building a (perceived-as) unified product better than a private company can do by way of centralized command-and-control. Thinking this way makes it clear how much actually needs to be coordinated to achieve any particular kind of success!

I hope this was interesting if not helpful! Thoughts? Would anyone prioritize differently?


Not only is this an interesting and worthwhile read, it is almost a coherent business plan. The competitive analysis aligning with payment platforms is very strong (IMO), and I love the six point analysis. I’m obviously struggling on the daily with usability goals, but I would like to stand against the wholesale concept of diminishing returns on increasing UX. Yes - for a single product, increasing this-or-that flow can only help the user so much. However, we are increasing the ease-of-use of an entire technology so let’s not ignore the halo gains (pun intended). The concept of zcash as a platform is a very strong reality and one I think should take a lot of hints from your analysis. (edited quick as I did not mean to send yet!)


Also relevant: https://www.zfnd.org/blog/what-is-preventing-zcash-adoption/

1 Like

This is great @earthrise!

1 Like

This isn’t entirely accurate, a end user has no option for a fully supported “ECC” wallet other than a full node on Linux. The reason ZecWallet and Nighthawk exist is due to the decision not to provide user friendly UX to the end user and let the community organically “fill the gaps”, resulting in fragmentation that you are referring to. (zECC mobile wallet not withstanding because it’s not something end user has access to use)

This is badly needed and one of the things I was hoping to fund when I ran for the MGRC. The funding is coming, who will put in the proposal/ work?


Can anything else compete with Paypal/Venmo here? They’ve been building this for years, and now it’s right place & right time with cryptocurrency. Reminds me of how Netflix was building their movie library for years just before 4G made streaming videos possible.


I think stablecoin will be the killer app for a private payment network. Sure it’s nice to have a private (n speculative) store of value but what most people need in a private payment app is stablecoin.

Could this be achieved on-chain? Or would it be better if it’s done separately on a sidechain?


I think this is in part because there is serious friction associated with cryptocurrencies. Suppose you and I agree to enter into a transaction that costs $1000. If I pay you in ZEC, I have to pay a cost to Coinbase (or some other exchange) to convert my fiat to ZEC, and then I have to incur some slippage in my trade. You have incur those exact same costs on your end when you try to convert your ZEC back to fiat. Although I $1000 left my bank account, you might only receive $950 when all is said and done. When you have those fees, it’s hard to compete with Venmo or Cashapp–which is free if you use your bank account.

As a result of those costs, I don’t think it’s wise to try to compete with Paypal or Square. Very few people today value privacy enough to overcome those costs–and a network that few people are willing to use isn’t very valuable. Instead, I think we should try to focus on areas that Paypal and Square either don’t or can’t address.

On the contrary, I think those are more akin to things that Zcash competes against or at least will in the near future.

@NighthawkWallet has affiliate links to SideShift for converting ZEC to USD backed stable-coins like USDC.
A better UX to hold both USDC & ZEC balances is something we’d like to achieve in 2021.
Adding the feature to save z-addrs of contacts + purchasing ZEC from within the wallet would help match the Venmo/CashApp like experience @bradmiller


Yeah, thank you for integrating sideshift!

Although I would think there are two big problems with those (sideshift + USDC on Ethereum) in relation to daily payment:

  • Sideshift.ai is centralized, and no matter how competent the team is, they will be targeted by regulators in the future.
  • USDC is reputable and carry very little regulatory risks (albeit little prone to censorship), however it is on Ethereum which means daily transactions won’t be a) quick b) cheap.

My suggestion is to use the Flexa integration to hold USDC or other stablecoins in centralized manner. I am not sure what their backend is like but I would imagine the spending is not done on-chain with ZEC. How about then, if users can use Flexa “sidechain” to hold USD balance for spending while making it seamless to convert between ZEC and USD balance?

1 Like

This is true, we will most likely have to rely on competent teams till we have an inter-blockchain swap service, there are several cryptocurrency projects working towards achieving that.

USDC is also available on Algorand which has really low transaction fees, ALGO also provides easy to use libraries to integrate with https://algorand.foundation/circle-usdc

:+1: I am waiting for Flexa SDK to be made available for integration with Nighthawk, we just got our grant funded via Gitcoin


This is extremely helpful and matches my priorities for the about-to-be-launched “MGRC” (new name imminent!)

I’d also add that we also have to be extremely dogged in fixing any potential privacy or security issues, to the point where there is absolutely no question that Zcash is the best choice, and ideally no privacy or security reasons to not rely on Zcash.


Good idea!

Some thoughts

  1. Supply audit or verification is critical
  2. For average user who wants to buy and sell goods and service. A stablecoin is required. They can not take on risk of accepting a volatile asset. They need to buy food and pay rent.
  3. Making a new “zcoin” stable coin that eliminates the risk of holding zcash as an asset would expnonentially expand use case. If users could easily swap their zcash into a zcoin and vice versa, then the coins could be used to daily transactions and the zcash would act more like a savings account. The users likely don’t need privacy for these types of transactions so it could bridge issues with regulators for zcash.
  4. Goal should be to allow people who accept payment to get as much money into their pockets as possible, instant clearing (no insufficient funds risk), and no asset vol risk).
  5. Once you have this, then making zcoin useable or swappable is key so that people can use the coins without needing a bank. Effectively the wallet ends up being the bank.
  6. Allow third party service to interact with the Waller. Zcash could be added into the Wallet to reduce risk - a “vault” concept.
  7. People don’t like paying 3 percent to credit card companies for day to day services. So if this could all get done for 1 percent, I think it would be a huge benefit. And the 1 percent fee can be split to help fund dev. Volume could be massive.

Zcash=privacy and value=zaddres
Zcoin=stability and low transition costs=t address. Sure others could do this. But the risk is zcash gets left out. Need to build an ecosystem around zcash