Parent
#16
What to build
Replace the misleading [ Connect ] button label in the first-visit wallet popup with [ Track Wallet ]. The flow does not connect a wallet via any provider — it stores any ETH address in localStorage and uses it as a read-only key for cloud-sync and chain-sync. "Track" is the precise word for read-only address observation and matches existing crypto-product vocabulary (Etherscan watchlist, DeBank follow, Zapper track).
No other strings change. Enter Wallet Address, awaiting input..., and the header [ WALLET ] button are already accurate.
Acceptance criteria
Blocked by
None - can start immediately
Parent
#16
What to build
Replace the misleading
[ Connect ]button label in the first-visit wallet popup with[ Track Wallet ]. The flow does not connect a wallet via any provider — it stores any ETH address inlocalStorageand uses it as a read-only key for cloud-sync and chain-sync. "Track" is the precise word for read-only address observation and matches existing crypto-product vocabulary (Etherscan watchlist, DeBank follow, Zapper track).No other strings change.
Enter Wallet Address,awaiting input..., and the header[ WALLET ]button are already accurate.Acceptance criteria
src/html/body.html:13button text changed from[ Connect ]to[ Track Wallet ]python3 build.py --checkpassesnpm testpasses (no regression in the wallet-popup integration test, if any)localStoragecleared, confirm the popup button reads[ Track Wallet ]Blocked by
None - can start immediately