ExploreTrendingAnalytics
Nostr Archives
ExploreTrendingAnalytics
Mandalorian1d ago
IJMA WALLET - update notes A great security UX idea is address highlighting or "canary coloring". I've designed the highlighting scheme for Ijma wallet as follows. Bitcoin on-chain (bc1q... / bc1p...): - bc1q or bc1p prefix → muted/grey (boilerplate) - First 4 chars after prefix → orange (checksum start) - Middle bulk → normal text - Last 4 chars → orange (checksum end, most important to verify) Lightning BOLT11 (...): - prefix → muted/grey - Amount digits embedded in prefix (e.g. 210n) → highlighted - First 6 chars of the hash section → orange - Last 6 chars → orange Lightning address (user@domain.com): - user part → orange - @ → muted - domain.com → normal Nostr npub: - npub1 prefix → muted - First 6 chars → orange - Last 6 chars → orange How the highlighting works: Two functions: AddressDisplay renders the coloured spans, parseAddressSegments detects the address type and returns the segment list. The full colour scheme is as follows: Bitcoin on-chain (bc1q / bc1p) bc1q · wxyz5 · [bulk middle] · 4abc9 grey orange dark text orange The bc1q / bc1p prefix is grey — it's the same on every address so no reason to emphasise it. The first 5 chars after the prefix and the last 5 chars are orange — these are the characters a user should scan when confirming a receive address they've sent someone. BOLT11 Lightning invoice (...) · 210n · 1pvj · [bulk] · 8kl2w4 grey purple orange dark orange The network prefix is grey. The amount (e.g. 210n = 21,000 sats) is purple so it stands out clearly — this is the most critical thing to check on an invoice. First 8 and last 8 chars of the data section are orange. Lightning address (user@domain) amisatoshi · @ · primal.net orange grey warm dark The username is orange because it's the unique identifier. The domain is readable but not highlighted. Nostr npub npub1 · abcdef · [bulk] · xyz123 grey orange dark orange Where it appears: - Receive screen — the address text below the QR code - Send confirm screen — the "To" row is now a full-width AddressDisplay rather than a truncated string, so the user can actually see and verify the full address before confirming. The other rows (Amount, Fee, etc.) remain right-aligned as before.
💬 0 replies

Replies (0)

No replies yet.