Z3: A new Zcash technology Stack
Zcash was created from a bitcoin-core fork in 2015. Zcashd has been the main consensus node for over 9 years. A complex machinery that combines legacy C++ code from Satoshi’s Era, cutting edge Zero Knowledge Proofs, RustLang code, a full-node wallet, mining and blockchain indexing RPCs.
That’s a lot! It all came to the point where the community voted that developers focus on making Zcash Shielded Assets a reality. But after an in-depth analysis, it was determined that in order to be able to keep advancing the protocol, Zcashd would have to be replaced because the effort of adding new features was huge and deemed an inefficient allocation of the development resources of the Zcash development budget. ZODL core developers made the decision of starting to deprecate Zcashd in favor of a new technology stack composed of Zebra, a RustLang modern consensus node developed by the Zcash Foundation engineering team, and Zaino, an indexer developed by ZingoLabs. ZODL would be in charge of developing the full-node wallet that would connect to Zaino and Zebra, called Zallet.
Zcashd deprecation was a cross-team ecosystem-wide effort, and it is now complete: the final Zcashd release, 6.20.0, reached its End-of-Life halt at block 3417100 on July 18th 2026, and Zcash consensus now runs on the Z3 stack. See the Zcashd End-of-Life page for details.
Zcashd Deprecation is now Z^3
Zcashd Deprecation was deemed a negative narrative. In order to focus on the positive aspects of the outcomes of this process, it was then renamed to Z^3 (Zebra x Zaino x Zallet). If you’d like to contribute to Z3, check out the contributing section.
“Zee Three” or “Zee to the Three” is an original idea from Zancas (ZingoLabs).
Migration Guide: moving off Zcashd
⚠️ Zcashd has shut down
zcashdis deprecated and does not support NU6.3. Its End-of-Support halt occurred at block height 3417100, mined on July 18th 2026 (22:51 UTC), after which everyzcashdnode automatically shuts down. See the Zcashd End-of-Life page for the full timeline.
- July 2nd, 2026Ironwood / NU6.3 testnet deploymentNU6.3-ready node releases are deployed to testnet.
- July 4th, 2026Ironwood / NU6.3 testnet activationNU6.3 activates on testnet at block 4,134,000.
- July 9th, 2026Ironwood / NU6.3 mainnet deploymentNU6.3-ready node releases are published for mainnet.
- July 18th, 2026zcashd End-of-Support haltAt mainnet block 3,417,100 (mined 22:51 UTC) every remaining zcashd binary shut down and refused to restart.
- ~July 28th, 2026 · estimatedIronwood / NU6.3 mainnet activationNU6.3 activates on mainnet. zcashd does not support NU6.3 — the network is Zebra-only from here on.
This guide condenses the next steps for everyone still running Zcashd — node operators, miners, exchanges, and services that depend on the Zcashd wallet CLI. Find your situation below and follow the corresponding path.
Note: This page is a community resource. It is not associated with, or endorsed by, the Zcash Foundation, ZODL, ZingoLabs, Valar Group, or any other Zcash organization.
Which path should I take?
| Your current situation | Migrate to | When |
|---|---|---|
| Full node, no indexing or wallet needs | Zebra Zakura | Now |
| Service that needs indexed blockchain data (explorers, APIs) | Zebra + Zaino | Now |
| You use the Zcashd wallet CLI / wallet RPCs | Zebra + Zallet (with Zaino or Zebra as backend) | Now — start testing immediately |
| You can’t complete the wallet migration before EOL and need the existing Zcashd APIs | Zakura + zcashd-compat mode | Temporary bridge only — plan your migration to Zallet wallet in parallel |
Whatever path you take, remember: the zcashd-compat bridge is temporary. All users will eventually have to migrate to Zebra and Zallet (or Zebra / Zebra + Zaino if they don’t need a wallet).
Before you migrate: back up everything
- Always back up your current data. Before touching anything, make copies of
your Zcashd data directory — especially your
wallet.dat— and store them somewhere safe. A failed migration with a good backup is an inconvenience; without one, it can mean losing funds. - Always back up your Zebra chain state before running a migration. Copy the Zebra state directory before pointing new components (Zaino, Zallet) at it or upgrading versions, so you can roll back without a full resync.
- Community-maintained snapshots for Zebra are available. If you need to (re)build a Zebra node quickly, daily checksum-verified mainnet snapshots can bring it close to the chain tip without syncing from scratch. See the Community Maintained Snapshots entry in the Resources section.
If you run a full node (no wallet)
Zebra is Zcash’s consensus node, completely implemented in RustLang by the Zcash Foundation .
Zebra validates consensus and has limited indexing capabilities by design. You can move to Zebra today — no other components required.
Find out more about Zebra on GitHub or by reading The Zebra Book .
Zakura is a fork of Zebra maintained by Valar Group. It has different capabilities than Zebra, such as pruned mode, Zcashd-compat mode and fast syncs. Find out more about Zakura on GitHub .
If you run a service that needs Zcash indexed data
Zcashd RPCs which served indexed data of the Zcash blockchain are now replaced by Zaino . Zaino connects to a Zebra node to create indexed views of the finalized and non-finalized states of the Zebra node.
If you run a block explorer or any service that depended on those RPCs, you should deploy Zebra and Zaino and use Zaino as your indexer. This stack is ready today.
If you rely on the Zcashd wallet CLI
The Zcashd wallet is deprecated and stopped running on July 18th 2026.
You should migrate to Zallet , the replacement for the Zcashd full-node wallet, developed entirely in RustLang by ZODL . Zallet runs against a Zebra node and lets you opt for one of two backends:
- Zaino — the recommended setup and the full Z3 stack (Zebra x Zaino x Zallet).
- Zebra (zebrad) directly — a standalone setup without the indexer.
Start by migrating your wallet.dat and testing your integration against
Zallet as soon as possible. Find out more in the
Zallet book and its
GitHub repository.
If you are a miner
Migrate your node to Zebra and request block templates from it. If you operate under Zakura’s zcashd-compat mode (below), note that the mining RPCs are removed from the sidecar zcashd: block templates must be requested from Zakura’s RPC interface, not from zcashd’s.
If you need more time: Zakura + zcashd-compat mode
Zakura is a full node developed by Valar Group. Its zcashd-compat mode is aimed at operators — typically exchanges and custodial services — that cannot complete their migration to Zallet before Zcashd’s End-of-Life and need to keep their existing Zcashd integrations running in the meantime.
Note: Zcashd-compat mode is meant to be a “rain check” for moving into Zakura + Zallet, or Zebra + Zallet.
How it works:
- Zakura faces the network. Zakura is the consensus-validating node connected to the Zcash peer-to-peer network.
- Zcashd becomes a sidecar. A patched zcashd fork runs alongside it, making a single outbound connection to Zakura and accepting no inbound peer-to-peer connections. Your zcashd node is no longer exposed to the P2P network.
- Your existing APIs keep working. The zcashd wallet RPCs (transparent and Sapling), local block files, chainstate, and ZMQ notifications stay unchanged.
- Extended End-of-Life. The compat-mode zcashd fork keeps running past NU6.3 activation, which is stock Zcashd’s End-of-Life as indicated in Zcashd’s documentation .
Limitations you must plan around
- Ironwood pool: permanently unsupported in the sidecar zcashd.
- Orchard: rejected after NU6.3 activation. Orchard operations work before activation and return errors afterwards.
- Transparent and Sapling operations are unaffected.
- Mining RPCs are removed from the sidecar zcashd (use Zakura’s RPC instead).
This is a temporary solution
The zcashd-compat mode buys you time; it is not a destination. All users will have to migrate to Zebra and Zallet for wallet CLI functionality — or to Zebra (optionally with Zaino) if they don’t require a wallet. Use the extra runway to execute your Z3 migration, not to postpone it.
Testing your migration on testnet
A Zcash testnet faucet with Ironwood support is available at fauzec.com . Use it to fund test wallets and validate your Zallet integration — including Orchard and Ironwood flows — before moving to mainnet.
Zcash Z3 containerized stack
Zcash Foundation maintains the Z3 stack , which comprises Zebra, Zaino and Zallet.