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
The Vault's SeedelfPanel shipped functional in #155 — buttons that wire mintSeedelfTx / sendToSeedelfTx / spendFromSeedelfTx, plus a 32-byte-hex register-id render. This issue captures the UX pass that takes it from "works" to "comfortable to use day-to-day".
Scope
Receive flow
Per-register share-friendly id: the bare 32-byte hex is a poor UX; render it as a copy-able blob with a QR code modal and an optional "human-name" annotation the user types locally (kept in IndexedDB, not on chain).
A dedicated "Receive" sub-panel showing each register's id, a paste-into-this-wallet helper for the sender's UX (mirrors how exchanges show deposit addresses), and an optional "expected amount" the panel watches for.
Send flow
Address book: locally-stored contacts mapping a friendly name → seedelf id. Tag-based (so a contact can carry both a Lovejoin address and a Seedelf id under one entry).
Recent recipients: implicit "last N sent-to" suggestions sorted by recency.
Amount QoL: max-out button (account for fee headroom), reject below min-UTxO with a clear hint.
Spend flow
Internal rotate by default: today the spend form starts on "external" because that's the simpler path, but the more privacy-preserving default is "internal" (rotate the dust into a fresh register). Switch the default and explain the tradeoff inline.
Spend to Lovejoin mix-box: a one-click affordance that bundles a Seedelf spend with a fresh Lovejoin deposit — washes stealth ADA back through the mixer without the user having to chain two txs by hand.
Per-register history: a collapsed timeline of tx ids that produced / consumed this register's funds. Read-only, sourced from the indexer (today the user has to dig through cardanoscan).
Onboarding
An "intensity dial"-style staircase for first-time users: explain stealth wallets, walk through minting, and gate the spend forms behind a one-time consent so users don't burn ADA on a misclick.
Empty-state copy that links to the docs page (separate Help/Protocol page item).
Withdraw bridge
The Withdraw page should optionally deliver to a Seedelf register (covered by a separate feat-ticket; see #linked). The presentation half — destination-mode radios, Seedelf-id picker, dynamic min-UTxO hints — belongs here so the two flows feel like one product.
Polish
The mint button hard-fails when the wallet has fewer than 2-ish ADA spare; should surface a clear "needs ~2 ADA for the new register's min-UTxO" hint up-front.
Summary
The Vault's
SeedelfPanelshipped functional in #155 — buttons that wiremintSeedelfTx/sendToSeedelfTx/spendFromSeedelfTx, plus a 32-byte-hex register-id render. This issue captures the UX pass that takes it from "works" to "comfortable to use day-to-day".Scope
Receive flow
Send flow
Spend flow
Onboarding
Withdraw bridge
Polish
Non-goals
Order of attack
Related