V2.3.6.7 fixed the witness-sync bug, clean withdrawal, under a minute

Quick follow-up to my earlier post about migrating to a self-hosted Zebra + Nozy setup.

Pulled v2.3.6.7 and rebuilt the API server today. The witness-sync issue I’d been hitting on /api/transaction/send (witness stuck thousands of blocks behind chain tip despite /api/wallet/status reporting fully synced) is completely resolved.

Tested a withdrawal from Nozy → Zodl right after the rebuild, broadcast was instant, confirmed in under a minute, no errors at all.

Solid fix. Appreciate @Lowo88 turning this around quickly.

4 Likes

Yes, this is great news here’s the link to the fix on v2.3.6.7 Release v2.3.6.7 Teriyaki Hot (CLI) · LEONINE-DAO/Nozy-wallet

1 Like

Great work on this one

1 Like

Thanks, try my best to stay on top of any issues come my way.

Bro you a Wizard, the way you fix bugs under minutes it’s crazy :fire::fire:

Yes, I learn fast and I’m passionate about my work.

Thank you @gilmore

1 Like

Just drop my first article on X from the Nozywallet official account please follow people Nozy (@Nozywallet) / X

Nozy on X: "https://t.co/SrJ3e5ZZiu" / X

1 Like

What was the witness sync fix doing differently? Was it note commitment tree handling after a reorg, or something on the scanning side?

Honestly I was testing from the user side rather than digging into the internals of the fix itself. From my end the symptom was clear: /api/wallet/status reporting fully synced with blocks_behind: 0 out /api/transaction/send still throwing witness-behind errors consistently. After pulling v2.3.6.7 and rebuilding, sends went through instantly with no errors.

For the actual implementation details of what changed, @Lowo88 would know best, worth asking him directly or checking the changelog and the src/wallet_sync.rs diff in the repo.

Hey my bad about the late reply @ZKZeek scanning / witness side, not reorg or note-commitment-tree handling.

/api/wallet/status only checked block scan height (blocks_behind: 0). Orchard witnesses on already-cached notes in notes.json weren’t refreshed to tip, so send correctly blocked with witness thousands of blocks behind.

v2.3.6.7 fixes that by refreshing witnesses on all cached notes after sync, batching catch-up at tip, and adding witness_lag_blocks + ready_for_send to status. Check ready_for_send: true before send — not just blocks_behind: 0.

CHANGELOG v2.3.6.7 · BUG-2026-013

1 Like