You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bitkit is adding a Hardware Wallet balance type alongside Savings (on-chain) and Spending (Lightning), backed by Trezor. The hardware balance is a watch-only view of funds held on a paired Trezor: Bitkit displays the amount and the device's on-chain activity but never holds the keys. Removing a device just stops Bitkit from displaying its balance.
The home-screen parents already exist (Savings/Spending tiles, suggestion carousel, Settings list), but the hardware/Trezor side of each is missing.
Device naming & connection indicator
Display name = label ?: model ?: "Trezor" — label is the device name set on the Trezor (editable on-device / in Trezor Suite), model is the hardware model (e.g. "Safe 3" / "Safe 7").
The Figma "LABEL FUNDS" field is a Bitkit-side display name for the balance, defaulting to the resolved device name; persisted per device so the user can rename within Bitkit without touching the device.
Connection indicator = connection type (Bluetooth or USB), tinted green while the device is currently connected. Figma examples: bluetooth · usb.
Subtasks
1. Home Screen hardware-wallet updates — (a) full-width device row below the Savings|Spending tiles (<device name> [conn-type indicator, green when connected] ₿ <balance>, blue BTC icon; empty state ₿ 0), hardware funds included in the headline total, device activity merged into the home activity list; (b) new "HARDWARE / Connect device" suggestion card in the carousel → opens the Connect Hardware flow.
2. Hardware Wallet detail screen — Savings/Spending-style overview: top bar = device name + blue BTC icon; balance header; Transfer To Spending button; grouped activity list; Remove <device name> → confirm dialog ("Don't worry, your funds are safe and your coins won't be deleted. Bitkit will simply stop displaying the amounts in the wallet." / Cancel / Remove). Empty state = ₿ 0, Send/Receive only.
3. Hardware Wallet settings — (a) new row in Settings ▸ General ▸ Payments, value = paired-device count → (b) Hardware Wallets Settings Screen: list of paired devices (name + balance + green connection indicator when connected + per-row delete) + Add Hardware Wallet button → Connect flow.
4. Connect Hardware flow (bottom-modal, 4 steps) — Intro (ADD YOUR HARDWARE WALLET) → Searching (SEARCHING FOR DEVICES, USB or Bluetooth) → Found (FOUND TREZOR, pair prompt) → Paired (PAIRED TREZOR, editable LABEL FUNDS field defaulting to the device name, Finish). Entered from the suggestion card or from Hardware Wallets Settings ▸ Add.
5. Transfer to Spending from HW device flow (bottom-modal, 4 steps) — watch-only: channel funding is a send signed on the Trezor device. Amount (numpad; AVAILABLE = savings limit; 25% shortcut; MAX = savings − fees/reserve or the Blocktank limit; over-max resets + error toast) → Review & Sign (SIGN WITH YOUR DEVICE; network/service fees, to-spending, total; Open Trezor Connect; disconnected → "Reconnect Hardware Device" error) → Transaction Signed (checkmark; auto-forwards after a short delay) → Processing Payment (existing frame). Figma frame.
6. Automated testing — UI test hooks (testTags / accessibility ids) on the new hardware screens + a hardware-wallet e2e shard so the connect / transfer flows are runnable by AI agents and in CI, driven by a Trezor emulator (no physical device).
Android implementation notes are in the comment below.
Design: Figma — Trezor Screens
Related (iOS): synonymdev/bitkit-ios#589
Context
Bitkit is adding a Hardware Wallet balance type alongside Savings (on-chain) and Spending (Lightning), backed by Trezor. The hardware balance is a watch-only view of funds held on a paired Trezor: Bitkit displays the amount and the device's on-chain activity but never holds the keys. Removing a device just stops Bitkit from displaying its balance.
The home-screen parents already exist (Savings/Spending tiles, suggestion carousel, Settings list), but the hardware/Trezor side of each is missing.
Device naming & connection indicator
label ?: model ?: "Trezor"—labelis the device name set on the Trezor (editable on-device / in Trezor Suite),modelis the hardware model (e.g. "Safe 3" / "Safe 7").Subtasks
<device name> [conn-type indicator, green when connected] ₿ <balance>, blue BTC icon; empty state₿ 0), hardware funds included in the headline total, device activity merged into the home activity list; (b) new "HARDWARE / Connect device" suggestion card in the carousel → opens the Connect Hardware flow.Transfer To Spendingbutton; grouped activity list;Remove <device name>→ confirm dialog ("Don't worry, your funds are safe and your coins won't be deleted. Bitkit will simply stop displaying the amounts in the wallet." / Cancel / Remove). Empty state =₿ 0, Send/Receive only.Add Hardware Walletbutton → Connect flow.ADD YOUR HARDWARE WALLET) → Searching (SEARCHING FOR DEVICES, USB or Bluetooth) → Found (FOUND TREZOR, pair prompt) → Paired (PAIRED TREZOR, editable LABEL FUNDS field defaulting to the device name, Finish). Entered from the suggestion card or from Hardware Wallets Settings ▸ Add.AVAILABLE= savings limit; 25% shortcut; MAX = savings − fees/reserve or the Blocktank limit; over-max resets + error toast) → Review & Sign (SIGN WITH YOUR DEVICE; network/service fees, to-spending, total;Open Trezor Connect; disconnected → "Reconnect Hardware Device" error) → Transaction Signed (checkmark; auto-forwards after a short delay) → Processing Payment (existing frame). Figma frame.Android implementation notes are in the comment below.