Ironwood is Here! Updated Wallets, Libraries (Aug 20)

Same process,

use        :      version: 3.0.2-CYPHERPUNK
released   :      2026-07-27
4 Likes

Cake Wallet was ready for the hard-fork, with version 6.4.0 going live this morning on all app stores!

Out now and automatically migrating users through a privacy-preserving path as soon as they open their Zcash wallets.

More info in our docs: Ironwood migration | Crypto | Cake Wallet - Docs

5 Likes

Lightwallet operators, Ironwood forces a db upgrade FYI

2 Likes

Ironwood is live and working in Cake Wallet with auto-migration. Can be seen in my tweet!

6 Likes

Ironwood is active!!

Important privacy note for all Zcash users:

Not every wallet supports the privacy-optimized Ironwood migration process yet, be careful right now.

The Zodl app does not yet support the safest migration path.

If you send funds in an Ironwood wallet which does not have a migration feature, the funds will send just fine. But, you are broadcasting the amount that you sent between the Orchard and Ironwood pools publicly on the blockchain forever. Sender and recipient remain private, but your amount is public.

Wallets supporting the safest fund migration path take a specific approach to moving your funds between pools. Please wait for Zodl to add support for this if you absolutely need the highest level of privacy.

Cake Wallet and Vizor are two wallets that I have tested that support safer migration, I believe Zkool also supports it but I have not yet tested.

I’m sure Zodl will update here as soon as they release support, they are working tirelessly over there.

8 Likes

Quick Gem Wallet status update:

We successfully completed a transparent ZEC transaction after Ironwood activation. Our public Zcash backend is synchronized past the activation height and reports the Ironwood consensus branch ID (37a5165b).

Public node status: https://gemnodes.com/zcash/api/

{
  "blockbook": {
    "initialSync": false,
    "inSync": true,
    "bestHeight": 3428921,
    "inSyncMempool": true
  },
  "backend": {
    "chain": "main",
    "blocks": 3428921,
    "headers": 3428921,
    "version": "zebra",
    "consensus": {
      "chaintip": "37a5165b",
      "nextblock": "37a5165b"
    }
  }
}

Block height shown is a snapshot and will increase over time.

Gem currently supports transparent ZEC only. Shielded transactions and Orchard-to-Ironwood migration are not yet supported.

We are still confirming the exact Zebra build used by our managed node providers, so this update confirms post-activation transparent transaction compatibility rather than a specific Zebra version.

2 Likes

The android appstore version of Zkool is updated, ios still pending.

2 Likes

Zkool migration support added! I have confirmed Orchard to Ironwood txids working.

Click three dots:

Then last option below,

3 Likes

I recommend using Tor (embedded arti or external socks proxy) to hide your IP for the lightwalletd server

3 Likes

Realized I posted on X, but not here.

Vizor supports both the Ironwood pool as well as the Orchard → Ironwood migration. All products provide both the private (ZIP-318) migration path as well as an immediate migration path, but Android currently only has the ‘immediate’ feature and not the private path (hoping to push an update soon, but no specific dates).

Based on our testing, we highly recommend that you use our desktop wallet client.

This is due to the nature of private migrations taking anywhere from 12 hours to many days. Our mobile wallet will provide notifications for when you need to enter the app to continue the migration process, but it’s fundamentally takes more effort compared to the desktop migration, which allows the migration to happen seamlessly in the background as long as the wallet is open and running.

Vizor provides the option to easily export desktop wallets to the mobile wallet, so you can always re-import the accounts after the migration has completed.

3 Likes

July 30 Update: Migration is flowing

Migrated so far: Over 419,293 ZEC

Two days in and the story has shifted from “is your software ready” to “migration works on mainnet.” The top post is updated in this thread. Here’s what changed since the 28th.

Migration confirmed working on mainnet

  • @VikCake reports Cake Wallet’s auto-migration is live and working.
  • @dismad confirmed Orchard-to-Ironwood transaction ids on Zkool 6.25.1, with screenshots.
  • Vizor shipped two iOS updates since launch, now at 0.0.20 (July 30) with migration stability improvements.

