KeepKey Vault v1.5.0
Pre-release
Pre-release
KeepKey Vault v1.5.0
Feature release centered on Zcash shielded privacy — a full round of live-fire fixes from real shield/unshield sessions — plus swap safety boundaries, Hive REST signing, and the local MCP agent bridge.
What's New
- Zcash shielded balances, first-class on the dashboard. The Zcash row now shows your combined transparent + shielded ZEC with a dedicated shield-glyph breakout of the shielded portion (sidebar and drilled-in view). Shielded ZEC gets a proper bundled zZEC icon everywhere — token rows, detail headers, activity — including fully offline.
- Balances reconcile instantly after private transactions. Spent shielded notes are now marked the moment a transaction broadcasts (no more double-counted balance while waiting for a block), and every shield/unshield/private send schedules silent background rescans so the dashboard converges without any manual sync.
- Swap refund protection. Swaps too small to survive network fees are now refused at quote time with a clear message, instead of being refunded on-chain days-of-fees poorer. The vault enforces each route's declared minimum (including THORChain's
recommended_min_amount_in) and blocks any quote whose total fees exceed the slippage allowance. - Hive REST signing for BEX/SDK clients:
POST /hive/sign-transfer,/hive/sign-message, and/hive/sign-operations(9-op Graphene serializer), all firmware-gated and device-confirmed. - MCP agent bridge.
POST /mcp— a loopback-only, bearer-authed Streamable-HTTP endpoint that lets a local CLI agent drive the paired browser extension. Strict browser-traffic exclusion and DNS-rebinding defenses; documented trust model.
Bug Fixes
- Zcash unshield "Max" computed a fee 5,000 zats short (
zip317_deshield_feecounts the transparent output as a logical action) — every Max unshield failed with "Insufficient shielded funds". Fixed; Max now fills exactly spendable − fee. - Zcash shield signing failed on-device with "Invalid transparent input data" — a snake_case/camelCase field mismatch silently stripped prevout data before it reached the device. Fixed at both layers, with the hdwallet adapter now refusing to send an incomplete input (keepkey/hdwallet#56).
- Transparent ZEC sends rejected by every node with
ScriptInvalidafter the NU6.2 network upgrade — the ZIP-243 sighash branch id was stale. Bumped to0x5437f330. - "All nodes rejected the transaction" on an already-successful broadcast — a slow node accepting past the reply timeout made later nodes answer "already in mempool", which was miscounted as rejection. Already-known now correctly reports success.
- False LOW GAS badge on all-shielded Zcash wallets — shielded funds pay their own fees and are no longer counted as stranded.
- THORChain clear-signing predictor now scopes routers per-chain, closing a cross-chain router-address confusion in swap preview.
- REST firmware gates threw
json is not definedinstead of returning their 501 firmware-requirement message (hive/solana/tron/ton address routes on older firmware). - Hive
/hive/sign-operations500'd on every request (zod4z.recordsignature change). - Settings drawer: Danger Zone no longer cut off at max scroll; the unusable emulator dylib file-picker is replaced with a link to keepkey.com/emulator.
- Recovery flow hardening (strict device-driven ack ordering, transport lock binding), MCP auth/conformance fixes, deshield 16-action cap fail-fast.
Verification
- arm64 DMG: notarized, stapled, Gatekeeper-accepted, on-wire hash verified against signed local build
- x86_64 DMG: notarized, stapled, on-wire hash verified against signed local build
- On-device smoke: Zcash shield + unshield round-trips signed and broadcast on mainnet; REST suite 26/26; sign-gating suite 77/78 (1 skip); hdwallet + sidecar unit suites green
- Linux artifacts built and published by CI
Downloads
| File | SHA-256 |
|---|---|
KeepKey-Vault-1.5.0-arm64.dmg |
c9593a717435de7963a467c7e69fe227a0b8bc353211b91c7d232eb99ceddb64 |
KeepKey-Vault-1.5.0-x86_64.dmg |
d417bcc3869ad54f15af281a5c40450b800503f595e68f5329c6b9a8e0117e6a |
KeepKey-Vault-x86_64.AppImage |
22bac86f3b00ea132e93ffe39676b6a91b6d0c26d496c2940837e75928f51fed |
keepkey-vault_1.5.0_amd64.deb |
4a575fe035da793478b367a53ec39ac9d914b527ecd126ec7035bd6527a36649 |
stable-linux-x64-keepkey-vault-Setup.tar.gz |
7820fa86e5df5b7c3e5dd275d2b7d5272c73bb9a7088cac4fc03314d6a022f21 |
stable-linux-x64-keepkey-vault.tar.zst |
bc442ef063cfef465e0b65ed4c2cddc7e010b8552ff0a3c4b165315c8b549510 |
stable-macos-arm64-keepkey-vault.app.tar.zst |
2311646036b8b319b85b43eb1a053277135006777a6e67c00854caf9326f2f19 |
stable-macos-x64-keepkey-vault.app.tar.zst |
6cd123660f1529ada457bcad78379760164458b29e75a9f16cb39291ce62cc1e |
To verify: shasum -a 256 <filename>
Full Changelog: v1.4.11...v1.5.0