Hello everyone,
Following up since the v2.3.4 “Send Select” post (June 11): we kept shipping on mainnet, hardening the api-server + VPS operator path, and closing gaps the dynamic-fee pilot and compact-sync roadmap called out. Latest tagged CLI release: v2.3.6.5 — Teriyaki Hot.
Big thanks to @gilmore for running Nozy against a self-hosted Zebrad stack on a VPS — that testing surfaced two real companion-API bugs we fixed on master (details below).
What shipped since v2.3.4
Teriyaki Hot patch series (v2.3.5 → v2.3.6.5)
| Release | Focus |
|---|---|
| v2.3.5 | api-server rejected valid long mainnet unified addresses (u1… > 100 chars). Validation now matches core wallet (up to 256 chars). |
| v2.3.6 | Release policy: GitHub release assets are CLI binaries only for production today. Desktop, extension, and api-server stay in-repo for contributors until we promote them on release pages. |
| v2.3.6.1 | Send checks cached notes.json balance before rescan; /api/balance excludes spent notes. |
| v2.3.6.2 | Unified nozy::wallet_sync orchestrator; structured /api/sync errors (503 ZEBRA_UNAVAILABLE); “already synced” fast path; send marks notes spent in cache; speed-up after expiry (rebuild at priority ×4, not rebroadcast); desktop + extension pilot speed-up wiring; quieter Orchard scan logging by default. |
| v2.3.6.3 | trusted_zebra_urls for operator VPS nodes when privacy-network policy is on; structured connect errors; POST /api/config/test-zebra matches real sync path; history confirmations fix. |
| v2.3.6.4 | Remote VPS Zebra connect: configured zebra_url treated as trusted operator endpoint; http/https normalization on same host:port. |
| v2.3.6.5 | Balance stayed 0 when cache was empty but sync thought it was caught up. Empty cache now triggers historical rescan to tip. |
Changelog: CHANGELOG.md
Dynamic-fee pilot — Phase A items that landed after v2.3.0
| Item | Status |
|---|---|
| Extension / WASM fee_policy alignment | Shipped in 2.3.x stack alignment |
| Speed-up after expiry (rebuild at ×4 fee) | api-server + desktop + extension |
| Expired tx detection + note release | Pending txs past expiry_height marked expired |
| Structured sync/send errors | /api/sync phase + code JSON |
Typical Orchard send fees (1 spend + change, no memo):
- Standard: 10,000 zats
- Priority (opt-in ×4): 40,000 zats
- Expiry: tip + 5 blocks
VPS / companion API fixes (community-driven)
After @gilmore’s VPS + Zebrad setup, two companion issues showed up on synced wallets:
-
Send rescanned ~50k blocks despite healthy sync — Send now reuses
notes.jsonspendable notes + incremental witness catch-up; no fixed 50k rewind. -
Transaction history empty despite correct balance — History merges sent broadcasts with received deposits from
notes.json(Received/Senttypes).
These are on master (unreleased tag at time of writing).
New surface: mobile companion (in development)
nozy-mobile — Expo app → nozywallet-api → Zebrad + lightwalletd. Operator VPS guide: VPS-DEPLOY.md. Not production-ready yet.
New product lane: Business + Zcash Names (ZNS)
ZEC-first vendor path:
| Phase | Focus |
|---|---|
| 0 (now) | GitHub issue #85 |
| 1 | Personal vs Business profile (Orchard account 0 vs 1) |
| 2 | Send to name.zcash via ZNS resolve |
| 3 | Mobile Sell mode — QR POS |
Goal: vendor shows hotwing.zcash on QR; customer pays; vendor sees balance after sync. ZcashNames docs
Viewing keys & books (Phase 5 — planned)
Books, not identity: ZNS is how customers pay hotwing.zcash. Viewing keys are how you optionally give an accountant read-only access to Business activity — export a UFVK, never the seed or spending key.
| Layer | Role | Viewing key? |
|---|---|---|
| ZNS | hotwing.zcash → your receive unified address |
No — public name resolution |
| Business wallet | Stall income & spend (Orchard account 1, same seed as Personal) | Used internally to scan; export is optional |
| Personal wallet | Day-to-day ZEC (account 0) | Stays private unless you explicitly opt in |
One mnemonic, two Orchard accounts:
Same seed
├── Personal → account 0 → your private spending
└── Business → account 1 → hotwing stand (Sell mode, receive, send)
Near term (Phases 1–3): you run the stall with full wallet access — Sell QR, sync, history on device/API. No viewing key leaves the wallet unless you choose to share books.
Phase 5 (after Sell mode + ZNS resolve are stable):
- CSV export — business ledger (date, type, amount, txid, memo) for spreadsheets / tax prep
- UFVK export — Business account only; accountant imports into a compatible scanner and sees shielded inflows/outflows without spend authority
- Disclosure grant log — who you shared with, scope, expiry (audit trail)
Not the same as ZNS keys: claiming/updating hotwing.zcash uses a separate ZNS identity key (Ed25519, on-chain memos). That signs name registration — it does not reveal transaction history and does not spend ZEC.
Today: wallet scanning already uses Orchard viewing material internally; Keystone UFVK export exists for hardware pairing (account 0). Business disclosure export is on the roadmap, not shipped yet — we’ll stop for a security review before Phase 5 lands
Product pivot: pure Zcash stack (ZNS, POS, mobile)
For now we’re pausing active roadmap work on the Secret / Shade / XMR multichain lane and concentrating on a pure Zcash stack — Zebrad + lightwalletd, Orchard shielded sends, compact sync (Zeaking), mobile companion, and Zcash Names (ZNS) for identity and pay UX. That’s the story we want to ship and demo: one privacy-first ZEC wallet, human-readable names like hotwing.zcash, and a vendor Sell mode on mobile — not cross-chain DeFi as the headline.
Multichain code may remain in the repo for contributors, but near-term priorities are Zcash-native only. Planning: GitHub issue #85.
What’s next (near term)
- Tag release with history merge + send cache fixes.
- Mobile: profile → ZNS resolve → Sell mode QR.
- Zeaking witness from compact store (compact-first send path).
- More VPS operator testing — GitHub Issues welcome.
Honest notes
- Still client-side ZIP-317 + opt-in 4× — not mempool congestion pricing.
- GitHub releases = CLI only until other surfaces are promoted.
- Business/ZNS is planned, not shipped yet.
Feedback welcome — especially on payment with ZNS.