For developers

  • librustzcash: the wallet crates hit rc.6 on July 30 (zcash_client_backend 0.24.0-rc.6, zcash_client_sqlite 0.22.0-rc.6), and zcash_keys is final at 0.16.1. Finals for the wallet crates look close.

Mobile App Releases

  • Zkool on Google Play is now current at 6.25.1, which includes migration. The iOS App Store is still on 6.23.0, which cannot migrate. Thanks @Autotunafish for tracking this.
  • Zingo! iOS is still on 2.0.20 (309) from June, which predates Ironwood. Android got a 2.0.21 (312) release on July 30.

New on the list

  • Gem Wallet: transparent ZEC works past activation with the correct Ironwood branch ID. Shielded transactions and migration are not supported yet.

Server side

  • zecd v0.5.0 is final, out of RC as of July 28.
  • zallet v0.1.0-beta.2 (July 28) is a substantial release for operators leaving zcashd: a migration guide, an RPC status matrix, operations and backup guides, z_exportviewingkey, and verification of security-relevant wallet.db records before use.
  • z:kv v0.0.1-rc5 (July 29).

Other version bumps

  • Zingo-PC 2.0.22 (163) (July 30), bug fixes. The private migration path still ships deactivated.
  • Zkool 6.25.1 (July 28) restores Ledger build compatibility and moves to production librustzcash; 6.26.0 release candidates are landing.
  • NozyWallet 2.4.2 (July 30). The release is explicit that only the CLI is production-ready; desktop, extension, and API companion are still in development. I’ve marked the extension accordingly.

Guidance from the Vizor team

Vizor posted useful operational detail: all Vizor products support Ironwood and migration, and they recommend desktop for private migrations, which run anywhere from 12 hours to multiple days. You can export the wallet to mobile once migration completes. Vizor’s Android app lacks the private path for now, with an update planned.

Zodl published their migration plan

Their support article describes the private flow in development: balances worked into standard sizes like cash note denominations, transfers staggered on randomized schedules, network checks separated from broadcasts, and the full schedule shown up front before you consent. No release date yet, and they’re targeting iOS and Android simultaneously.

I cannot help to think that if the Zodl team believes that all of these migration safeguards are so important, they should be warning their users in their released apps to wait for their safer release. Currently Zodl users are crossing the turnstile without any migration process or privacy enhancements.

My warning at the top of the post stands until it ships: basic fund movement works in 3.8.0 today, but amounts crossing the turnstile are still way more revealing on Zodl. A 3.8.1 Android release is staged in the repo but not yet published.

Cipherscan reports that 82.5% of all Ironwood migrations are failing to follow the ZIP-318 migration standards for privacy over the past 7 days, with over 24% failing to even try.

It’s hard not to blame ZODL for this, I fully expect this to improve once they fix their apps to follow the standard that they helped define.


Anything else that shipped and isn’t on the list, reply here or DM me and I’ll add it.

8 Likes

Is there a way to set the migration amount per transaction in Zkool? Trying to do it per the auto button seems to prefer sub 1 Zec amounts which (in my case) will take a very long time to migrate.

cc @hanh

1 Like

You should be able to just do it manually and have control over your input notes as well.

It is not gonna be all sub ZEC amounts as it is broken into standard denominations of powers of 10, but it can take a long time still. You can always do a orchard to ironwood tx of any amount.

3 Likes

Nozy supports ZIP 318 Orchard to Ironwood migration (CLI/desktop), so users aren’t forced into a naive cross-pool send. We also treat IP submit as part of safer migration prefer a local Zebrad, or opt-in Nym mixnet smolmix for remote sendrawtransaction / migrate-broadcast so the submit host isn’t your clearnet IP. Tor/I2P and an explicit private-network attestation are other accepted paths. Turnstile amounts are still public by design, mixnet doesn’t hide the amount, it breaks the IP link.

