ZecVault, a goal-based savings wallet built on Zcash shielded transactions

TL;DR: I’m building a Zcash wallet that adds goal-based savings vaults — think Revolut Vaults or Monzo Pots, but fully non-custodial, shielded, and with on-chain commitment via Zcash memo fields. Looking for feedback, collaborators, and anyone interested in testing early builds.

The Problem

ZEC is a genuinely great store of value — private, fungible, censorship-resistant. But the wallet UX ecosystem today mostly mirrors Bitcoin wallet design: send, receive, history. There’s no first-class experience for intentional saving.

When people want to save for something specific — a trip, a down payment, an emergency fund — the habit doesn’t stick because there’s no psychological scaffolding. Nothing makes the goal feel real. You’re just watching a number change in a generic wallet.

Behavioral finance research is clear: earmarking money for a specific purpose dramatically increases the probability of achieving a savings goal. Apps like Revolut, YNAB, and Monzo have proven this works at scale in fiat. No one has built this for ZEC.

What ZecVault Is

ZecVault is a non-custodial Zcash wallet with a “vault” layer on top. Here’s the core mechanic:

Vault Keys

Each vault is a separate shielded Zcash address derived from the user’s master seed. You assign a goal to it: Trip to Japan, Emergency Fund, Engagement Ring. You set a target amount and a deadline.

The private key lives locally on the device — so technically, the user can always access the funds. We’re not custodial. But the wallet itself enforces the commitment: withdrawal before the goal deadline requires a deliberate, friction-heavy “Break Vault” flow. Think: typing the goal name to confirm, a 24-hour soft lock, a clear display of how much progress you’re abandoning.

This is the core insight: you don’t need a smart contract or a custodian to create meaningful financial commitment. You just need intentional UX friction.

Memo-Field Anchoring

On first deposit to any vault, ZecVault writes a structured memo to the Zcash blockchain:

Goal: Trip to Japan · Target: 10 ZEC · Deadline: 2025-06-01 · Created: 2025-04-01

This memo is encrypted (only the vault key holder can read it), immutable, and permanent. It’s your on-chain commitment record — no server, no third-party, just the Zcash memo field doing what it was designed to do. I think this is an underused primitive that ZecVault can bring real attention to.

Goal Templates & Themed UX

Goals come with templates that change the UI. A Ring vault looks different from a Trip vault looks different from an Emergency vault. Progress bars are themed, milestones trigger celebrations, and the UI is designed to make the goal feel tangible — not abstract.

Contribution modes include: manual deposits, auto round-up (round any outgoing ZEC transaction up to the nearest 0.1 ZEC and send the difference to the active vault), and recurring scheduled contributions.

Tech Approach

Fully open-source. Built on:

  • librustzcash and zcash_client_sqlite for the wallet core

  • React Native + Expo for mobile (iOS + Android)

  • Tauri for a companion desktop version

  • No backend storing user data — lightwalletd for chain sync, everything else is local

  • Vault addresses are deterministically derived from BIP39 seed — full recovery from one backup

What I’m Looking For

  • Technical feedback — especially from anyone who has worked with zcash_client_backend or built Zcash wallets. The vault address derivation path is something I’d love input on.

  • UX feedback — Is the “friction as a feature” approach too aggressive? Not aggressive enough? Have you tried saving in ZEC and hit friction points?

  • Collaborators — Looking for a mobile dev (RN experience) and ideally someone who knows the Zcash protocol deeply. Open to ZCG grants to fund development.

  • Community signal — Would you use this? What goal would you save for in ZEC? Genuine answers help enormously.

Why ZEC, Not Another Chain?

A goal savings tool built on transparent transactions misses the point. Your savings goals are personal — nobody needs to know you’re saving for a ring, or how much your emergency fund holds. Zcash’s shielded transactions mean your vault is invisible to blockchain observers. The memo field gives you immutable personal records without exposing anything. This product genuinely couldn’t work as well on any other chain.

Next Steps

I’m targeting a closed alpha in 8 weeks covering the core wallet + single vault flow. If you want to be an early tester or have technical questions, reply here or reach out directly. I’ll be posting progress updates in this thread.

Thanks for reading. The Zcash community is the only ecosystem where I’d build this — the values align completely. Let’s make ZEC the currency people save with, not just transact with.

3 Likes

Our support for react native is not great. What’s your approach there?

1 Like

Currently, implemented wallet creation flow, lightwalletd integration, and the mock UI/Flow.

Now I will implement ZEC sending feature and Vault flow.

Would love to get feedback.

Thank you.

2 Likes

Great work building a vault. Vault apps have a lot of potential. Are there any plans to incorporate private vault management features, such as time-locked assets, in the future?

2 Likes

After collecting feedback, I will implement the necessary features.

After reviewing it again, I decided not to use React Native.

I will decide again after finding a mobile developer.

I am planning to introduce this features in ZecVault.

Do you think it will be helpful for new ZEC users, or could it cause confusion?

  • Useful
  • Confusing
0 voters

If it is useful, should this feature be enabled by default, with an option to turn it off in settings? Or should it be disabled by default?

  • Enable by default
  • Disable by default
0 voters

I would say it is a useful feature, but I would encourage you to codify it in a ZIP process so others have a clear spec to follow. Developers just raw dogging it is how we got incompatible seed phrases :roll_eyes:

1 Like

I’ve implemented the basic wallet features, including wallet creation/restoration, ZEC transfers, and the Vault Cycle.

At the moment, development is supported on Linux only and can be run via npm run dev:linux.

I’ll be releasing a Linux beta build soon for testing.

Now I’m looking for a partner to help build this project together.

In particular, I’m looking for someone who can help with testing, creating demo videos, and supporting the project in other practical ways.

If you’re interested, please reach out to me.

Thank you.

ZecVault will be good I, was working on vaults on Secret Network. with time locks etc. seem like they are ahead of its times at the moment. Here the repo Lowo88/Legacy-contract: Legacy Contract - A Privacy-Preserving Smart Contract for Asset Inheritance A Solidity smart contract that enables secure and private inheritance of digital assets using zero-knowledge proofs (Halo2). The contract allows users to: - Create private vaults with time-locked assets Key Features: - Halo2 zero-knowledge proof integration I have the secret one that, I had with Sean from secret can’t find it :melting_face:

1 Like

I’ve added github actions workflows to automate Ubuntu app releases for the build.

And also integrated the deterministic 4-word alias feature into ZecVault.

Latest beta release : Release v0.1.4 · gorusys/zecvault · GitHub

Released windows app.

Macos app here.

Really sorry for this updates, Macos build is not working well yet.

I am running a dedicated lightwalletd for ZecVault - lightwallet.getzecvault.com