Area: backend · Effort: L
What: Allow new users without a Stellar wallet to create a custodial wallet managed by the platform, lowering the barrier to entry for crypto beginners.
Why: Requiring users to set up a Stellar wallet before depositing excludes the majority of potential African retail users who are crypto newcomers.
Acceptance Criteria:
- New users can opt into a custodial wallet during registration
- A Stellar account is created and the keypair is encrypted with the user's password-derived key
- Users can export their private key at any time to self-custody
- Custodial wallets are clearly distinguished from self-custody wallets in the UI
- Security model is documented in
docs/custodial-wallet-security.md
Hints:
- Use BIP32 HD wallet derivation with a platform seed and user-specific path
- Encrypt private keys with AES-256-GCM using a key derived from the user's password via Argon2
backend/src/wallets/custodial-wallet.service.ts
Area: backend · Effort: L
What: Allow new users without a Stellar wallet to create a custodial wallet managed by the platform, lowering the barrier to entry for crypto beginners.
Why: Requiring users to set up a Stellar wallet before depositing excludes the majority of potential African retail users who are crypto newcomers.
Acceptance Criteria:
docs/custodial-wallet-security.mdHints:
backend/src/wallets/custodial-wallet.service.ts