ZECpages Testnet Faucet - App development + 1 year infra

Applicant background

I, Michael Harms, am a full stack web developer. I first built ZECpages.com a year ago. I made zecmailer.com before that, as a way to streamline anonymous publishing. They are and will always be open source.

ZECpages is an example of what Balaji Srinivasan has called “Blockchain MVC”, a full stack app built on a global data store. For ZECpages, this means a set of encrypted memos associated with one view key. This makes the data that powers ZECpages durable, auditable, and open.

Motivation and overview

I've seen quite a few threads of people asking for TAZ because https://faucet.testnet.z.cash/ doesn't support taddrs. I often end up sending these people TAZ manually.

I ran this testnet faucet for about a month, but I took down the full node because of costs.

Onboarding developers to Zcash is super important. A working, accessible testnet faucet removes a great deal of friction in that onboarding.

In addition, the codebase is a very simple example implementation of a React/Node app that uses Zcash RPC. I've been told that '[my] repositories are an inspiration.' It's an honor to hear that, and while I'd maybe not go that far, having simple, readable examples of Zcash apps seems important in onboarding devs, possibly even more than quick access to TAZ. To this end, the codebase/readme could use a refactor for more thorough deployment details and code readability.

I'm not worried about autonomy over my testnet faucet - I'd gladly acknowledge on the faucet's single page that the resource was made possible and funded in full by a grant from ZOMG if that's desirable.

Technical approach

The faucet is live. See it here: https://faucet.zecpages.com

If ZOMG wants any features/changes to the present app, I'm happy to add developments to this proposal. If another testnet fullnode/lightwalletd isn't super valuable, it'd be pretty trivial to refactor this to use a light wallet and save on servers.

It works with zaddrs and taddrs, and uses push notifications to return users a txid when the send operation succeeds. Its code is already open-source. See it here: https://github.com/michaelharms6010/zcash-faucet

Execution risks

Use could outscale the box. I'm happy to roll with this challenge with the possibility of a future grant if needed.


Not sure - open to suggestions

Evaluation plan

Uptime - The faucet and node should have 99.9% uptime

Tasks and schedule

Day 0 - Faucet is already deployed, code already open sourced

Week 1 - Readability/documentation refactor (~1/2 day of work)

Week 52 - Faucet is still up has been for 99.9% or more of the last year

Occasionally: NU/deprecation updates to zcashd

Budget and justification


One developer - 16 hrs (2 full days) to build/test faucet app + 4 hour refactor = 20 hrs * $150/hr - $3000

Total Dev - $3000


1 yr Large instance + extra storage - $115/month - $1380/yr 2 hr/month maintenance * 50/hr = $100/month - $1200/yr

This request covers 1 year of servers/maintenance as well as the development of the app.

Total Infra - $2580

Total - $5580


Tips Received


23 days ago
Funded through  Zomg logo
Deployment / First 6 months infra
Maintainability refactor
Second half of infra costs

Maintainability refactor

Estimate: April 2021
Reward: $558
The team requested a payout for this milestone 5 days ago. It is currently under review.
Formatting and app structure polish, improve documentation.

Payment Requested

The team requested a payout on Apr 18th, 2021, 2:03 am, and awaits approval.