www.Nozywallet.com

3 Likes

Zingo iOS has been updated :right_arrow_curving_down:

4 Likes

August 1 Update

Migrated so far: >702,861 ZEC

The top post is updated in this thread. Here’s what changed since the 30th.

Zingo! iOS shipped

Zingo! iOS updated on July 31 to 2.0.21 (311) on the App Store, with 2.0.22 (313) tagged the same day carrying Ironwood support. Thanks @dismad for confirming with a screenshot.

Update lightwalletd again

v0.5.2 (July 30) is the third security release in a week. It narrows the GetMempoolTx mutex to the cache it protects (GHSA-f9pw-q493-7qvh, GHSA-9p9r-mggr-8q9g). v0.5.1 bounded oversized client input, v0.5.0 was the Ironwood release. If you are on 0.5.0 or 0.5.1, update.

Wallet updates

  • Zodl 3.8.1 shipped to both stores on July 30. It fixes balance and transaction display issues. It does not add the private migration flow, so the warning at the top of the post stands.
  • Zkool 6.26.0 (July 31) is a substantial migration release: streaming with progress tracking, cancellation support, a one-shot option, and migration transactions labelled in history, plus dust filtering and per-pool note locking.
  • Vizor is on Android too, at 0.0.21 on Google Play, though the private ZIP 318 path is iOS and desktop only for now with an Android update planned. iOS is at 0.0.21 as of July 30.
  • NozyWallet, per @Lowo is conformant with ZIP 318, across CLI and desktop. I had it listed as a wallet-specific private flow; it aims to be spec-conformant but I have not had time to personally confirm this yet.

Controlling your own migration amounts

Most wallets are allowing manual control of migration amounts, via regular Zcash sends. Manual control is there if you want it. But the defaults exist because a hand-picked amount is exactly the kind of thing that makes your crossing identifiable, so unless you know specifically why you’re overriding, don’t.

Server side

  • zecd v0.5.1 (August 1) adds coinbase spending.
  • Zakura v1.1.0-rc0 tagged August 1. Latest stable is still v1.0.5.
  • zallet unchanged at v0.1.0-beta.2, Zaino at 0.6.0, Zebra at v6.2.3.

For developers

  • librustzcash wallet crates remain at rc.6 (zcash_client_backend 0.24.0-rc.6, zcash_client_sqlite 0.22.0-rc.6). Everything else in the cohort is final.

Anything else that shipped and isn’t on the list, reply here or DM me and I’ll add it.

Ironward.

10 Likes

Zkool iOS ironwood ready update has landed :+1: ( h/t @Autotunafish )

2 Likes

Hi all - closing out this thread with a final update.

ZODL shipped the first stable librustzcash crates supporting Ironwood yesterday, that’s the big update that developers in our ecosystem need to be aware of. Until now, builders had to depend on release candidates. It’s great to have this stable release out.

Migrated so far: 3,103,231 ZEC, about 80% of the Orchard pool

Supply verification is at 95.7%. That number was the entire point of Ironwood, and it is climbing. Over 23,000 migration transactions have been broadcasted since activation, still running at around 5,700 ZEC/hr.

The top post is updated in this thread.

librustzcash is fully final

The wallet crates left release-candidate status on August 19: zcash_client_backend 0.24.0, zcash_client_sqlite 0.22.0, and zip321 0.9.0. Along with them zcash_primitives 0.30.1 and zcash_protocol 0.10.5.

That was the last piece. Every crate in the cohort is now a final release on crates.io, so nobody needs to pin release candidates any more. Six weeks from “most of the stack is RC” to a fully released library set, through a consensus change.

The Zodl mobile app now supports safe migration

On July 30 I said Zodl users should not move funds until a safe migration flow shipped, and I was fairly pointed about it. That flow shipped in 3.9.0 on August 8, and having gone through their implementation, it is thorough:

  • A private option that splits your balance and sends scheduled transfers over time, or an immediate single transfer if you want it.
  • Tor protection built into the flow.
  • Keystone support, progress notifications, and a home screen banner tracking the run.
  • Four follow-up releases since, tightening migration UI, making Keystone signing much faster, and fixing a case where some wallets could not detect spendable funds after migrating.

