Overview
Extend ChainMove user profiles so Privy-authenticated users can be linked to Stellar account records safely.
Problem
The app currently uses Privy for signup/auth. To support the Stellar roadmap, users need a clean way to associate their ChainMove account with a Stellar public key or account reference without exposing or storing private keys in frontend code.
Expected solution
Add Stellar-related fields to the user model and profile flow, such as:
stellarPublicKey
stellarAccountId
stellarLinkedAt
stellarNetwork
Update profile syncing logic so a Privy user can later be linked to a Stellar account.
Requirements
- Do not remove Privy.
- Do not store Stellar secret/private keys.
- Validate Stellar public key format before saving.
- Make fields optional so existing users are not broken.
- Add clear documentation for how Privy auth and Stellar accounts fit together.
Files likely involved
models/User.ts
lib/auth/privy.ts
lib/auth/current-user.ts
- profile/account API routes
- dashboard/profile UI components
- README or docs
Acceptance criteria
- User model supports optional Stellar account fields.
- Existing users continue to work.
- Stellar public key validation is added where appropriate.
- Privy remains the authentication layer.
- No private key is stored or exposed.
- Lint and build pass.
Suggested labels
stellar, auth, backend, security
Difficulty
Intermediate
Overview
Extend ChainMove user profiles so Privy-authenticated users can be linked to Stellar account records safely.
Problem
The app currently uses Privy for signup/auth. To support the Stellar roadmap, users need a clean way to associate their ChainMove account with a Stellar public key or account reference without exposing or storing private keys in frontend code.
Expected solution
Add Stellar-related fields to the user model and profile flow, such as:
stellarPublicKeystellarAccountIdstellarLinkedAtstellarNetworkUpdate profile syncing logic so a Privy user can later be linked to a Stellar account.
Requirements
Files likely involved
models/User.tslib/auth/privy.tslib/auth/current-user.tsAcceptance criteria
Suggested labels
stellar,auth,backend,securityDifficulty
Intermediate