On 28 July 2026, the Zcash network executed the Ironwood upgrade, which replaced the Orchard shielded pool with a new privacy architecture. For most users, the transition was transparent. For others, it created a critical problem: coins held in Orchard shielded addresses became temporarily inaccessible or entirely frozen because their ZEC wallet software failed to migrate properly to the new pool structure. Some wallets displayed zero balances, others showed coins that could not be spent, and a minority of users lost all visibility into their funds. Recovery is possible in most cases, but it requires understanding what went wrong and following precise steps to restore access.
This guide documents the specific failure modes that occurred, identifies which wallet implementations were most affected, and provides step-by-step procedures to retrieve inaccessible coins. The Ironwood upgrade was a major protocol change designed to improve shielded transaction performance and Zcash security through a fundamentally different note commitment structure. That change, while technically sound, exposed inconsistencies in how different wallet developers had implemented Orchard support. A ZEC wallet that worked correctly before the upgrade sometimes became unable to read notes, verify balances, or generate valid spending transactions after the hard fork. Understanding why this happened—and how to fix it—is essential for anyone holding significant Zcash in shielded addresses.

Why the Ironwood upgrade broke some ZEC wallet implementations
The Orchard shielded pool, introduced in 2022, used a specific note commitment scheme to track and verify shielded notes (the Zcash equivalent of unspent transaction outputs). When the Ironwood upgrade activated, the protocol changed how these commitments are structured and verified. The new scheme is more efficient and reduces the on-chain footprint of shielded transactions, but it is fundamentally incompatible with the old Orchard commitment format. Any wallet or software that had hardcoded the Orchard commitment algorithm without planning for migration would fail to understand existing notes.
Several wallet developers made this exact mistake. They implemented support for the Orchard pool as it existed in 2022–2026, stored the necessary cryptographic parameters in their software, and did not build in a mechanism to update or migrate those parameters when the network hard-forked. When users updated their wallets to versions dated after the Ironwood activation, the new software contained the correct Ironwood parameters but could no longer parse notes created under the old Orchard scheme. The result was that balances displayed as zero or “unknown,” even though the coins had not moved and the blockchain still contained the correct transaction history.
This was not a problem unique to one wallet. The Zcash Foundation and protocol teams documented cases affecting Zodl (the renamed version of Zashi), early versions of Zingo!, and several hardware wallet implementations. The common thread was that these wallets had not built in a recovery mechanism for notes created before the upgrade. A properly designed ZEC wallet would have included either a fallback parser that could handle both old and new note formats, or an explicit migration tool that the user could invoke to convert old notes to new ones.
Identifying whether your ZEC wallet is affected
The first symptom is usually a balance discrepancy. If you open a ZEC wallet that previously showed a balance in the Orchard shielded pool and it now displays zero or an amount significantly less than expected, you may be experiencing a migration failure. Other signs include: (a) the wallet allows you to receive funds but not send them; (b) transaction history is visible on the blockchain (you can check this via a ZEC block explorer) but the wallet does not acknowledge it; (c) wallet backup or recovery is not possible because the software claims there is nothing to back up; or (d) attempting to spend coins produces a cryptic error about invalid notes or commitment mismatches.
To verify the status of your funds before taking recovery action, do not rely solely on the wallet’s balance display. Instead, use the Zcash blockchain directly. If you know your Orchard shielded address, you can view its transaction history on a Zcash block explorer by entering the address. If the explorer shows incoming transactions but your wallet shows zero balance, the problem is almost certainly in how your wallet is parsing or verifying the notes. If the address shows no transactions at all, the coins may have been in a different pool or address than you remember.
For users whose ZEC wallet is affected, the wallet developers have published guidance on recovery. The most reliable option is to update to a recent version of the wallet released after the Ironwood upgrade was complete and the developers had time to issue patches. These versions include corrected note parsing logic and, in many cases, explicit migration tools. However, if you have not updated in months, the jump from a pre-Ironwood wallet to the current version may require an intermediate step or a manual process.
Step-by-step recovery: Moving coins from Orchard to Ironwood
Recovery typically requires three steps: first, restore your wallet from your recovery phrase using a corrected wallet implementation; second, verify that your coins are visible; third, transfer them to a correctly functioning address if necessary. The exact process depends on which wallet you used and which one you are recovering to.
Start by obtaining a recovery seed or private key for the affected wallet. This should be stored offline and never entered into an online service or untrusted website. If you have a written recovery phrase, that is your primary recovery tool. If you do not have it, recovery becomes much harder and may not be possible; if you did not record it when you first created the wallet, document this for the future. For the most authoritative technical guidance on note migration and Zcash address structures, consult the Zcash Improvement Proposal repository, which contains ZIP-317 and detailed specifications of the Ironwood note format.
Next, download the current version of a maintained ZEC wallet from an official source. Reputable options include Zodl for mobile, Zingo! for desktop and mobile, Zkool for advanced users, and Edge Wallet for integrated cryptocurrency management. Check the project’s official website or GitHub repository to verify you are downloading the genuine version, not a counterfeit. Once installed, create a new wallet in the application (do not import anything yet), then verify that the application is synchronized with the current Zcash network. This usually means waiting for a sync indicator to complete and confirming that the wallet shows today’s date and network height.
After the wallet is synchronized, import your recovery phrase. Most wallets will prompt you to select the source of the recovery phrase (seed, private key, or extended key) and the type of address to generate. Choose the option that matches how your original wallet was configured; if you are uncertain, try the default recommended option first. The wallet will then scan the blockchain for transactions associated with that seed and reconstruct your balance. This scan can take minutes to hours depending on the wallet’s scanning method and the age of your account. Do not interrupt this process or close the application until it completes.
Once the import is complete, check your balance carefully. The wallet should now display your Orchard coins in a shielded address balance. If the balance is still zero, try a manual rescan: many wallets have a “rescan” or “refresh” button in settings. If this does not work, the wallet may have a specific migration tool for Orchard notes; check the wallet’s help documentation or changelog for references to “Orchard migration” or “note recovery.” Some wallets, like recent versions of Zingo!, include an explicit “migrate Orchard notes” function under advanced settings.
Once your balance is visible and correct, transfer the coins to a new Ironwood shielded address to ensure they are properly recorded in the new note format. You can do this within the same wallet by creating a new address and sending the full balance to it, or by using a unified address (u1) that automatically includes both old and new shielded pools. After the transfer, wait for the transaction to be confirmed (usually 6 to 10 blocks on the Zcash network) and verify that your balance in the new address is correct and matches the amount you sent.
Understanding unified addresses and TEX addresses under Ironwood
The Ironwood upgrade also introduced improvements to how Zcash addresses are structured and presented to users. A unified address (u1) is a single address that can receive coins in multiple pools: transparent, Orchard shielded, and potentially future pools. This simplifies address management because you can give one address to a counterparty and they can choose which pool to deposit into; the wallet will automatically sort incoming coins to the appropriate pool based on how the sender structured the transaction.
A TEX address (Zcash External) is a bridge format that allows you to receive transparent coins and automatically shield them. This is useful for users who receive funds from exchanges or services that do not support direct shielding. A TEX address appears in the transparent pool from the receiver’s perspective, but behind the scenes, the wallet automatically moves incoming coins to a shielded address, improving privacy. However, TEX addresses still record the initial transparent transaction on the blockchain, so an observer can see that funds entered the pool even if they cannot see where they went afterward.
When recovering from an Orchard migration failure, using a unified address for future transactions is recommended. It makes the wallet’s behavior more explicit and reduces the chance of accidentally sending coins to an address that cannot be accessed. Many modern ZEC wallet implementations default to unified addresses for new wallets and provide tools to convert older single-pool addresses to unified format.
Why Zcash security depends on wallet implementation fidelity
The Ironwood upgrade demonstrated a subtle but important point about cryptocurrency privacy and security. The Zcash protocol itself was designed correctly; the cryptography is sound and the network upgrade worked as intended. The problem was not with the protocol, but with how individual wallet developers had implemented support for it. A ZEC wallet that fails to properly migrate notes is not just an inconvenience—it is a security and usability failure that can cost users access to their funds.
This is why wallet selection matters as much as protocol selection. An open-source Zcash implementation that has undergone security audits and is actively maintained is more likely to handle protocol changes correctly. Closed-source wallets, or those developed by small teams without external review, carry higher risk. When evaluating a ZEC wallet, check whether the developers publish changelogs that explicitly mention protocol upgrade support, whether the wallet has been audited, and whether the team has a track record of timely responses to security issues.
The specific details of how zec wallet implementations handle Ironwood migration vary by product, but all modern versions should include proper note parsing and support for both legacy and current pool structures. Users should verify this by checking the wallet’s release notes for the version they are installing and looking for explicit mention of Ironwood compatibility.
Regulatory context: EU and U.S. restrictions on Zcash wallets
As of July 2027, the European Union’s Markets in Crypto-assets Regulation (MiCA) imposed restrictions on the provision of wallet and custody services for privacy-enhancing coins including Zcash. The European Commission’s financial services guidance designates Article 79 as the relevant control, requiring that any service provider offering ZEC wallet functionality to EU residents must implement transaction monitoring and reporting capabilities. This has forced several wallet providers to geo-restrict their services or discontinue support for Zcash in EU jurisdictions entirely.
In the United States, the Financial Crimes Enforcement Network (FinCEN) has issued guidance on privacy coins but has not implemented an outright ban on their use or wallet support. However, FinCEN expects that wallet providers and exchanges comply with anti-money-laundering requirements, which can be technically challenging for privacy coins. Some U.S. exchanges delisted Zcash, while others continue to support it with enhanced reporting procedures. For ZEC wallet users in the U.S., this means that converting Zcash to other currencies may require using a decentralized exchange or accepting limitations on where you can withdraw the coins.
These regulatory developments have compounded the practical problems caused by the Ironwood migration. Users who could not access their Orchard coins faced a deadline: recover the coins before the wallet application was discontinued in their jurisdiction, or lose the ability to move them legally through regulated services. This underscores why maintaining reliable backups and staying current with wallet security updates is not optional.
Preventing future migration failures: Backup and update strategy
The Ironwood migration taught the Zcash community several lessons about wallet architecture. A properly designed ZEC wallet should include multiple layers of protection against protocol changes. First, it should store its cryptographic parameters (commitment schemes, commitment trees, hash functions) in a way that can be updated without recompiling the application. Second, it should include fallback parsers that can handle notes from multiple protocol versions. Third, it should provide explicit migration or recovery tools for users who have notes created under old protocol versions.
For individual users, the practical lessons are simpler. Keep a physical backup of your recovery phrase in a secure location, written on paper and stored in a safe or safety deposit box. Do not store it in cloud services, password managers, or email. When a major protocol upgrade is announced, check the wallet developer’s website within the first week to confirm that they have published a version that supports the upgrade. If they have not, delay updating your wallet until they do, or switch to a wallet that has better support. Before updating to a new wallet version that claims to support a major protocol change, create a test wallet with a small amount of coins and verify that you can send and receive coins in the new format.
If you are currently experiencing balance display issues or suspect your coins may be affected by a migration failure, prioritize recovery quickly. The technical tools to fix the problem exist, but wallet developers may discontinue support for old pool structures or old wallet versions. The sooner you recover and move your coins to a current, well-maintained wallet, the lower your risk of permanent loss due to future incompatibilities or service discontinuation.
Learning from the Orchard to Ironwood transition
The experience of users whose ZEC wallet became inaccessible during the Ironwood upgrade is not unique to Zcash. Other privacy-focused cryptocurrencies and even mainstream cryptocurrencies like Bitcoin have had protocol upgrades that broke some wallet implementations or required manual migration steps. The difference with Zcash is that the protocol’s privacy architecture makes recovery slightly more complex, because users cannot simply check a block explorer and see their address balances directly—shielded addresses require knowledge of the spending key to verify ownership.
For developers, the lesson is that support for multiple protocol versions and explicit migration tooling should be planned before a major hard fork is activated, not after problems appear. For users and exchanges, it means treating wallet updates as security-critical, not optional, and verifying compatibility before moving coins. For researchers and the Zcash Foundation, it has led to better standardization around how wallet developers should handle protocol changes, documented in updated ZIPs and best-practice guides published on the Zcash project’s official channels.
The Ironwood upgrade ultimately strengthened the Zcash protocol and improved the efficiency and privacy of shielded transactions. The problems that occurred during migration were largely preventable and were mostly resolved within weeks of the upgrade as wallet developers released patches. For users who experienced temporary loss of access to their coins, the experience was frustrating and risky, but recovery was possible for those who had backups. For anyone using a ZEC wallet today, the most important takeaway is that protocol upgrades happen, wallet developers sometimes make mistakes, and your recovery phrase is ultimately your only guarantee that your coins can be recovered.
Frequently asked questions
My ZEC wallet shows zero balance after the Ironwood upgrade. Are my coins lost?
No. Your coins are almost certainly still on the blockchain. The problem is that your wallet is not correctly parsing notes created under the old Orchard protocol. Update your wallet to the latest version released after the Ironwood upgrade, then import your recovery phrase and perform a rescan. If balance still does not appear, use the wallet’s Orchard-to-Ironwood migration tool if available, or switch to a different wallet implementation like Zingo! or Zodl that has more robust migration support.
What is a unified address and should I use one for my ZEC wallet?
A unified address (u1) is a single address that can receive coins in multiple pools: transparent, Orchard shielded, and potentially future pools. Using a unified address simplifies address management and makes it easier to migrate to new protocol versions. Yes, you should use a unified address for your ZEC wallet if it is available, especially if you plan to hold coins long-term and expect future protocol upgrades.
Is my ZEC wallet restricted in the European Union after MiCA?
Yes. As of July 2027, EU regulations require wallet providers to implement transaction monitoring and reporting for privacy coins including Zcash. Many wallet developers have geo-restricted their services to exclude EU residents. If you are in the EU, you may need to use decentralized or non-custodial wallet options, verify whether your chosen wallet provider still supports EU users, and be aware of potential restrictions when converting Zcash to other currencies through regulated exchanges.