# ZIP 214: Consensus rules for a Zcash Development Fund

Status: Final, Final, Proposed, Draft

Owners: Daira-Emma Hopwood, Kris Nuttycombe

Snapshot: a34cfc091434275120ff017c92c3b50d3cef623a

Source date: 2026-10-16T02:56:04+01:00

[Source revision](https://github.com/zcash/zips/commit/a34cfc091434275120ff017c92c3b50d3cef623a)

[Official source](https://zips.z.cash/zip-0214) · [Source file](https://github.com/zcash/zips/blob/a34cfc091434275120ff017c92c3b50d3cef623a/zips/zip-0214.rst) · [Discussion](https://forum.zcashcommunity.com/t/community-sentiment-polling-results-nu4-and-draft-zip-1014/35560)

Preamble

**ZIP**: 214

**Title**: Consensus rules for a Zcash Development Fund

**Owners**: 

- [Daira-Emma Hopwood](mailto:daira@jacaranda.org)
- [Kris Nuttycombe](mailto:kris@nutty.land)

**Status**: [Revision 0: Canopy, Revision 1: NU6] Final, [Revision 2: NU6.1] Proposed, [Revision 3: NU7] Draft

**Category**: Consensus

**Created**: 2020-02-28

**Last-Updated**: 2026-10-13

**License**: MIT

**Discussions-To**: [https://forum.zcashcommunity.com/t/community-sentiment-polling-results-nu4-and-draft-zip-1014/35560](https://forum.zcashcommunity.com/t/community-sentiment-polling-results-nu4-and-draft-zip-1014/35560)

<a id="terminology"></a>

## Terminology

The key words "SHALL", "SHOULD", and "MAY" in this document are to be interpreted as described in BCP 14<a id="fnref1"></a>
[1](#fn1) when, and only when, they appear in all capitals.

The term "Zcash" in this document is to be interpreted as described in the Zcash Trademark Donation and License Agreement (<a id="fnref2"></a>
[2](#fn2) or successor agreement) while that agreement is in effect. On termination of that agreement, the term "Zcash" will refer to the continuations of the same Mainnet and Testnet block chains as determined by social consensus.

The term "network upgrade" in this document is to be interpreted as described in ZIP 200<a id="fnref3"></a>
[3](#fn3), and the Zcash Trademark Donation and License Agreement (<a id="fnref4"></a>
[4](#fn4) or successor agreement) while that agreement is in effect.

The term "block subsidy" in this document is to be interpreted as described in section 3.10 of the Zcash Protocol Specification<a id="fnref5"></a>
[5](#fn5).

The term "halving" in this document is to be interpreted as described in section 7.8 of the Zcash Protocol Specification<a id="fnref6"></a>
[6](#fn6).

The terms "Bootstrap Project" (or "BP"), "Electric Coin Company" (or "ECC"), "Zcash Foundation" (or "ZF"), "Major Grants", "BP slice", "ZF slice", and "MG slice" in this document are to be interpreted as described in ZIP 1014 <a id="fnref7"></a>
[7](#fn7).

The terms "Zcash Community Grants" (or "ZCG") and "Financial Privacy Foundation" (or "FPF") in this document are to be interpreted as described in ZIP 1015 <a id="fnref8"></a>
[8](#fn8).

The terms "Testnet" and "Mainnet" are to be interpreted as described in section 3.12 of the Zcash Protocol Specification<a id="fnref9"></a>
[9](#fn9).

"Blossom" is the code-name for the third Zcash network upgrade, also known as Network Upgrade 2.

"Canopy" is the code-name for the fifth Zcash network upgrade, also known as Network Upgrade 4.

"NU6" is the code-name for the seventh Zcash network upgrade, also known as Network Upgrade 6.

"NU6.1" is the code-name for the network upgrade deployed by ZIP 255 <a id="fnref10"></a>
[10](#fn10).

"NU7" is the code-name for the network upgrade deployed by ZIP 259 <a id="fnref11"></a>
[11](#fn11).

<a id="abstract"></a>

## Abstract

[Revision 0](#Revision 0) of this ZIP describes consensus rule changes interpreting the proposed structure of the Zcash Development Fund, which was enacted in Network Upgrade 4 and lasted for 4 years.

[Revision 1](#Revision 1) of this ZIP describes consensus rule changes related to funding of Zcash development via block subsidies, enacted at Network Upgrade 6 and lasting for 1 year.

[Revision 2](#Revision 2) of this ZIP describes consensus rule changes related to funding of Zcash development via block subsidies, enacted at Network Upgrade 6.1 and lasting for 3 years.

[Revision 3](#Revision 3) of this ZIP describes consensus rule changes related to the change of block target spacing to 25 seconds in ZIP 218<a id="fnref12"></a>
[12](#fn12), to be enacted at Network Upgrade 7. It preserves the end of the [Revision 2](#Revision 2) funding streams at the third halving, and updates the `FS_FPF_ZCG_H3` recipient address per ZIP 2008<a id="fnref13"></a>
[13](#fn13).

<a id="applicability"></a>

## Applicability

This ZIP concerns the Zcash Mainnet and Testnet, and is not intended to be applicable to other block chains using Zcash technology.

<a id="motivation"></a>

## Motivation

Motivation for the Zcash Development Fund itself is considered in ZIPs 1014 <a id="fnref14"></a>
[14](#fn14) and 1015<a id="fnref15"></a>
[15](#fn15), which give high-level descriptions of the intended structure of the funds.

An important motivation for describing the consensus rules in a separate ZIP is to avoid making unintended changes to ZIPs 1014 and 1015, which have already been agreed between ECC, ZF, and the Zcash community. This facilitates critically assessing whether the consensus rule changes accurately reflect the intent of ZIPs 1014 and 1015.

<a id="requirements"></a>

## Requirements

The primary requirement of this ZIP is to make changes to consensus rules necessary and sufficient to implement the intent of ZIPs 1014 and 1015.

The Zcash Development Fund distributes funding in ZEC obtained from block subsidies on Mainnet. This ZIP should also specify corresponding rules, addresses, and activation height for Testnet, in order to allow testing and auditing of the design and implementation within sufficient lead time before activation on Mainnet.

<a id="non-requirements"></a>

## Non-requirements

This ZIP is not required to enforce provisions of ZIP 1014 or ZIP 1015 that fall outside what is implementable by Zcash consensus rules.

<a id="specification"></a>

## Specification

<a id="revisions"></a>

### Revisions

<a id="Revision 0"></a>

- Revision 0: The initial version of this specification, as agreed upon by the Zcash community in ZIP 1014<a id="fnref16"></a>
  [16](#fn16).

<a id="Revision 1"></a>

- Revision 1: Funding streams defined to start at Zcash's second halving, and last for one year, as agreed upon in ZIP 1015<a id="fnref17"></a>
  [17](#fn17).

<a id="Revision 2"></a>

- Revision 2: Funding streams defined to start at the end height of the [Revision 1](#Revision 1) funding streams, and last for three years, as agreed upon in ZIP 1016<a id="fnref18"></a>
  [18](#fn18).

<a id="Revision 3"></a>

- Revision 3: Preserve the [Revision 2](#Revision 2) funding streams until the third halving under the 25-second block target spacing of ZIP 218<a id="fnref19"></a>
  [19](#fn19), and update the recipient address for the `FS_FPF_ZCG_H3` funding stream per ZIP 2008 <a id="fnref20"></a>
  [20](#fn20).

<a id="activation"></a>

### Activation

The Blossom network upgrade changed the height of the first halving to block height 1046400<a id="fnref21"></a>
[21](#fn21), as a consequence of reducing the block target spacing from 150 seconds to 75 seconds.

Since ZIP 1014 specifies that the Zcash Development Fund starts at the first halving, the activation height of Canopy on Mainnet therefore SHALL be 1046400.

[Revision 0](#Revision 0) of ZIP 207<a id="fnref22"></a>
[22](#fn22) SHALL be activated in Canopy.

Since ZIP 1015 specifies that the specified funding streams start at the second halving, the activation height of NU6 on Mainnet therefore SHALL be 2726400.

[Revision 1](#Revision 1) of ZIP 207<a id="fnref23"></a>
[23](#fn23) SHALL be activated in NU6.

For [Revision 3](#Revision 3), the NU7 activation height $A$ on each network SHALL be a multiple of 3. ZIP 259<a id="fnref24"></a>
[24](#fn24) assigns the activation heights.

As specified in<a id="fnref25"></a>
[25](#fn25), a funding stream is active for a span of blocks that includes the block at its start height, but excludes the block at its end height.

<a id="funding-streams"></a>

### Funding Streams

As of [Revision 0](#Revision 0), the following funding streams are defined for Mainnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_ZIP214_BP` | > 7 | > 100 | > 1046400 | > 2726400 |
| `FS_ZIP214_ZF` | > 5 | > 100 | > 1046400 | > 2726400 |
| `FS_ZIP214_MG` | > 8 | > 100 | > 1046400 | > 2726400 |

As of [Revision 0](#Revision 0), the following funding streams are defined for Testnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_ZIP214_BP` | > 7 | > 100 | > 1028500 | > 2796000 |
| `FS_ZIP214_ZF` | > 5 | > 100 | > 1028500 | > 2796000 |
| `FS_ZIP214_MG` | > 8 | > 100 | > 1028500 | > 2796000 |

As of [Revision 1](#Revision 1), the following additional streams are defined for Mainnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_FPF_ZCG` | > 8 | > 100 | > 2726400 | > 3146400 |
| `FS_DEFERRED` | > 12 | > 100 | > 2726400 | > 3146400 |

As of [Revision 1](#Revision 1), the following additional streams are defined for Testnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_FPF_ZCG` | > 8 | > 100 | > 2976000 | > 3396000 |
| `FS_DEFERRED` | > 12 | > 100 | > 2976000 | > 3396000 |

As of [Revision 2](#Revision 2), the following additional streams are defined for Mainnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_FPF_ZCG_H3` | > 8 | > 100 | > 3146400 | > 4406400 |
| `FS_CCF_H3` | > 12 | > 100 | > 3146400 | > 4406400 |

As of [Revision 2](#Revision 2), the following additional streams are defined for Testnet:

| Stream | Numerator | Denominator | Start height | End height |
| --- | --- | --- | --- | --- |
| `FS_FPF_ZCG_H3` | > 8 | > 100 | > 3536500 | > 4476000 |
| `FS_CCF_H3` | > 12 | > 100 | > 3536500 | > 4476000 |

As of [Revision 3](#Revision 3), the end height of each [Revision 2](#Revision 2) funding stream on each network SHALL be $\mathsf{HeightForHalving}(3)$ as defined in ZIP 207 <a id="fnref26"></a>
[26](#fn26), calculated using the post-NU7 $\mathsf{Halving}$ function of ZIP 218<a id="fnref27"></a>
[27](#fn27). This change takes effect at NU7 activation on that network. The start height, numerator, and denominator of each stream remain as specified above. The end height is exclusive, as specified in ZIP 207<a id="fnref28"></a>
[28](#fn28).

For a network on which NU7 activates before the third halving, let $A$ be its NU7 activation height, and let $H_3$ be the pre-NU7 third-halving height (4406400 on Mainnet or 4476000 on Testnet). The new end height is $A + 3 \cdot (H_3 - A)$. This expression is equivalent to $\mathsf{HeightForHalving}(3)$ under ZIP 218 for these networks. If NU7 activates at or after $H_3$, this revision does not reactivate an expired funding stream.

On Testnet, ZIP 259<a id="fnref29"></a>
[29](#fn29) assigns the NU7 activation height $A = 4465026$. The new end height of `FS_FPF_ZCG_H3` and `FS_CCF_H3` on Testnet is therefore $4465026 + 3 \cdot (4476000 - 4465026) = 4497948$.

The value of each stream at a post-NU7 height SHALL continue to be calculated separately using the floor operation in ZIP 207<a id="fnref30"></a>
[30](#fn30) and the post-NU7 $\mathsf{BlockSubsidy}$ of ZIP 218<a id="fnref31"></a>
[31](#fn31). No fractional zatoshi is paid or carried forward. In particular, when the post-NU7 block subsidy is 52083333 zatoshi before the third halving, `FS_FPF_ZCG_H3` receives 4166666 zatoshi and `FS_CCF_H3` receives 6249999 zatoshi per block.

As of [Revision 3](#Revision 3), the $\mathsf{AddressIndex}$ and $\mathsf{Address}$ calculations for `FS_FPF_ZCG_H3` SHALL use the NU7 $\mathsf{AddressPeriod}$ definition in Revision 2 of ZIP 207 <a id="fnref32"></a>
[32](#fn32). This triples the remaining block count if NU7 activates partway through an address period, and each subsequent period lasts 105000 blocks. At the 25-second target spacing, each period retains approximately its previous wall-clock duration and funding amount, subject to per-block rounding.

Notes for [Revision 0](#Revision 0):

- The block heights of halvings are different between Testnet and Mainnet, as a result of different activation heights for the Blossom network upgrade (which changed the block target spacing). The end height of these funding streams corresponds to the second halving on each network.

- On Testnet, the activation height of Canopy is before the first halving. Therefore, the consequence of the above rules for Testnet is that the amount sent to each Zcash Development Fund recipient address is initially (before Testnet block height 1116000) double the number of currency units as the corresponding initial amount on Mainnet. This reduces to the same number of currency units as on Mainnet, from Testnet block heights 1116000 (inclusive) to 2796000 (exclusive).

Notes for [Revision 1](#Revision 1):

- The new funding streams begin at the second halving for Mainnet, but the second halving on Testnet occurred prior to the introduction of the new funding streams. For both new funding streams on each network, the associated duration corresponds to approximately one year's worth of blocks.

<a id="dev-fund-recipient-addresses-for-revision-0"></a>

### Dev Fund Recipient Addresses for [Revision 0](#Revision 0)

For each of Testnet and Mainnet, before deploying this ZIP in a node implementation with the activation height set for that network, each of the parties (ECC on behalf of BP; and ZF) SHALL generate sequences of recipient addresses to be used for each stream in each funding period:

- ECC SHALL generate the addresses for the `FS_ZIP214_BP` funding stream, which on Mainnet corresponds to the **BP slice**;

- ZF SHALL generate the addresses for the `FS_ZIP214_ZF` and `FS_ZIP214_MG` funding streams, which on Mainnet correspond to the **ZF slice** and **MG slice** respectively.

Within each stream, the addresses MAY be independent, or MAY be repeated between funding periods. Each party SHOULD take account of operational security issues associated with potential compromise of the associated spending keys.

Funds sent to each Mainnet funding stream SHALL be governed by all requirements on the corresponding slice specified in ZIP 1014<a id="fnref33"></a>
[33](#fn33).

No requirements are imposed on the use of funds sent to Testnet funding streams.

<a id="direct-grant-option"></a>

#### Direct-grant option

ZIP 1014 specified a "direct-grant option" by which, if agreed upon by both ECC and ZF before Canopy activation, some portion of the **MG slice** may be directly assigned to the grantee(s), rather than accepted and disbursed by ZF.<a id="fnref34"></a>
[34](#fn34) However, this option was never taken up.

<a id="mainnet-recipient-addresses-for-revision-0"></a>

### Mainnet Recipient Addresses for [Revision 0](#Revision 0)

In this and the following sections, `FS_X.AddressList` denotes the sequence `FundingStream[FS_X].Addresses` of ZIP 207<a id="fnref35"></a>
[35](#fn35), indexed from 0. (The protocol specification calls the same sequence `fs.Recipients` and indexes it from 1.<a id="fnref36"></a>
[36](#fn36))

```
FS_ZIP214_BP.AddressList[0..47] = [
  "t3LmX1cxWPPPqL4TZHx42HU3U5ghbFjRiif",
  "t3Toxk1vJQ6UjWQ42tUJz2rV2feUWkpbTDs",
  "t3ZBdBe4iokmsjdhMuwkxEdqMCFN16YxKe6",
  "t3ZuaJziLM8xZ32rjDUzVjVtyYdDSz8GLWB",
  "t3bAtYWa4bi8VrtvqySxnbr5uqcG9czQGTZ",
  "t3dktADfb5Rmxncpe1HS5BRS5Gcj7MZWYBi",
  "t3hgskquvKKoCtvxw86yN7q8bzwRxNgUZmc",
  "t3R1VrLzwcxAZzkX4mX3KGbWpNsgtYtMntj",
  "t3ff6fhemqPMVujD3AQurxRxTdvS1pPSaa2",
  "t3cEUQFG3KYnFG6qYhPxSNgGi3HDjUPwC3J",
  "t3WR9F5U4QvUFqqx9zFmwT6xFqduqRRXnaa",
  "t3PYc1LWngrdUrJJbHkYPCKvJuvJjcm85Ch",
  "t3bgkjiUeatWNkhxY3cWyLbTxKksAfk561R",
  "t3Z5rrR8zahxUpZ8itmCKhMSfxiKjUp5Dk5",
  "t3PU1j7YW3fJ67jUbkGhSRto8qK2qXCUiW3",
  "t3S3yaT7EwNLaFZCamfsxxKwamQW2aRGEkh",
  "t3eutXKJ9tEaPSxZpmowhzKhPfJvmtwTEZK",
  "t3gbTb7brxLdVVghSPSd3ycGxzHbUpukeDm",
  "t3UCKW2LrHFqPMQFEbZn6FpjqnhAAbfpMYR",
  "t3NyHsrnYbqaySoQqEQRyTWkjvM2PLkU7Uu",
  "t3QEFL6acxuZwiXtW3YvV6njDVGjJ1qeaRo",
  "t3PdBRr2S1XTDzrV8bnZkXF3SJcrzHWe1wj",
  "t3ZWyRPpWRo23pKxTLtWsnfEKeq9T4XPxKM",
  "t3he6QytKCTydhpztykFsSsb9PmBT5JBZLi",
  "t3VWxWDsLb2TURNEP6tA1ZSeQzUmPKFNxRY",
  "t3NmWLvZkbciNAipauzsFRMxoZGqmtJksbz",
  "t3cKr4YxVPvPBG1mCvzaoTTdBNokohsRJ8n",
  "t3T3smGZn6BoSFXWWXa1RaoQdcyaFjMfuYK",
  "t3gkDUe9Gm4GGpjMk86TiJZqhztBVMiUSSA",
  "t3eretuBeBXFHe5jAqeSpUS1cpxVh51fAeb",
  "t3dN8g9zi2UGJdixGe9txeSxeofLS9t3yFQ",
  "t3S799pq9sYBFwccRecoTJ3SvQXRHPrHqvx",
  "t3fhYnv1S5dXwau7GED3c1XErzt4n4vDxmf",
  "t3cmE3vsBc5xfDJKXXZdpydCPSdZqt6AcNi",
  "t3h5fPdjJVHaH4HwynYDM5BB3J7uQaoUwKi",
  "t3Ma35c68BgRX8sdLDJ6WR1PCrKiWHG4Da9",
  "t3LokMKPL1J8rkJZvVpfuH7dLu6oUWqZKQK",
  "t3WFFGbEbhJWnASZxVLw2iTJBZfJGGX73mM",
  "t3L8GLEsUn4QHNaRYcX3EGyXmQ8kjpT1zTa",
  "t3PgfByBhaBSkH8uq4nYJ9ZBX4NhGCJBVYm",
  "t3WecsqKDhWXD4JAgBVcnaCC2itzyNZhJrv",
  "t3ZG9cSfopnsMQupKW5v9sTotjcP5P6RTbn",
  "t3hC1Ywb5zDwUYYV8LwhvF5rZ6m49jxXSG5",
  "t3VgMqDL15ZcyQDeqBsBW3W6rzfftrWP2yB",
  "t3LC94Y6BwLoDtBoK2NuewaEbnko1zvR9rm",
  "t3cWCUZJR3GtALaTcatrrpNJ3MGbMFVLRwQ",
  "t3YYF4rPLVxDcF9hHFsXyc5Yq1TFfbojCY6",
  "t3XHAGxRP2FNfhAjxGjxbrQPYtQQjc3RCQD"
]

FS_ZIP214_ZF.AddressList[0..47] = ["t3dvVE3SQEi7kqNzwrfNePxZ1d4hUyztBA1"] * 48

FS_ZIP214_MG.AddressList[0..47] = ["t3XyYW8yBFRuMnfvm5KLGFbEVz25kckZXym"] * 48
```

(i.e. `FS_ZIP214_ZF.AddressList` and `FS_ZIP214_MG.AddressList` for Mainnet each consist of 48 repetitions of the same address).

<a id="mainnet-recipients-for-revision-1"></a>

### Mainnet Recipients for [Revision 1](#Revision 1)

```
FS_FPF_ZCG.AddressList[0..11] = ["t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow"] * 12
FS_DEFERRED = DEFERRED_POOL as defined in ZIP 207
```

<a id="mainnet-recipients-for-revision-2-and-revision-3"></a>

### Mainnet Recipients for [Revision 2](#Revision 2) and [Revision 3](#Revision 3)

```
N = FundingStream[FS_FPF_ZCG_H3].AddressIndex(NU7ActivationHeight - 1) + 1
FS_FPF_ZCG_H3.AddressList[0..N-1] = ["t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow"] * N
FS_FPF_ZCG_H3.AddressList[N..35] = ["t1MkHnkxVjNpNbCrSs3AJ8J7ZSp6NTYiUcG"] * (36 - N)
FS_CCF_H3 = DEFERRED_POOL as defined in ZIP 207
```

The [Revision 2](#Revision 2) address list length remains valid under [Revision 3](#Revision 3): the last active block still selects index 35 when NU7 activates during the [Revision 2](#Revision 2) funding stream.

Note: The addresses `FS_FPF_ZCG_H3.AddressList[N..35]` were altered in [Revision 3](#Revision 3) by the NU7 upgrade in ZIP 2008<a id="fnref37"></a>
[37](#fn37).

<a id="testnet-recipient-addresses-for-revision-0"></a>

### Testnet Recipient Addresses for [Revision 0](#Revision 0)

```
FS_ZIP214_BP.AddressList[0..50] = [
  "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz",
  "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz",
  "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz",
  "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz",
  "t2NNHrgPpE388atmWSF4DxAb3xAoW5Yp45M",
  "t2VMN28itPyMeMHBEd9Z1hm6YLkQcGA1Wwe",
  "t2CHa1TtdfUV8UYhNm7oxbzRyfr8616BYh2",
  "t2F77xtr28U96Z2bC53ZEdTnQSUAyDuoa67",
  "t2ARrzhbgcpoVBDPivUuj6PzXzDkTBPqfcT",
  "t278aQ8XbvFR15mecRguiJDQQVRNnkU8kJw",
  "t2Dp1BGnZsrTXZoEWLyjHmg3EPvmwBnPDGB",
  "t2KzeqXgf4ju33hiSqCuKDb8iHjPCjMq9iL",
  "t2Nyxqv1BiWY1eUSiuxVw36oveawYuo18tr",
  "t2DKFk5JRsVoiuinK8Ti6eM4Yp7v8BbfTyH",
  "t2CUaBca4k1x36SC4q8Nc8eBoqkMpF3CaLg",
  "t296SiKL7L5wvFmEdMxVLz1oYgd6fTfcbZj",
  "t29fBCFbhgsjL3XYEZ1yk1TUh7eTusB6dPg",
  "t2FGofLJXa419A76Gpf5ncxQB4gQXiQMXjK",
  "t2ExfrnRVnRiXDvxerQ8nZbcUQvNvAJA6Qu",
  "t28JUffLp47eKPRHKvwSPzX27i9ow8LSXHx",
  "t2JXWPtrtyL861rFWMZVtm3yfgxAf4H7uPA",
  "t2QdgbJoWfYHgyvEDEZBjHmgkr9yNJff3Hi",
  "t2QW43nkco8r32ZGRN6iw6eSzyDjkMwCV3n",
  "t2DgYDXMJTYLwNcxighQ9RCgPxMVATRcUdC",
  "t2Bop7dg33HGZx3wunnQzi2R2ntfpjuti3M",
  "t2HVeEwovcLq9RstAbYkqngXNEsCe2vjJh9",
  "t2HxbP5keQSx7p592zWQ5bJ5GrMmGDsV2Xa",
  "t2TJzUg2matao3mztBRJoWnJY6ekUau6tPD",
  "t29pMzxmo6wod25YhswcjKv3AFRNiBZHuhj",
  "t2QBQMRiJKYjshJpE6RhbF7GLo51yE6d4wZ",
  "t2F5RqnqguzZeiLtYHFx4yYfy6pDnut7tw5",
  "t2CHvyZANE7XCtg8AhZnrcHCC7Ys1jJhK13",
  "t2BRzpMdrGWZJ2upsaNQv6fSbkbTy7EitLo",
  "t2BFixHGQMAWDY67LyTN514xRAB94iEjXp3",
  "t2Uvz1iVPzBEWfQBH1p7NZJsFhD74tKaG8V",
  "t2CmFDj5q6rJSRZeHf1SdrowinyMNcj438n",
  "t2ErNvWEReTfPDBaNizjMPVssz66aVZh1hZ",
  "t2GeJQ8wBUiHKDVzVM5ZtKfY5reCg7CnASs",
  "t2L2eFtkKv1G6j55kLytKXTGuir4raAy3yr",
  "t2EK2b87dpPazb7VvmEGc8iR6SJ289RywGL",
  "t2DJ7RKeZJxdA4nZn8hRGXE8NUyTzjujph9",
  "t2K1pXo4eByuWpKLkssyMLe8QKUbxnfFC3H",
  "t2TB4mbSpuAcCWkH94Leb27FnRxo16AEHDg",
  "t2Phx4gVL4YRnNsH3jM1M7jE4Fo329E66Na",
  "t2VQZGmeNomN8c3USefeLL9nmU6M8x8CVzC",
  "t2RicCvTVTY5y9JkreSRv3Xs8q2K67YxHLi",
  "t2JrSLxTGc8wtPDe9hwbaeUjCrCfc4iZnDD",
  "t2Uh9Au1PDDSw117sAbGivKREkmMxVC5tZo",
  "t2FDwoJKLeEBMTy3oP7RLQ1Fihhvz49a3Bv",
  "t2FY18mrgtb7QLeHA8ShnxLXuW8cNQ2n1v8",
  "t2L15TkDYum7dnQRBqfvWdRe8Yw3jVy9z7g"
]

FS_ZIP214_ZF.AddressList[0..50] = ["t27eWDgjFYJGVXmzrXeVjnb5J3uXDM9xH9v"] * 51

FS_ZIP214_MG.AddressList[0..50] = ["t2Gvxv2uNM7hbbACjNox4H6DjByoKZ2Fa3P"] * 51
```

(i.e. `FS_ZIP214_ZF.AddressList` and `FS_ZIP214_MG.AddressList` for Testnet each consist of 51 repetitions of the same address).

<a id="testnet-recipients-for-revision-1"></a>

### Testnet Recipients for [Revision 1](#Revision 1)

```
FS_FPF_ZCG.AddressList[0..12] = ["t2HifwjUj9uyxr9bknR8LFuQbc98c3vkXtu"] * 13
FS_DEFERRED = DEFERRED_POOL as defined in ZIP 207
```

<a id="testnet-recipients-for-revision-2"></a>

### Testnet Recipients for [Revision 2](#Revision 2)

```
FS_FPF_ZCG_H3.AddressList[0..26] = ["t2HifwjUj9uyxr9bknR8LFuQbc98c3vkXtu"] * 27
FS_CCF_H3 = DEFERRED_POOL as defined in ZIP 207
```

The [Revision 2](#Revision 2) address list remains valid under [Revision 3](#Revision 3): the last active block still selects index 26 when NU7 activates during the [Revision 2](#Revision 2) funding stream.

<a id="rationale-for-revision-0"></a>

## Rationale for [Revision 0](#Revision 0)

The rationale for ZF generating the addresses for the `FS_ZIP214_MG` funding stream is that ZF is the financial recipient of the **MG slice** as specified in ZIP 1014.<a id="fnref38"></a>
[38](#fn38)

Generation of recipient addresses for Testnet is specified to be done by the same parties as on Mainnet, in order to allow practicing each party's security procedures.

It was judged to be unnecessary to have a mechanism to update funding stream definitions (in case of security breach or changes to direct grant recipients) other than at network upgrades.

<a id="deployment"></a>

## Deployment

[Revision 0](#Revision 0) of this proposal was deployed with Canopy.<a id="fnref39"></a>
[39](#fn39)

[Revision 1](#Revision 1) of this proposal was deployed with NU6.<a id="fnref40"></a>
[40](#fn40)

[Revision 2](#Revision 2) of this proposal was deployed with NU6.1.<a id="fnref41"></a>
[41](#fn41)

[Revision 3](#Revision 3) of this proposal is intended to be deployed with NU7.<a id="fnref42"></a>
[42](#fn42)

<a id="reference-implementation"></a>

## Reference Implementation

- Zebra ([Revision 3](#Revision 3)):<a id="fnref43"></a>
  [43](#fn43)<a id="fnref44"></a>
  [44](#fn44)

<a id="change-history"></a>

## Change History

<a id="section"></a>

### 2026-10-13

- Added the reference implementation of Revision 3.

- Defined the upgrade code-names used, related the address-list notation to ZIP 207 and the protocol specification, and corrected citations, tense, and markup.

<a id="section-1"></a>

### 2026-09-30

- Stated the Testnet end height of the Revision 2 funding streams under Revision 3, from the Testnet NU7 activation height.

- Applied ZIP 2008<a id="fnref45"></a>
  [45](#fn45) to Revision 3 of this ZIP.

<a id="section-2"></a>

### 2026-09-24

- Added Revision 3 to keep the existing funding streams active until the third halving under ZIP 218, clarify rounding of their values, and preserve the address-period duration under 25-second blocks. The NU7 activation height is required to be a multiple of 3.

<a id="section-3"></a>

### 2025-10-14

- Updated Revision 2 to set the `FS_FPF_ZCG_H3` mainnet address.

<a id="section-4"></a>

### 2025-08-19

- Released Revision 2.

<a id="section-5"></a>

### 2024-10-31

- Released Revision 1.

<a id="section-6"></a>

### 2024-09-26

- Updated Revision 1 to set the `FS_FPF_ZCG` mainnet address.

<a id="section-7"></a>

### 2024-08-26

- Added draft of Revision 1.

<a id="section-8"></a>

### 2020-11-03

- Updated Revision 0 to set the mainnet Funding Stream addresses.

<a id="section-9"></a>

### 2020-05-30

- Released Revision 0.

<a id="references"></a>

## References

---

1. [Information on BCP 14 — "RFC 2119: Key words for use in RFCs to Indicate Requirement Levels" and "RFC 8174: Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words"](https://www.rfc-editor.org/info/bcp14)[↩︎](#fnref1)

2. [Zcash Trademark Donation and License Agreement](https://electriccoin.co/wp-content/uploads/2019/11/Final-Consolidated-Version-ECC-Zcash-Trademark-Transfer-Documents-1.pdf)[↩︎](#fnref2)

3. [ZIP 200: Network Upgrade Mechanism](/zip/200)[↩︎](#fnref3)

4. [Zcash Trademark Donation and License Agreement](https://electriccoin.co/wp-content/uploads/2019/11/Final-Consolidated-Version-ECC-Zcash-Trademark-Transfer-Documents-1.pdf)[↩︎](#fnref4)

5. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 3.10: Block Subsidy, Funding Streams, and Founders’ Reward](protocol/protocol.pdf#subsidyconcepts)[↩︎](#fnref5)

6. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.8: Calculating Block Subsidy, Funding Streams, Lockbox Disbursement, and Founders’ Reward](protocol/protocol.pdf#subsidies)[↩︎](#fnref6)

7. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref7)

8. [ZIP 1015: Block Subsidy Allocation for Non-Direct Development Funding](/zip/1015)[↩︎](#fnref8)

9. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 3.12: Mainnet and Testnet](protocol/protocol.pdf#networks)[↩︎](#fnref9)

10. [ZIP 255: Deployment of the NU6.1 Network Upgrade](/zip/255)[↩︎](#fnref10)

11. [ZIP 259: Deployment of the NU7 Network Upgrade](/zip/259)[↩︎](#fnref11)

12. [ZIP 218: 25-second Block Target Spacing](/zip/218)[↩︎](#fnref12)

13. [ZIP 2008: Update to FS_FPF_ZCG_H3 address list](/zip/2008)[↩︎](#fnref13)

14. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref14)

15. [ZIP 1015: Block Subsidy Allocation for Non-Direct Development Funding](/zip/1015)[↩︎](#fnref15)

16. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref16)

17. [ZIP 1015: Block Subsidy Allocation for Non-Direct Development Funding](/zip/1015)[↩︎](#fnref17)

18. [ZIP 1016: Community and Coinholder Funding Model](/zip/1016)[↩︎](#fnref18)

19. [ZIP 218: 25-second Block Target Spacing](/zip/218)[↩︎](#fnref19)

20. [ZIP 2008: Update to FS_FPF_ZCG_H3 address list](/zip/2008)[↩︎](#fnref20)

21. [ZIP 208: Shorter Block Target Spacing](/zip/208)[↩︎](#fnref21)

22. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref22)

23. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref23)

24. [ZIP 259: Deployment of the NU7 Network Upgrade](/zip/259)[↩︎](#fnref24)

25. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref25)

26. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref26)

27. [ZIP 218: 25-second Block Target Spacing](/zip/218)[↩︎](#fnref27)

28. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref28)

29. [ZIP 259: Deployment of the NU7 Network Upgrade](/zip/259)[↩︎](#fnref29)

30. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref30)

31. [ZIP 218: 25-second Block Target Spacing](/zip/218)[↩︎](#fnref31)

32. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref32)

33. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref33)

34. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref34)

35. [ZIP 207: Funding Streams](/zip/207)[↩︎](#fnref35)

36. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.10: Payment of Funding Streams, Deferred Lockbox, and Lockbox Disbursement](protocol/protocol.pdf#fundingstreams)[↩︎](#fnref36)

37. [ZIP 2008: Update to FS_FPF_ZCG_H3 address list](/zip/2008)[↩︎](#fnref37)

38. [ZIP 1014: Establishing a Dev Fund for ECC, ZF, and Major Grants](/zip/1014)[↩︎](#fnref38)

39. [ZIP 251: Deployment of the Canopy Network Upgrade](/zip/251)[↩︎](#fnref39)

40. [ZIP 253: Deployment of the NU6 Network Upgrade](/zip/253)[↩︎](#fnref40)

41. [ZIP 255: Deployment of the NU6.1 Network Upgrade](/zip/255)[↩︎](#fnref41)

42. [ZIP 259: Deployment of the NU7 Network Upgrade](/zip/259)[↩︎](#fnref42)

43. [Zebra PR 11527: feat(nu7)!: prepare ZIP 259 deployment and ZIP 2008 payouts](https://github.com/ZcashFoundation/zebra/pull/11527)[↩︎](#fnref43)

44. [Zebra PR 11529: feat(consensus)!: implement NU7 spacing, funding schedules, and shielded limits](https://github.com/ZcashFoundation/zebra/pull/11529)[↩︎](#fnref44)

45. [ZIP 2008: Update to FS_FPF_ZCG_H3 address list](/zip/2008)[↩︎](#fnref45)

## Citation relationships

Cites: [ZIP 200](https://zip-tools-web.harpocrates.workers.dev/zip/200), [ZIP 207](https://zip-tools-web.harpocrates.workers.dev/zip/207), [ZIP 208](https://zip-tools-web.harpocrates.workers.dev/zip/208), [ZIP 218](https://zip-tools-web.harpocrates.workers.dev/zip/218), [ZIP 251](https://zip-tools-web.harpocrates.workers.dev/zip/251), [ZIP 253](https://zip-tools-web.harpocrates.workers.dev/zip/253), [ZIP 255](https://zip-tools-web.harpocrates.workers.dev/zip/255), [ZIP 259](https://zip-tools-web.harpocrates.workers.dev/zip/259), [ZIP 1014](https://zip-tools-web.harpocrates.workers.dev/zip/1014), [ZIP 1015](https://zip-tools-web.harpocrates.workers.dev/zip/1015), [ZIP 1016](https://zip-tools-web.harpocrates.workers.dev/zip/1016), [ZIP 2008](https://zip-tools-web.harpocrates.workers.dev/zip/2008)

Cited by: [ZIP 207](https://zip-tools-web.harpocrates.workers.dev/zip/207), [ZIP 218](https://zip-tools-web.harpocrates.workers.dev/zip/218), [ZIP 251](https://zip-tools-web.harpocrates.workers.dev/zip/251), [ZIP 253](https://zip-tools-web.harpocrates.workers.dev/zip/253), [ZIP 259](https://zip-tools-web.harpocrates.workers.dev/zip/259), [ZIP 271](https://zip-tools-web.harpocrates.workers.dev/zip/271), [ZIP 1016](https://zip-tools-web.harpocrates.workers.dev/zip/1016), [ZIP 2008](https://zip-tools-web.harpocrates.workers.dev/zip/2008)