# ZIP 207: Funding Streams

Status: Final, Final, Draft

Owners: Jack Grigg, Daira-Emma Hopwood

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-0207) · [Source file](https://github.com/zcash/zips/blob/a34cfc091434275120ff017c92c3b50d3cef623a/zips/zip-0207.rst)

Preamble

**ZIP**: 207

**Title**: Funding Streams

**Owners**: 

- [Jack Grigg](mailto:thestr4d@gmail.com)
- [Daira-Emma Hopwood](mailto:daira@jacaranda.org)

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

**Category**: Consensus

**Created**: 2019-01-04

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

**License**: MIT

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

## Terminology

The key word "MUST" in this document is to be interpreted as described in BCP 14 <a id="fnref1"></a>
[1](#fn1) when, and only when, it appears in all capitals.

The terms "block subsidy" and "halving" in this document are to be interpreted as described in sections 3.10 and 7.8 of the Zcash Protocol Specification. <a id="fnref2"></a>
[2](#fn2)<a id="fnref3"></a>
[3](#fn3)

The terms "consensus branch" and "network upgrade" in this document are to be interpreted as described in ZIP 200.<a id="fnref4"></a>
[4](#fn4)

The terms below are to be interpreted as follows:

**Canopy**: 

Code-name for the fifth Zcash network upgrade, also known as Network Upgrade 4.

**Testnet**: 

The Zcash test network, as defined in the Zcash Protocol Specification.<a id="fnref5"></a>
[5](#fn5)

**Mainnet**: 

The Zcash production network, as defined in the Zcash Protocol Specification.<a id="fnref6"></a>
[6](#fn6)

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

## Abstract

This proposal specifies a mechanism to support funding streams, distributed from a portion of the block subsidy for a specified range of block heights.

This is intended as a means of implementing the Zcash Development Fund, using the funding stream definitions specified in ZIP 214<a id="fnref7"></a>
[7](#fn7). It should be read in conjunction with ZIP 1014<a id="fnref8"></a>
[8](#fn8), which describes the high-level requirements for that fund.

Revision 2 preserves the approximate duration and value of each address period when NU7 reduces the target block spacing to 25 seconds.

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

## Motivation

Motivation for the Zcash Development Fund is considered in ZIP 1014<a id="fnref9"></a>
[9](#fn9).

This ZIP 207 was originally proposed for the Blossom network upgrade, as a means of splitting the original Founders’ Reward into several streams. It was then withdrawn when such splitting was judged to be unnecessary at the consensus level. Since the capabilities of the funding stream mechanism match the requirements for the Zcash Development Fund, the ZIP was reintroduced for that purpose in the Canopy upgrade in order to reuse specification, analysis, and implementation effort.

As of NU6, ZIP 1015<a id="fnref10"></a>
[10](#fn10) directs part of the block subsidy to a reserve, the distribution of which is to be determined via a future ZIP. ZIP 2001<a id="fnref11"></a>
[11](#fn11) modified this ZIP to augment the funding stream mechanism with a common mechanism to implement this proposal. ZIP 271<a id="fnref12"></a>
[12](#fn12) specifies a one-time disbursement from this reserve at NU6.1 activation, which is deducted from the [Deferred Development Fund Chain Value Pool Balance](#deferred-development-fund-chain-value-pool-balance).

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

## Requirements

The primary requirement of this ZIP is to provide a mechanism for specifying the funding streams that are used in ZIP 214<a id="fnref13"></a>
[13](#fn13) to implement the Zcash Development Fund. It should be sufficiently expressive to handle both the main three "slices" (BP, ZF, and MG) defined in ZIP 1014<a id="fnref14"></a>
[14](#fn14), and also (with additional funding stream definitions) the "direct grant option" described in that ZIP.

As for the original Founders’ Reward, a mechanism is provided to allow addresses for a given funding stream to be changed on a roughly-monthly basis, so that keys that are not yet needed may be kept off-line as a security measure.

<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="fnref15"></a>
  [15](#fn15).

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

- Revision 1: Adds the [Deferred Development Fund Chain Value Pool Balance](#deferred-development-fund-chain-value-pool-balance) as a potential recipient of funding stream outputs, as agreed upon by the Zcash community in ZIP 1015<a id="fnref16"></a>
  [16](#fn16) and specified in ZIP 2001 <a id="fnref17"></a>
  [17](#fn17).

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

- Revision 2: Extends the remaining address period at NU7 activation and subsequent address periods in proportion to the change in target block spacing specified in ZIP 218<a id="fnref18"></a>
  [18](#fn18), and permits transparent P2PKH addresses per ZIP 2008<a id="fnref19"></a>
  [19](#fn19).

<a id="definitions"></a>

### Definitions

We use the following constants and functions defined in<a id="fnref20"></a>
[20](#fn20), <a id="fnref21"></a>
[21](#fn21), and<a id="fnref22"></a>
[22](#fn22):

- $\mathsf{BlossomActivationHeight}$

- $\mathsf{PostBlossomHalvingInterval}$

- $\mathsf{Halving}(\mathsf{height})$

- $\mathsf{BlockSubsidy}(\mathsf{height})$

We also define the following function:

- $\mathsf{HeightForHalving}(\mathsf{halving})$: Smallest $\mathsf{height}$ such that $\mathsf{Halving}(\mathsf{height}) = \mathsf{halving}$

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

### Funding streams

A funding stream is defined by a block subsidy fraction (represented as a numerator and a denominator), a start height (inclusive), an end height (exclusive), and a sequence of recipients as defined below.

By defining the issuance as a proportion of the total block subsidy, rather than absolute zatoshis, this ZIP dovetails with any changes to both block target spacing and issuance-per-block rates. Such a change occurred at the Blossom network upgrade, for example.<a id="fnref23"></a>
[23](#fn23)

The value of a funding stream at a given block height is defined as:

$\mathsf{FundingStream[FUND].Value}(\mathsf{height}) =
    \mathsf{floor}\left(
        \frac{\mathsf{BlockSubsidy}(\mathsf{height}) \,\cdot\, \mathsf{FundingStream[FUND].ValueNumerator}}{\mathsf{FundingStream[FUND].ValueDenominator}}
    \right)$

An active funding stream at a given block height is defined as a funding stream for which the block height is less than its end height, but not less than its start height.

The value of each funding stream is paid to one of a pre-defined set of recipients, depending on the block height.

As of [Revision 0](#Revision 0), each recipient MUST be the string encoding of a transparent P2SH address or Sapling address (as specified in <a id="fnref24"></a>
[24](#fn24) or<a id="fnref25"></a>
[25](#fn25)).

As of [Revision 1](#Revision 1), each recipient identifier MUST be either the string encoding of a transparent P2SH address or Sapling address (as specified in <a id="fnref26"></a>
[26](#fn26) or<a id="fnref27"></a>
[27](#fn27)) or the identifier $\mathsf{DEFERRED\_POOL}$. The latter, added in the NU6 network upgrade<a id="fnref28"></a>
[28](#fn28), indicates that the value is to be paid to a reserve to be used for development funding, the distribution of which is to be determined via a future ZIP.

As of [Revision 2](#Revision 2), each recipient identifier MUST be either the string encoding of a transparent P2PKH or P2SH address or of a Sapling address (as specified in <a id="fnref29"></a>
[29](#fn29) or<a id="fnref30"></a>
[30](#fn30)) or the identifier $\mathsf{DEFERRED\_POOL}$.

Each address is used for at most 1/48th of a halving interval, creating a roughly-monthly sequence of funding periods. The address to be used for a given block height is defined as follows:

$\begin{aligned}
\begin{array}{rcl}
    \mathsf{AddressChangeInterval} &=& \mathsf{PostBlossomHalvingInterval} / 48 \\
    \mathsf{AddressPeriod}(\mathsf{height}) &=&
        \mathsf{floor}\left(
            {\small\frac{\mathsf{height} + \mathsf{PostBlossomHalvingInterval} - \mathsf{HeightForHalving}(1)}{\mathsf{AddressChangeInterval}}}
        \right) \\
    \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height}) &=&
        \mathsf{AddressPeriod}(\mathsf{height}) - \\&&\hspace{2em} \mathsf{AddressPeriod}(\mathsf{FundingStream[FUND].StartHeight}) \\
    \mathsf{FundingStream[FUND].Address}(\mathsf{height}) &=& \mathsf{FundingStream[FUND].Addresses[} \\&&\hspace{2em} \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height})\mathsf{]}
\end{array}
\end{aligned}$

This has the property that all active funding streams change the address they are using on the same block height schedule, aligned to the height of the first halving so that 48 funding periods fit cleanly within a halving interval. This can be leveraged to simplify implementations, by batching the necessary outputs for each funding period.

The sequence $\mathsf{FundingStream[FUND].Addresses}$ is indexed from 0, and MUST have $\mathsf{FundingStream[FUND].AddressIndex}(\mathsf{FundingStream[FUND].EndHeight} - 1) + 1$ entries. (The protocol specification calls the same sequence $\mathsf{fs.Recipients}$ and indexes it from 1.<a id="fnref31"></a>
[31](#fn31))

For a funding stream $\mathsf{fs}$ we write $\mathsf{fs.Value}(\mathsf{height})$ for $\mathsf{FundingStream[fs].Value}(\mathsf{height})$ and $\mathsf{fs.Recipient}(\mathsf{height})$ for $\mathsf{FundingStream[fs].Address}(\mathsf{height})$ at each block height.

As of [Revision 2](#Revision 2), the definition of $\mathsf{AddressPeriod}$ above is replaced on each network by the following piecewise definition. Let $A$ be the NU7 activation height on that network, let $R = \mathsf{NU7PoWTargetSpacingRatio} = 3$ and $\mathsf{IsNU7Activated}$ be as defined in ZIP 218<a id="fnref32"></a>
[32](#fn32), let $C = \mathsf{AddressChangeInterval}$, let $I = \mathsf{PostBlossomHalvingInterval}$, and let $H_1 = \mathsf{HeightForHalving}(1)$.

$\begin{aligned}
\mathsf{AddressPeriod}(\mathsf{height}) =
    \begin{cases}
        \mathsf{floor}\left(
            \dfrac{\mathsf{height} + I - H_1}{C}
        \right), &\textsf{if not } \mathsf{IsNU7Activated}(\mathsf{height}) \\
        \mathsf{floor}\left(
            \dfrac{R(A + I - H_1) + \mathsf{height} - A}{RC}
        \right), &\textsf{otherwise}
    \end{cases}
\end{aligned}$

The $\mathsf{FundingStream[FUND].AddressIndex}$ and $\mathsf{FundingStream[FUND].Address}$ calculations above MUST use this definition for funding streams active at or after NU7 activation, including when calculating the period at a stream's start height. This preserves the address index at activation. If NU7 activates partway through an address period, its remaining block count is tripled; each subsequent period lasts 105000 blocks. At the 25-second target spacing, each period therefore retains approximately its previous wall-clock duration and funding amount, subject to per-block rounding.

Below is a visual representation of how stream addresses align with funding periods:

> | Example height | Stream A | Stream B | Stream C |
> | --- | --- | --- | --- |
> | > `AddressChangeInterval - 2` `AddressChangeInterval - 1` | > A0 A0 |  |  |
> | > `AddressChangeInterval` | > A1 | > B0 | > C0 |
> | > `AddressChangeInterval + 1` ... | > A1 | > B0 | > C0 |
> | > `2*AddressChangeInterval - 2` | > A1 | > B0 | > C0 |
> | > **`2*AddressChangeInterval - 1`**:  >  >  >  > `2*AddressChangeInterval` >  >  >  >  > `2*AddressChangeInterval + 1` ... `PostBlossomHalvingInterval - 2` `PostBlossomHalvingInterval - 1` `PostBlossomHalvingInterval` `PostBlossomHalvingInterval + 1` ... `PostBlossomHalvingInterval + AddressChangeInterval/2` ... `PostBlossomHalvingInterval + 2*AddressChangeInterval - 1` `PostBlossomHalvingInterval + 2*AddressChangeInterval` ... `PostBlossomHalvingInterval + 5*AddressChangeInterval - 1` `PostBlossomHalvingInterval + 5*AddressChangeInterval` | > A1 A2 A2 >  >  >  >  > A2 A2 | > B0 | > C0 C1 C1 >  >  >  >  > C1 C1 C2 C2 >  >  >  >  > C2 >  >  >  >  > C2 C3 >  >  >  >  > C3 C4 |

The last rows illustrate [Revision 2](#Revision 2) with NU7 activating halfway through the period of address C2, at height `PostBlossomHalvingInterval + AddressChangeInterval/2`: the remaining half of that period is tripled, and the period of C3 lasts `3*AddressChangeInterval` blocks.

On Mainnet, Canopy activated exactly at the point when the Founders’ Reward expired, at block height 1046400. On Testnet, there was a shortened Founders’ Reward address period prior to Canopy activation.

<a id="deferred-development-fund-chain-value-pool-balance"></a>

### Deferred Development Fund Chain Value Pool Balance

As of [Revision 1](#Revision 1) of this specification, full node implementations MUST track an additional $\mathsf{ChainValuePoolBalance^{Deferred}}$ chain value pool balance, in addition to the other chain value pool balances defined in <a id="fnref33"></a>
[33](#fn33) (see also ZIP 209<a id="fnref34"></a>
[34](#fn34)).

Define $\mathsf{totalDeferredOutput}(\mathsf{height}) := \sum_{\mathsf{fs} \in \mathsf{DeferredFundingStreams}(\mathsf{height})} \mathsf{fs.Value}(\mathsf{height})$ where $\mathsf{DeferredFundingStreams}(\mathsf{height})$ is the set of funding streams with recipient identifier $\mathsf{DEFERRED\_POOL}$ in the block at height $\mathsf{height}$.

Define $\mathsf{totalDeferredInput}(\mathsf{height})$ as in <a id="fnref35"></a>
[35](#fn35): it is $\mathsf{ZIP271DisbursementAmount}$ at the height $\mathsf{ZIP271ActivationHeight}$ of the one-time lockbox disbursement specified in ZIP 271<a id="fnref36"></a>
[36](#fn36), and zero at every other height.

The $\mathsf{ChainValuePoolBalance^{Deferred}}$ chain value pool balance for a given block chain is the sum of the values of payments to $\mathsf{DEFERRED\_POOL}$ for transactions in the block chain, minus the lockbox disbursement from it in that block chain.

Equivalently, $\mathsf{ChainValuePoolBalance^{Deferred}}$ for a block chain up to and including height $\mathsf{height}$ is given by $\sum_{\mathsf{h} = 0}^{\mathsf{height}} \left(\mathsf{totalDeferredOutput}(\mathsf{h}) - \mathsf{totalDeferredInput}(\mathsf{h})\right)$.

Note: $\mathsf{totalDeferredOutput}(\mathsf{h})$ is necessarily zero for heights $\mathsf{h}$ prior to NU6 activation, and $\mathsf{totalDeferredInput}(\mathsf{h})$ is necessarily zero for heights $\mathsf{h}$ prior to NU6.1 activation.

<a id="consensus-rules"></a>

### Consensus rules

Prior to activation of the Canopy network upgrade, the existing consensus rule for payment of the original Founders’ Reward is enforced.<a id="fnref37"></a>
[37](#fn37)

Once the Canopy network upgrade activates:

1. The existing consensus rule for payment of the Founders’ Reward <a id="fnref38"></a>
   [38](#fn38) is no longer active. (This would be the case under the preexisting consensus rules for Mainnet, but not for Testnet.)

2. The coinbase transaction in each block MUST contain at least one output per active funding stream that pays the stream's value in the prescribed way to the stream's recipient address for the block's height.

3. The recipient $\mathsf{fs.Recipient}(\mathsf{height})$ of a funding stream $\mathsf{fs}$ at block height $\mathsf{height}$ is as defined in [Funding streams](#funding-streams).

4. The "prescribed way" to pay a transparent P2SH address is to use a standard P2SH script of the form `OP_HASH160 RedeemScriptHash OP_EQUAL` as the `scriptPubKey`<a id="fnref39"></a>
   [39](#fn39), where `RedeemScriptHash` is the 20-byte script hash in the raw encoding of the address <a id="fnref40"></a>
   [40](#fn40).
   
   
   
   
   As of [Revision 2](#Revision 2), the "prescribed way" to pay a transparent P2PKH address is to use `OP_DUP OP_HASH160 <keyHash> OP_EQUALVERIFY OP_CHECKSIG` as the output's `scriptPubKey`, where `<keyHash>` is the direct push of the 20-byte public-key hash decoded from the recipient's Base58Check address. No other script encoding satisfies this funding-stream payment rule.

5. The "prescribed way" to pay a Sapling address is as defined in<a id="fnref41"></a>
   [41](#fn41). That is, all Sapling outputs in coinbase transactions (including, but not limited to, outputs for funding streams) MUST have valid note commitments when recovered using a 32-byte array of zeroes as the outgoing viewing key. In this case the note plaintext lead byte MUST be $\mathbf{0x02}$, as specified in<a id="fnref42"></a>
   [42](#fn42).

Once the NU6 network upgrade activates:

- Rule 2 above is replaced by: In each block with coinbase transaction $\mathsf{cb}$ at block height $\mathsf{height}$, for each funding stream $\mathsf{fs}$ active at that block height with a recipient identifier other than $\mathsf{DEFERRED\_POOL}$ given by $\mathsf{fs.Recipient}(\mathsf{height})$, $\mathsf{cb}$ MUST contain at least one output that pays $\mathsf{fs.Value}(\mathsf{height})$ zatoshi in the prescribed way to the address represented by that recipient identifier, distinct from the outputs counted for every other such funding stream and for the lockbox disbursement outputs required by ZIP 271<a id="fnref43"></a>
  [43](#fn43).

Note: The outputs required by rule 2 before NU6 activation are likewise distinct for each funding stream. In particular, a single output cannot be counted for two active funding streams that have the same recipient and the same value.

Rule 5 has subsequently been clarified as follows:

- The "prescribed way" to pay a Sapling or Orchard address is as defined in <a id="fnref44"></a>
  [44](#fn44), using the post-Heartwood consensus rules specified for shielded outputs of coinbase transactions in<a id="fnref45"></a>
  [45](#fn45). A Sapling address is paid by a Sapling-pool output. An Orchard address is paid by an Orchard-pool output before NU6.3 activation, and by an Ironwood-pool output from NU6.3 activation onward, since coinbase transactions can then contain no Orchard-pool component<a id="fnref46"></a>
  [46](#fn46).

Note: The recipient identifiers permitted above do not include Orchard addresses; the "prescribed way" to pay an Orchard address is defined in anticipation of a future change. Up to and including NU7 there have been no funding streams defined with a shielded payment address as a recipient. That might change in future, so implementations are encouraged to support Sapling and Orchard addresses as recipients, as permitted by<a id="fnref47"></a>
[47](#fn47).

These rules are reproduced in<a id="fnref48"></a>
[48](#fn48).

The effect of the definition of $\mathsf{ChainValuePoolBalance^{Deferred}}$ above is that payments to the $\mathsf{DEFERRED\_POOL}$ cause $\mathsf{FundingStream[FUND].Value}(\mathsf{height})$ to be added to $\mathsf{ChainValuePoolBalance^{Deferred}}$ for the block chain including that block, and that the lockbox disbursement specified in ZIP 271 <a id="fnref49"></a>
[49](#fn49) causes $\mathsf{ZIP271DisbursementAmount}$ to be subtracted from it.

For the funding stream definitions activated at Canopy, NU6, and NU6.1, and their changes at NU7, see ZIP 214.<a id="fnref50"></a>
[50](#fn50) Funding stream definitions can be added, changed, or deleted in ZIPs associated with subsequent network upgrades, subject to the ZIP process.<a id="fnref51"></a>
[51](#fn51)

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

## Deployment

This proposal was initially deployed with Canopy.<a id="fnref52"></a>
[52](#fn52)

Changes to support deferred funding streams were deployed with NU6.<a id="fnref53"></a>
[53](#fn53)

Revision 2 is intended to activate with NU7 as specified in ZIP 259 <a id="fnref54"></a>
[54](#fn54).

<a id="backward-compatibility"></a>

## Backward compatibility

This proposal intentionally creates what is known as a "bilateral consensus rule change". Use of this mechanism requires that all network participants upgrade their software to a compatible version within the upgrade window. Older software will treat post-upgrade blocks as invalid, and will follow any pre-upgrade consensus branch that persists.

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

## Reference Implementation

- [https://github.com/zcash/zcash/pull/4560](https://github.com/zcash/zcash/pull/4560)

- [https://github.com/zcash/zcash/pull/4675](https://github.com/zcash/zcash/pull/4675)

- [https://github.com/zcash/zcash/pull/4830](https://github.com/zcash/zcash/pull/4830)

- Revision 2, Zebra:<a id="fnref55"></a>
  [55](#fn55)<a id="fnref56"></a>
  [56](#fn56)

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

## Change History

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

### 2026-10-13

- Defined `fs.Value` and `fs.Recipient`, and required each address list to cover its funding stream's height range.

- Clarified that each funding stream requires a distinct output.

- Defined the "prescribed way" to pay any P2SH address, and applied the P2PKH payment rule of ZIP 2008<a id="fnref57"></a>
  [57](#fn57) to Revision 2.

- Clarified the "prescribed way" to pay an Orchard address from NU6.3, and that Orchard addresses are not permitted recipients.

- Deducted the ZIP 271 lockbox disbursement from the deferred development fund chain value pool balance.

- Corrected the address-period example table, section numbers, reference titles, and tense.

- Added the reference implementation of Revision 2, and updated the protocol specification citations.

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

### 2026-09-30

- Applied ZIP 2008<a id="fnref58"></a>
  [58](#fn58) to Revision 2 of this ZIP.

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

### 2026-09-24

- Drafted Revision 2 for the NU7 address-period schedule.

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

### 2025-08-19

- Defined Revision 0 and Revision 1 explicitly.

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

### 2024-10-31

- Released Revision 1.

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

### 2024-09-26

- Applied ZIP 2001<a id="fnref59"></a>
  [59](#fn59) to this ZIP (implicitly defining Revision 1).

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

### 2020-05-30

- Released Revision 0 (status changed from Draft to Proposed).

<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 Protocol Specification, Version 2026.8.0 [NU6.3]. Section 3.10: Block Subsidy, Funding Streams, and Founders’ Reward](protocol/protocol.pdf#subsidyconcepts)[↩︎](#fnref2)

3. [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)[↩︎](#fnref3)

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

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

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

7. [ZIP 214: Consensus rules for a Zcash Development Fund](/zip/214)[↩︎](#fnref7)

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

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

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

11. [ZIP 2001: Lockbox Funding Streams](/zip/2001)[↩︎](#fnref11)

12. [ZIP 271: Dev Fund Extension and One-Time Disbursement](/zip/271)[↩︎](#fnref12)

13. [ZIP 214: Consensus rules for a Zcash Development Fund](/zip/214)[↩︎](#fnref13)

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

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

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

17. [ZIP 2001: Lockbox Funding Streams](/zip/2001)[↩︎](#fnref17)

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

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

20. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.3: Constants](protocol/protocol.pdf#constants)[↩︎](#fnref20)

21. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.7.3: Difficulty adjustment](protocol/protocol.pdf#diffadjustment)[↩︎](#fnref21)

22. [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)[↩︎](#fnref22)

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

24. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.1.1: Transparent Addresses](protocol/protocol.pdf#transparentaddrencoding)[↩︎](#fnref24)

25. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.3.1: Sapling Payment Addresses](protocol/protocol.pdf#saplingpaymentaddrencoding)[↩︎](#fnref25)

26. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.1.1: Transparent Addresses](protocol/protocol.pdf#transparentaddrencoding)[↩︎](#fnref26)

27. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.3.1: Sapling Payment Addresses](protocol/protocol.pdf#saplingpaymentaddrencoding)[↩︎](#fnref27)

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

29. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.1.1: Transparent Addresses](protocol/protocol.pdf#transparentaddrencoding)[↩︎](#fnref29)

30. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.3.1: Sapling Payment Addresses](protocol/protocol.pdf#saplingpaymentaddrencoding)[↩︎](#fnref30)

31. [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)[↩︎](#fnref31)

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

33. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 4.17: Chain Value Pool Balances](protocol/protocol.pdf#chainvaluepoolbalances)[↩︎](#fnref33)

34. [ZIP 209: Prohibit Out-of-Range Chain Value Pool Balances](/zip/209)[↩︎](#fnref34)

35. [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)[↩︎](#fnref35)

36. [ZIP 271: Dev Fund Extension and One-Time Disbursement](/zip/271)[↩︎](#fnref36)

37. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.9: Payment of Founders’ Reward](protocol/protocol.pdf#foundersreward)[↩︎](#fnref37)

38. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.9: Payment of Founders’ Reward](protocol/protocol.pdf#foundersreward)[↩︎](#fnref38)

39. [Transactions: P2SH Scripts — Bitcoin Developer Guide](https://developer.bitcoin.org/devguide/transactions.html#pay-to-script-hash-p2sh)[↩︎](#fnref39)

40. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.6.1.1: Transparent Addresses](protocol/protocol.pdf#transparentaddrencoding)[↩︎](#fnref40)

41. [ZIP 213: Shielded Coinbase](/zip/213)[↩︎](#fnref41)

42. [ZIP 212: Allow Recipient to Derive Ephemeral Secret from Note Plaintext](/zip/212)[↩︎](#fnref42)

43. [ZIP 271: Dev Fund Extension and One-Time Disbursement](/zip/271)[↩︎](#fnref43)

44. [ZIP 213: Shielded Coinbase](/zip/213)[↩︎](#fnref44)

45. [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 7.1.2: Transaction Consensus Rules](protocol/protocol.pdf#txnconsensus)[↩︎](#fnref45)

46. [ZIP 213: Shielded Coinbase](/zip/213)[↩︎](#fnref46)

47. [ZIP 213: Shielded Coinbase](/zip/213)[↩︎](#fnref47)

48. [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)[↩︎](#fnref48)

49. [ZIP 271: Dev Fund Extension and One-Time Disbursement](/zip/271)[↩︎](#fnref49)

50. [ZIP 214: Consensus rules for a Zcash Development Fund](/zip/214)[↩︎](#fnref50)

51. [ZIP 0: ZIP Process](/zip/0)[↩︎](#fnref51)

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

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

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

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

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

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

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

59. [ZIP 2001: Lockbox Funding Streams](/zip/2001)[↩︎](#fnref59)

## Citation relationships

Cites: [ZIP 0](https://zips.tools/zip/0), [ZIP 200](https://zips.tools/zip/200), [ZIP 208](https://zips.tools/zip/208), [ZIP 209](https://zips.tools/zip/209), [ZIP 212](https://zips.tools/zip/212), [ZIP 213](https://zips.tools/zip/213), [ZIP 214](https://zips.tools/zip/214), [ZIP 218](https://zips.tools/zip/218), [ZIP 251](https://zips.tools/zip/251), [ZIP 253](https://zips.tools/zip/253), [ZIP 259](https://zips.tools/zip/259), [ZIP 271](https://zips.tools/zip/271), [ZIP 1014](https://zips.tools/zip/1014), [ZIP 1015](https://zips.tools/zip/1015), [ZIP 2001](https://zips.tools/zip/2001), [ZIP 2008](https://zips.tools/zip/2008)

Cited by: [ZIP 212](https://zips.tools/zip/212), [ZIP 213](https://zips.tools/zip/213), [ZIP 214](https://zips.tools/zip/214), [ZIP 218](https://zips.tools/zip/218), [ZIP 251](https://zips.tools/zip/251), [ZIP 253](https://zips.tools/zip/253), [ZIP 259](https://zips.tools/zip/259), [ZIP 271](https://zips.tools/zip/271), [ZIP 1016](https://zips.tools/zip/1016), [ZIP 2001](https://zips.tools/zip/2001), [ZIP 2008](https://zips.tools/zip/2008)