Their code follows ZIP 318 properly, including the session separation between syncing and broadcasting, and it references an internal audit of that behaviour. So Zodl moves to ZIP 318 in the table.

Every major wallet now has a private or ZIP 318 path. There is no longer a good reason for anyone to cross the turnstile the visible way.

One engineering detail worth stealing

While tuning their flow, Zodl removed a fixed ten-minute wait between syncing and sending, on the grounds that a fixed delay between a sync and a send is itself a recognisable pattern on the network rather than protection from one.

Timing regularity is a fingerprint exactly like amount regularity. Wallets really should not hand-roll their own migration schedule.

Node and indexer updates

  • Zebra v6.3.0 (Aug 10). Adds seeder.zec.rocks and seeder.testnet.zec.rocks as default DNS seeders, a getdeprecationinfo RPC reporting the height at which your release halts for end of support, and enforcement of the MAX_MONEY cap on the total chain value pool balance.
  • lightwalletd v0.5.3 (Aug 4), guaranteeing block continuity in GetBlockRange. That is four releases in ten days, two of them security fixes.
  • Zaino 0.8.0 (Aug 19). Note that 0.7.0 carried breaking changes to zaino-proto and zaino-state, so read the notes before upgrading a deployment.
  • Zakura v1.2.0 (Aug 14), after 1.1.0 and 1.1.1. Steady cadence.
  • zecd v0.6.2 (Aug 20). 0.6.0 added a lightwalletd backend, so it no longer needs a full node. 0.6.2 is a security fix upgrading h2 for RUSTSEC-2026-0258, which reaches both the JSON-RPC port and light mode’s upstream connection.
  • zcash-stack 0.4.1 (Aug 18) adds webzjs and grpcweb chart components, on top of the Aug 10 bump across Zebra, Zaino, Zakura, lightwalletd and zecd.

Wallet updates

  • Zkool iOS caught up on August 5 and can migrate. The store gap that ran for a month is closed on both platforms. GitHub is at 6.27.0, which added Nym mixnet as a transport. Thanks @dismad and @Autotunafish for tracking it.
  • Vizor is at 0.0.26 on both iOS and Android, eight releases since launch, both platforms on the same train now.
  • Cake Wallet 6.4.1 (Aug 12) with post-migration performance and reliability work.
  • Zingo-PC 2.0.25 (180) (Aug 17), four releases in three weeks. The Windows binaries are now signed with an MSIX artifact, which matters to anyone who had been clicking past a SmartScreen warning.
  • Keystone firmware 3.0.4 (Aug 12), optimizing transaction parsing.
  • Zingo! mobile has been quiet since July 31 and is still on a basic migration path.
  • Ledger merged PCZT v2 signing on July 27 and still has not shipped it three weeks later.

Mobile migration needs you to open the app

iOS does not permit background sending, so Zodl and Vizor drive the schedule through local notifications. You get told when a step is due and opening the app discharges it. Desktop is still the easier place to run a long private migration unattended.

Coinholder voting is on Ironwood

ZIP 262 voting now runs on the Ironwood upgrade. Zkool 6.27.0 added delegation and vote casting, and Zodl has restored Coinholder Polling in Settings with prior rounds preserved. If you paused voting through the upgrade, it is available again.

On timing, if you are still holding Orchard

At 80% migrated, the calculus has flipped. The risk is no longer that you migrate conspicuously; it is that you are among the shrinking group that has not. The anonymity set you are sitting in is draining, and it will keep draining. Use a ZIP 318 wallet, take its defaults, and get it done.

This is my final update to this thread, thanks for following along. What a wild few months for Zcash, Ironwood is here due to extreme hours worked by many across the ecosystem. Thank you!

2 Likes