# ZIP 2008: Update to `FS_FPF_ZCG_H3` address list

Status: Draft

Owners: Jack Grigg

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

Preamble

**ZIP**: 2008

**Title**: Update to `FS_FPF_ZCG_H3` address list

**Owners**: [Jack Grigg](mailto:thestr4d@gmail.com)

**Status**: Draft

**Category**: Consensus

**Created**: 2026-09-24

**License**: MIT

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

## Terminology

The key words "MUST" and "MAY" in this document are to be interpreted as described
in BCP 14 <a id="user-content-fnref-bcp14"></a>
[1](#user-content-fn-bcp14) when, and only when, they appear in all capitals.

The term `NU7ActivationHeight` is to be interpreted as defined in ZIP 218
<a id="user-content-fnref-zip-0218"></a>
[2](#user-content-fn-zip-0218).

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

## Abstract

This ZIP updates the address list for the `FS_FPF_ZCG_H3` funding stream,
reflecting operational changes by the recipient.

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

## Motivation

The recipient of the `FS_FPF_ZCG_H3` funding stream notified the ZIP Editors
that there was a need to receive the funding stream into a new address. This
change can only happen at network upgrade boundaries, because the funding
stream recipient addresses are part of the consensus rules.

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

## Requirements

- Funding stream outputs for `FS_FPF_ZCG_H3` start being received at the new
  address shortly after the NU activates that deploys this ZIP.

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

## Specification

<a id="changes-to-zip-207"></a>

### Changes to ZIP 207

In "Funding streams" <a id="user-content-fnref-zip-0207"></a>
[3](#user-content-fn-zip-0207), after the paragraph starting with:

> As of `Revision 1`_, each recipient identifier MUST be...

add:

> As of `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
> `[#protocol-transparentaddrencoding]_` or `[#protocol-saplingpaymentaddrencoding]_`)
> or the identifier $\mathsf{DEFERRED\_POOL}$.

In "Consensus rules" <a id="user-content-fnref-zip-0207-2"></a>
[3](#user-content-fn-zip-0207), at the end of rule 4, add:

> As of `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.

In "References" <a id="user-content-fnref-zip-0207-3"></a>
[3](#user-content-fn-zip-0207), add:

> ```
> .. [#zip-2008] `ZIP 2008: Update to FS_FPF_ZCG_H3 address list <zip-2008.md>`_
> ```

<a id="changes-to-the-zcash-protocol-specification"></a>

### Changes to the Zcash Protocol Specification

In § 7.10 'Payment of Funding Streams, Deferred Lockbox, and Lockbox Disbursement',
from NU7 activation, extend the permitted funding-stream recipient types to
include transparent P2PKH addresses. Add the P2PKH prescribed payment rule above
alongside the existing P2SH and shielded payment rules. The amount and distinct
output requirements are unchanged.

<a id="changes-to-zip-214"></a>

### Changes to ZIP 214

In "Abstract" <a id="user-content-fnref-zip-0214"></a>
[4](#user-content-fn-zip-0214), replace the end of the paragraph on Revision 3:

> ```
> streams at the third halving.
> ```

with:

> ```
> streams at the third halving, and updates the ``FS_FPF_ZCG_H3`` recipient
> address per ZIP 2008 [#zip-2008]_.
> ```

In "Mainnet Recipients for `Revision 2`" <a id="user-content-fnref-zip-0214-2"></a>
[4](#user-content-fn-zip-0214), replace the section
heading with:

> ```
> Mainnet Recipients for `Revision 2`_ and `Revision 3`_
> ------------------------------------------------------
> ```

and replace:

> ```
> FS_FPF_ZCG_H3.AddressList[0..35] = ["t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow"] * 36
> ```

with:

> ```
> 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)
> ```

In the paragraph that follows, replace "address list remains valid" with
"address list length remains valid", and after that paragraph add the following
note:

> ```
> Note: The addresses ``FS_FPF_ZCG_H3.AddressList[N..35]`` were altered
> in `Revision 3`_ by the NU7 upgrade in ZIP 2008 [#zip-2008]_.
> ```

In "References" <a id="user-content-fnref-zip-0214-3"></a>
[4](#user-content-fn-zip-0214), add:

> ```
> .. [#zip-2008] `ZIP 2008: Update to FS_FPF_ZCG_H3 address list <zip-2008.md>`_
> ```

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

### Activation constraint

The Mainnet NU7 activation height MUST be chosen such that $0 \leq N < 36$.
This ensures that at least one remaining funding period selects the new address.
With the current funding schedule and the multiple-of-three activation constraint,
the latest permitted Mainnet activation height is 4,371,399.

<a id="consensus-node-implementor-note"></a>

### Consensus node implementor note

Once a mainnet activation height has been specified in ZIP 259 <a id="user-content-fnref-zip-0259"></a>
[5](#user-content-fn-zip-0259),
implementations MAY use a fixed array of addresses in the correct sequence,
instead of dynamically calculating `N`.

<a id="rationale"></a>

## Rationale

The ZIP modifies the existing address list such that the new address will start
being used from the first funding period that begins after NU7 activation. This
means that depending on the precise value of `NU7ActivationHeight`, the updated
address might begin usage anywhere from "immediately" to "about a month" after
activation. This approach was chosen for its simplicity, given the lack of time
before NU7 activation. An alternative approach that instead changed the address
at NU activation would require more significant changes to ZIP 214 <a id="user-content-fnref-zip-0214-4"></a>
[4](#user-content-fn-zip-0214)
(and possibly ZIP 207 <a id="user-content-fnref-zip-0207-4"></a>
[3](#user-content-fn-zip-0207)).

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

## Deployment

This ZIP is proposed to be deployed with NU7 <a id="user-content-fnref-zip-0259-2"></a>
[5](#user-content-fn-zip-0259).

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

## Reference implementation

- Zebra: <a id="user-content-fnref-zebra-11527"></a>
  [6](#user-content-fn-zebra-11527)

- Zakura: <a id="user-content-fnref-zakura-1201"></a>
  [7](#user-content-fn-zakura-1201)

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

## References

<a id="footnote-label"></a>

### Footnotes

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) [↩](#user-content-fnref-bcp14)

2. [ZIP 218: 25-second Block Target Spacing](/zip/218) [↩](#user-content-fnref-zip-0218)

3. [ZIP 207: Funding Streams](/zip/207) [↩](#user-content-fnref-zip-0207) [↩2](#user-content-fnref-zip-0207-2) [↩3](#user-content-fnref-zip-0207-3) [↩4](#user-content-fnref-zip-0207-4)

4. [ZIP 214: Consensus rules for a Zcash Development Fund](/zip/214) [↩](#user-content-fnref-zip-0214) [↩2](#user-content-fnref-zip-0214-2) [↩3](#user-content-fnref-zip-0214-3) [↩4](#user-content-fnref-zip-0214-4)

5. [ZIP 259: Deployment of the NU7 Network Upgrade](/zip/259) [↩](#user-content-fnref-zip-0259) [↩2](#user-content-fnref-zip-0259-2)

6. [Zebra PR 11527: feat(nu7)!: prepare ZIP 259 deployment and ZIP 2008 payouts](https://github.com/ZcashFoundation/zebra/pull/11527/changes#diff-061366644cb0b7049eb85a8cfdc1f67b45ffcc73874984d3aef33ba0a26017cf) [↩](#user-content-fnref-zebra-11527)

7. [Zakura PR 1201: feat(consensus): rotate NU7 FPF address (ZIP 2008)](https://github.com/zakura-core/zakura/pull/1201) [↩](#user-content-fnref-zakura-1201)

## Citation relationships

Cites: [ZIP 207](https://zips.tools/zip/207), [ZIP 214](https://zips.tools/zip/214), [ZIP 218](https://zips.tools/zip/218), [ZIP 259](https://zips.tools/zip/259)

Cited by: [ZIP 207](https://zips.tools/zip/207), [ZIP 214](https://zips.tools/zip/214), [ZIP 259](https://zips.tools/zip/259)