MetaMask Users Can Now Access Shielded ZEC

Zcash Community Grants (ZCG) is excited to announce the release of Zcash Shielded Wallet a new MetaMask Snap developed by ChainSafe that allows users to send, receive, and manage shielded ZEC directly from their browser. While shielded ZEC is available in Brave’s web wallet, this launch brings shielded Zcash to MetaMask for the first time, making unstoppable private money accessible to the millions of MetaMask users who rely on it as a standard wallet across the Ethereum and broader Web3 ecosystem.

This project was the result of research and development by ChainSafe, funded through grants from ZCG and MetaMask Grants DAO. In 2024, ZCG supported an initial feasibility study to determine whether shielded ZEC could realistically operate in a browser environment. The study confirmed it was possible to generate and verify zero-knowledge proofs client-side without compromising performance or privacy. Building on these findings, ChainSafe created a browser-native Zcash library (WebZjs) and integrated it into a MetaMask Snap.

The result is a seamless, private Zcash experience in MetaMask. Zcash Shielded Wallet supports fully shielded send and receive, Sapling and Orchard key management, and native ZEC support, all within the familiar MetaMask interface. The project underwent thorough testing, incorporated community feedback, and completed a full security audit to ensure it meets high standards for privacy and usability. With this wallet, MetaMask users can now easily access shielded ZEC in a workflow they’re familiar with.

We’re grateful to ChainSafe for their outstanding work and to the community members who provided valuable feedback throughout development. Special thanks to @pacu for his close involvement as an advisor to ChainSafe, including his support throughout the entire development process with code reviews, pair programming with core developers, and technical guidance. This project demonstrates the shared support of ZCG and MetaMask Grants DAO for privacy-preserving technology that helps expand access to shielded ZEC.

Download it and try it today!

32 Likes

possible memo functionality / payment uri detection be added later on?

3 Likes

unstoppable private money!

2 Likes

Feedback

This is intended as constructive :smiling_face_with_three_hearts:

I’m trying to understand why they need my viewkey?

Can we not select the Zcash network? Curious it only works via their site:

https://webzjs.chainsafe.dev/

Default UA includes a transparent receiver

I’m also not a fan of the this 10 pager:

and

Trade offs between privacy and convenience should be talked about.

19 Likes

Thanks everyone! Keep the feedback coming :tada:!

2 Likes

I had the same questions - I’m not granting them access to a viewing key and so only got that far.

4 Likes

Hi @dismad, Colin from ChainSafe here. Thanks for your feedback! This message is a bit misleading and we are working to clarify and update it.

To clarify, ChainSafe does not have access to user’s spending nor viewing key. Furthermore, the viewing key is never stored, sent or logged in any way on the web wallet side.

It is not possible to have a complete webzjs wallet running in the snap environment so a viewing key is needed in the browser local environment. The webzjs web-wallet is running locally in the browser so it needs the viewing key to create an account users can interact with. The spending key never leaves the snap environment.

I hope this clarifies what is going on and makes you all comfortable with using the snap. If you still have any questions or concerns regarding this or anything else, please let us know.

11 Likes
14 Likes