I just tried setting this up per the docs you shared with the latest plugin version, but zcash_walletd just stays in a reboot loop with this log:
Invalid viewing key: Hrp(Checksum(InvalidResidue)) note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
When I uploaded the unified viewing key from ywallet it did see the new view key, but says it’s invalid:
VK missing from .env file or data config note: run with RUST_BACKTRACE=1 environment variable to display a backtrace thread ‘main’ panicked at src/main.rs:105:103: Invalid viewing key: Hrp(Checksum(InvalidResidue)) note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Perhaps a plugin or BTCPay update is needed to actually support unified viewing keys? I’m running BTCPay v2.2.1 and Zcash plugin v1.0.4.0.
Hello @sethforprivacy! I’m glad to see you back on the forum. Thank you for pointing that out. I can’t respond substantively right now; I’ll need technical assistance from @1337bytes and @hanh.
Then the docs need an update, as Ywallet was recommended (but doesn’t seem to work) and Zingo wallet was recommended but doesn’t seem to allow view key export anymore.
Will try those and see if I can get a working view key!
Should be available on the latest master, no need for custom fragments. Orchard/UA support was merged upstream a month ago. Most merchants have upgraded to it already.
Hey all, I’ve run into an issue twice over the last week where Zcash transactions for BTCPay invoices never show as paid, despite being received in the Zcash wallet. It appears that the generated-zcash_walletd-1 container just gets stuck until restarted. An example from today was below, where two transactions seemed to fail on the BTCPay side, but were immediately seen when I restarted the Zcash container.
[2025-12-11T12:17:00Z INFO zcash_walletd::rpc] Scan from 3162741 to 3165520 [2025-12-11T12:17:02Z INFO zcash_walletd::rpc] Notify tx REDACTED [2025-12-11T12:17:02Z INFO zcash_walletd::rpc] Notify tx REDACTED
Anything I can do here to prevent this or any other logs I can provide to improve things here? Running the latest Zcash plugin and steps that were shared above, which includes this image:
Hey, I sent you a message on Twitter. How many confirmations have you configured, if it’s more than one, have you tried one confirmation? I am currently working on a bug fix for an issue in the plugin’s handling of multiple confirmation checks; this logic should be handled on the plugin side rather than zcash-walletd.
As in the entire container is frozen and stops outputting logs, or there is just one Notify tx and no more activity for a specific transaction?
We’ve been having very consistent issues with transactions being received by the wallet (visible in Ywallet), but not seen by BTCPay. Restarting the container doesn’t seem to be resolving it for long either, so I’ve had to just disable Zcash payments for now.
The logs I can see show this with the last TX we received that wasn’t recognized by BTCPay:
[2026-01-18T11:35:52Z INFO zcash_walletd::rpc] Notify tx REDACTED
index out of bounds: the len is 0 but the index is 0
Please make sure you’re using 1 confirmation. Can you try updating to zcash-walletd version 1.1.8 with a custom fragment and let me know if that resolves it? This should resolve a race condition with notify tx that a couple of merchants ran into and fix a bug with reorg that can be caused with bad shutdowns. Will submit a PR to btcpayserver-docker once I’ve received enough reports that the issues are fixed.