A user running an older Zcash wallet—one built before the Ironwood network upgrade in 2026—faces a practical decision. The wallet still shows a balance, transactions may appear to confirm, but compatibility with current network parameters has degraded. The Ironwood upgrade replaced the Orchard shielded pool with a more efficient architecture, and wallets that have not been updated to NU6.3 or later cannot create or verify transactions under the new protocol rules. This is not a case of lost funds, but one of trapped funds: the balance exists on the blockchain, but the wallet cannot move it forward.
Migration is straightforward in principle but requires understanding what “update” means in the context of private keys, recovery phrases, and the difference between a wallet application and the underlying Zcash network. Moving from a legacy wallet to an Ironwood-compatible version involves choosing a successor application, generating or importing keys, verifying the destination addresses, and transferring the balance across a real transaction rather than a simple import. The process protects funds from loss, but only if performed methodically and verified at each step.

Understanding why pre-NU6.3 wallets became incompatible
The Zcash network underwent a consensus rule change called Ironwood, which fundamentally altered how shielded transactions operate. The Orchard pool, which was the standard for private ZEC transactions, was replaced by a redesigned shielded mechanism that uses different cryptographic commitments and transaction structures. Electric Coin Company, the core development team behind Zcash, published the specification for this change, and all network nodes enforced it beginning at a specific block height in 2026.
A wallet built for the old Orchard pool contains hardcoded assumptions about address formats, commitment trees, and the way transaction notes are constructed. When the network switched to the new shielded pool, these assumptions became invalid. An old wallet attempting to broadcast a transaction using the pre-upgrade format will have it rejected by the network. The wallet will not display an obvious error; instead, the transaction may appear to “hang” or show a permanent pending status because no node will accept it.
The incompatibility is permanent and one-directional. You cannot use an old wallet to move new shielded ZEC without upgrading the application. This is why the Zcash GitHub repository documents the NU6.3 protocol requirements and why wallet developers released updates immediately before and after the Ironwood activation date. Legacy wallets did not “break” in the sense of data corruption; they simply became unable to communicate with a network that had fundamentally changed its language.
Identifying your current wallet version and Ironwood compatibility
The first step is to confirm whether your wallet is pre-Ironwood or already compatible. Open the wallet application and look for a “Settings,” “About,” or “Version” option. The version number should be displayed alongside a build date. If the build date is before the Ironwood activation in 2026, or if the version number is below NU6.3, the wallet is pre-upgrade. Some legacy wallets may not show granular version information; in that case, check the application’s official website or GitHub repository for release notes tied to your installation date.
Another practical test is to attempt a small outgoing shielded transaction. If the wallet allows you to create the transaction but it never confirms—remaining “pending” for more than an hour across multiple block confirmations—the wallet is likely pre-Ironwood. A confirmed transaction or an error message indicating protocol mismatch is a clearer signal, but if the transaction simply hangs, do not send additional funds. Instead, stop and plan the migration immediately.
You should also document the wallet type you are using. Different Zcash wallets—such as Zodl (formerly Zashi), Zingo!, Zkool, Edge Wallet, or hardware devices like Keystone, Ledger, and Trezor—handle recovery phrases, address generation, and software updates in different ways. Knowing which specific wallet application you are running determines the migration procedure. Write down the wallet name, version, and the operating system it runs on before proceeding.
Choosing an Ironwood-compatible wallet for your ZEC wallet download
Once you confirm that your current wallet is pre-Ironwood, the next decision is where to migrate. Multiple Zcash wallets support the current Ironwood protocol, and your choice affects migration complexity, privacy features, and long-term usability. The main consumer options include Zodl (the successor to Zashi, a mobile wallet for iOS and Android), Zingo! (a desktop wallet with strong privacy controls), Zkool (a browser-based wallet), and hardware wallets such as Keystone, Ledger, and Trezor, which offer higher security isolation for larger balances.
Each wallet has different trade-offs. A mobile wallet is more convenient for frequent transactions but keeps private keys on a device that also runs email, messaging, and web browsers. A desktop wallet provides better isolation if your computer is dedicated or well-maintained. A hardware wallet requires a separate device, which is more complex to operate but reduces exposure of private keys to any internet-connected machine. For the migration itself, it does not matter which destination you choose; what matters is that the destination wallet supports NU6.3 or later and unified addresses (the u1 format that Ironwood wallets use).
Before downloading any new wallet, verify the source. Check the official website for the wallet project and ensure the download link matches. Wallet impersonation scams are common: a user may download from a domain like “zodl-wallet.app” instead of the legitimate site, and the fake application will steal recovery phrases. The legitimate sources are published on the official Zcash ecosystem pages and, in many cases, on app stores with verification badges. If you are unsure, visit the zec wallet download page to confirm the official links before installing any new wallet software.
The migration procedure: exporting recovery information safely
Migration does not mean importing your old wallet’s recovery phrase directly into the new application. While some wallets may appear to accept an import, the address derivation and key handling may differ between the old and new applications. Instead, the safest procedure is a manual transfer: create a new wallet in the Ironwood-compatible application, generate a new recovery phrase, and then transfer the balance from the old wallet to the new one as a real blockchain transaction.
Before beginning, export or document your legacy wallet’s recovery phrase. If you have already written this phrase on paper and stored it offline, do not repeat that process. If you have never written it down, this is the moment to do so—but do so offline, using pen and paper, on a computer that is not connected to the internet or will be powered off afterward. Take your time and verify each word carefully. Photograph the written phrase or store the paper in a secure location. Do not type the phrase into any application, email, or file on an internet-connected device.
Next, open your legacy wallet and navigate to the transaction or send screen. Create a new transaction sending your entire balance to an address controlled by the new wallet. You will use the new wallet’s receiving address—which should be in the unified address format (u1)—as the destination. Before clicking “send” or “confirm,” verify the destination address three times. Cut and paste the address rather than typing it manually; typos in addresses cannot be recovered. Check that the amount shows your full balance and that the fee is reasonable under current network conditions.
Executing the transfer and verifying receipt in the new wallet
Once you have reviewed the transaction, approve it using whatever security method your old wallet requires (PIN, biometric, hardware button press, or password). The wallet will broadcast the transaction to the Zcash network. The transaction will be visible in the mempool and should confirm within a few blocks—typically 10 to 30 minutes under normal network conditions. Do not close or force-quit the old wallet application immediately; instead, leave it open and watch the status.
While the transfer is pending, open your new Ironwood-compatible wallet and navigate to the receiving address you used for the destination. The address should be listed in your address history or an “Accounts” section. Do not create a new address; instead, monitor the address you specified in the transfer. After the transaction confirms on the network, the new wallet should display the incoming funds. This confirmation may take a few minutes as the new wallet synchronizes with the network, so be patient.
Once the new wallet shows the full balance as confirmed, you have successfully migrated. The old wallet still contains the historical record of addresses and transactions, but it no longer holds any active funds. At this point, you can consider the old wallet obsolete, though you may wish to keep it archived for historical reference or tax record purposes. Do not delete or uninstall the old wallet until you are absolutely certain that the new wallet has received all funds and that you have tested the new wallet’s functionality with a small outgoing transaction.
Managing recovery phrases and seed backups after migration
Your new Ironwood-compatible wallet has generated a new recovery phrase. This phrase is distinct from your old wallet’s phrase and controls a different set of addresses and keys. Both phrases are now security-critical: the old one controls the deprecated legacy wallet (now empty), and the new one controls your active balance. You must manage both carefully and keep them separate.
If you previously stored your legacy wallet’s recovery phrase in an unsafe location—a cloud note, a text file on a networked computer, or a message—this is the moment to clean that up. Delete the old phrase from any online location. The old wallet has no active funds, so even if the old recovery phrase is compromised, the worst an attacker can do is review old transaction history or send additional funds to a now-obsolete address. Cleaning up the old phrase prevents confusion and reduces the number of secrets you need to protect long-term.
The new recovery phrase should be written on paper using the same offline procedure: pen, paper, offline device, and secure storage. Test the recovery process by importing the phrase into a temporary test wallet (on a separate device or in a throwaway virtual machine) to confirm that the phrase generates the correct addresses. This test confirms that you have written the phrase correctly and know how to recover it if the primary device is lost. After testing, securely delete the test wallet and destroy any temporary records.
Special considerations for hardware wallets and unified addresses
If you are migrating to a hardware wallet such as Keystone, Ledger, or Trezor, the procedure is similar but with an additional security layer. The hardware device generates and stores the recovery phrase internally; you write it down as a backup, but the device itself is the primary source of truth. When you create a new Zcash account on the hardware wallet, it will generate a unified address in the u1 format. Use this address as the destination for your legacy wallet transfer, just as you would with a software wallet.
Hardware wallets have one important advantage during migration: the recovery phrase never enters your computer. Instead, you approve the transaction on the device’s screen, using its buttons. This reduces the risk of malware intercepting the phrase or a spoofed address. However, hardware wallets also require you to understand their synchronization method—whether they connect via USB, Bluetooth, or a companion application—and whether that connection provides network privacy. Some hardware wallets use third-party servers to scan the blockchain, which can reveal your address to those servers. If privacy from address visibility is important to you, research the hardware wallet’s synchronization architecture before migrating.
What to do if the legacy wallet transaction gets stuck
In rare cases, a transaction created in a pre-Ironwood wallet may not be accepted by the network but also may not fail clearly. The transaction might show as “pending” indefinitely, or the old wallet might display a cryptic error. This can happen if the old wallet attempted to use a partially-upgraded transaction format that is neither fully pre-Ironwood nor fully Ironwood-compatible.
If this occurs, stop attempting to send from the old wallet. The funds are still on the blockchain associated with the old wallet’s addresses; the issue is purely one of application-level compatibility. Your options are to import the legacy wallet’s recovery phrase into a different Ironwood-compatible wallet (as a last resort) or to wait for an updated version of the legacy wallet that handles the specific transaction state. In most cases, importing the phrase into a fresh Zcash wallet like Zodl, Zingo!, or Zkool will allow you to access and move the funds, since these wallets understand the current network protocol.
If you go this route, create the new wallet first, generate a receiving address, and then import the legacy phrase into the new application. The new wallet will scan the blockchain, discover the funds associated with those addresses, and allow you to send them to a modern address. After this transfer, delete the imported recovery phrase from the new wallet to avoid confusion. Only use each recovery phrase with one designated wallet application going forward.
After migration: securing the new wallet and avoiding re-exposure
Once your funds are safely in an Ironwood-compatible wallet, the security focus shifts to protecting the new wallet and recovery phrase. The migration itself is complete, but long-term safety depends on the practices you follow afterward. Update the wallet application whenever new versions are released, especially security patches. Enable all available security features: PIN protection, biometric authentication if available, and optional hardware wallet integration if you are using a software wallet as a companion to a hardware device.
Be aware that upgrading the wallet application to a newer NU6.3+ version does not require a new recovery phrase. You can safely update the app without re-exporting or re-importing anything. The phrase remains the same; only the application software changes. This is a crucial distinction: if someone tells you that a software update requires a new recovery phrase or asks you to re-enter the old one, they are attempting a scam.
Test the new wallet with a small transaction before treating it as your primary storage. Send a small amount to an external address and verify that it arrives and confirms normally. This confirms that the wallet can create and broadcast Ironwood-format transactions correctly. Only after this test should you consider the migration complete.
Frequently asked questions
Can I import my legacy wallet’s recovery phrase directly into a new Ironwood-compatible wallet?
While some Ironwood wallets may allow phrase import, the safest procedure is to create a new wallet with a new phrase and transfer the balance as a real blockchain transaction. This avoids potential address derivation inconsistencies between old and new wallet applications. If you must import the old phrase as a last resort, do so only in a dedicated temporary wallet for recovery purposes, then delete it after the transfer is complete.
How long does a ZEC wallet download and migration typically take?
Downloading and installing a new Ironwood-compatible wallet takes 5–10 minutes depending on your internet speed and device. The actual fund transfer takes 10–30 minutes for network confirmation. Initial synchronization with the blockchain in the new wallet may take longer (hours to days) depending on the wallet type and network conditions, but you can begin using it as soon as the transfer confirms.
What happens if I lose my recovery phrase after migrating to an Ironwood wallet?
Your funds will be inaccessible. There is no recovery mechanism. This is why the recovery phrase backup procedure is critical: write it down offline, store it securely, and test the recovery process with a temporary wallet before relying on it. If your device is lost or fails, the recovery phrase is your only way to restore access to the balance.