``` ZIP: 259 Title: Deployment of the NU7 Network Upgrade Owners: Dev Ojha Status: Draft Category: Consensus / Network Created: 2026-09-15 License: MIT Discussions-To: ``` # Terminology The key words "MUST" and "MUST NOT" in this document are to be interpreted as described in BCP 14 [^BCP14] when, and only when, they appear in all capitals. The term "network upgrade" is to be interpreted as described in ZIP 200. [^zip-0200] The character § is used when referring to sections of the Zcash Protocol Specification. [^protocol] The terms "Mainnet" and "Testnet" are to be interpreted as described in § 3.12 'Mainnet and Testnet'. [^protocol-networks] "ZEC/TAZ" refers to the native currency of Zcash on a given network: ZEC on Mainnet and TAZ on Testnet. $\mathsf{MAX\_MONEY}$, as defined in § 5.3 'Constants', is the maximum permitted ZEC/TAZ supply measured in zatoshi. [^protocol-constants] "Issued Supply" at a given height means the sum of all chain value pool balances at that height, as calculated in § 4.17 'Chain Value Pool Balances'. [^protocol-chainvaluepoolbalances] "Scheduled Block Subsidy" means the block subsidy determined by the existing halving schedule, after applying the changes in ZIP 218. [^zip-0218] "NSM Value Balance" is to be interpreted as defined in ZIP 237. It is the consensus-tracked balance of ZEC/TAZ removed from circulation by the Network Sustainability Mechanism (NSM). It is not a spendable chain value pool and is not included in Issued Supply. [^zip-0237] # Abstract This proposal defines the deployment of the NU7 network upgrade. NU7 reduces the block target spacing from 75 seconds to 25 seconds and introduces per-pool and global shielded action limits, as specified in ZIP 218. It also deploys ZIP 235, ZIP 237, and ZIP 2008. NU7 introduces no new transaction format. Once NU7 activates, version 4 transactions are invalid, while version 5 and version 6 transactions remain valid. Because Sprout transfers can only be represented by version 4 transactions, funds remaining in the Sprout pool become unspendable. [^zip-2003] The changes do not increase the ZEC supply cap. Funds paid from the NSM Value Balance were previously removed from circulation in equal amount. The NSM Value Balance is public consensus state and introduces no new transaction-level data. # Motivation NU7 is deliberately limited to changes that have strong support from coinholders, developers, and major ecosystem organizations. These changes can be deployed without another transaction-format migration. Faster blocks reduce confirmation latency, while the action limits in ZIP 218 bound the validation and shielded synchronization costs enabled by the increased block frequency. # Specification ## NU7 consensus changes The primary sources of information about NU7 consensus protocol changes are: * The Zcash Protocol Specification. [^protocol] * ZIP 200: Network Upgrade Mechanism. [^zip-0200] * ZIP 207 Revision 2: NU7 funding-stream address periods. [^zip-0207] * ZIP 214 Revision 3: NU7 funding-stream end heights. [^zip-0214] * ZIP 218: 25-second Block Target Spacing. [^zip-0218] * ZIP 235: Remove 60% of Transaction Fees From Circulation. [^zip-0235] * ZIP 237: Halving-preserving variant of the NSM. [^zip-0237] * ZIP 2003: Disallow version 4 transactions. [^zip-2003] * ZIP 2008: Update to `FS_FPF_ZCG_H3` address list. [^zip-2008] The network handshake and peer management mechanisms defined in ZIP 201 also apply to this upgrade. [^zip-0201] NU7 deploys all of the consensus changes specified in the ZIPs listed above, including Revision 2 of ZIP 207 and Revision 3 of ZIP 214. NU7 does not deploy ZIP 233 or ZIP 234. [^zip-0233] [^zip-0234] On Testnet, the minimum-difficulty threshold specified in ZIP 218 changes at the Testnet NU7 activation height from six to 18 block target spacings. With the 25-second target spacing, a block time must be more than 450 seconds after the preceding block's time to qualify for minimum difficulty. This change does not affect Mainnet. The NU7 upgrade does not follow [^zip-0200]'s guidance that network upgrades should be scheduled after the last supporting node on the network's end of support halt. ## NU7 network constants The following network upgrade constants are defined for NU7: [^zip-0200] CONSENSUS_BRANCH_ID : `0x77190AD9` ACTIVATION_HEIGHT (NU7) : Testnet: 4465026 : Mainnet: TBD (To be set on OCT 20) Each ACTIVATION_HEIGHT (NU7) MUST be a multiple of 3, as required by Revision 3 of ZIP 214. [^zip-0214] NSM_REISSUANCE_HEIGHT : Testnet: 7305222 : Mainnet: $\mathsf{DEPLOYMENT\_BLOCK\_HEIGHT}$ for Mainnet, as calculated in ZIP 237 [^zip-0237] Each NSM_REISSUANCE_HEIGHT is $\mathsf{DEPLOYMENT\_BLOCK\_HEIGHT}$ for the corresponding network, as calculated in ZIP 237 [^zip-0237]. The Testnet ACTIVATION_HEIGHT (NU7) $A = 4{,}465{,}026$ lies between the second and third pre-NU7 Testnet halvings (2,796,000 and 4,476,000). The ZIP 218 third halving is therefore at $H_3 = 13{,}428{,}000 - 2A = 4{,}497{,}948$, and the Testnet reissuance height is $H_3 + 2{,}807{,}274 = 16{,}235{,}274 - 2A = 7{,}305{,}222$. MIN_NETWORK_PROTOCOL_VERSION (NU7) : Testnet: 170180 : Mainnet: 170190 For each network, nodes compatible with NU7 activation on that network MUST advertise a network protocol version greater than or equal to the corresponding MIN_NETWORK_PROTOCOL_VERSION. ## Backward compatibility Before NU7 activates on a network, NU7 and pre-NU7 nodes can connect to each other. NU7 nodes will prefer other NU7 nodes, so pre-NU7 nodes will gradually be disconnected approaching activation. Once NU7 activates, NU7 nodes will disconnect peers that advertise a lower network protocol version. Blocks produced under the pre-NU7 consensus rules may also be rejected because of the new target spacing, subsidy calculation, action limits, fee allocation, or transaction-version rule. Version 5 and version 6 transactions remain structurally unchanged. This does not imply that a transaction is valid across NU7 activation, because its signatures commit to a consensus branch ID. # Rationale ## Coinholder and Community polling The August and September 2026 NU7 polls asked five scope questions: whether to preserve halvings or smooth issuance; when NSM reissuance should begin; when version 4 transactions should be disabled; whether to deploy ZIP 218; and whether to ship promptly with only features ready by the September 30 deadline. The poll announcement records the complete questions and response options. [^nu7-poll-questions] The coinholder and community poll results are available at [^nu7-poll-results]. The polls did not reach a shared majority position on when NSM reissuance should begin. NU7 uses the post-third-halving crossover of reference NSM issuance and the scheduled block subsidy, calculated from the assigned NU7 activation height as specified in ZIP 237 [^zip-0237]. ## Rationale for no new transaction format Avoiding a new format limits parser and wallet disruption in the upgrade immediately following the introduction of version 6 in NU6.3. [^zip-0229] The fee contribution is a block-level consensus calculation and therefore does not require a new field in ordinary or coinbase transactions. # Open issues * Assign the Mainnet NU7 activation height. * Publish the Mainnet NSM reissuance height calculated from the assigned Mainnet NU7 activation height. * Add reference implementations and test vectors for the NSM Value Balance. # References [^BCP14]: [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) [^protocol]: [Zcash Protocol Specification, Version 2026.8.0 [NU6.3] or later](protocol/protocol.pdf) [^protocol-networks]: [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 3.12: Mainnet and Testnet](protocol/protocol.pdf#networks) [^protocol-chainvaluepoolbalances]: [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 4.17: Chain Value Pool Balances](protocol/protocol.pdf#chainvaluepoolbalances) [^protocol-constants]: [Zcash Protocol Specification, Version 2026.8.0 [NU6.3]. Section 5.3: Constants](protocol/protocol.pdf#constants) [^zip-0200]: [ZIP 200: Network Upgrade Mechanism](zip-0200.rst) [^zip-0201]: [ZIP 201: Network Peer Management for Overwinter](zip-0201.rst) [^zip-0207]: [ZIP 207: Funding Streams](zip-0207.rst) [^zip-0214]: [ZIP 214: Consensus rules for a Zcash Development Fund](zip-0214.rst) [^zip-0218]: [ZIP 218: 25-second Block Target Spacing](zip-0218.md) [^zip-0229]: [ZIP 229: Version 6 Transaction Format](zip-0229.md) [^zip-0233]: [ZIP 233: Network Sustainability Mechanism: Removing Funds From Circulation](zip-0233.md) [^zip-0234]: [ZIP 234: Network Sustainability Mechanism: Issuance Smoothing](zip-0234.md) [^zip-0235]: [ZIP 235: Remove 60% of Transaction Fees From Circulation](zip-0235.md) [^zip-0237]: [ZIP 237: Network Sustainability Mechanism: Halving-Preserving Issuance](zip-0237.md) [^zip-2003]: [ZIP 2003: Disallow version 4 transactions](zip-2003.rst) [^zip-2008]: [ZIP 2008: Update to `FS_FPF_ZCG_H3` address list](zip-2008.md) [^nu7-poll-questions]: [NU7 Coinholder Vote: poll questions and scope](https://forum.zcashcommunity.com/t/nu7-coinholder-vote/56912) [^nu7-poll-results]: [NU7 Sentiment Polls Results](https://forum.zcashcommunity.com/t/nu7-sentiment-polls-results/57590)