Privacy & Confidential Transfers
Dev Multi-User Wallet Testing
Configure local Alice/Bob/Satoshi dev profiles and test private send and receive flows between users.
Why this exists
Private send/receive UX needs at least two users to test contact selection, request links, and private transfers end to end.
The wallet dev login flow supports multiple local dev identities via environment keys and a profile picker on /login.
Configure dev users
In apps/wallet/.env.local, set:
DEV_PRIVATE_KEY=0x... # existing default profile (Satoshi)
DEV_PRIVATE_KEY_ALICE=0x... # optional Alice profile
DEV_PRIVATE_KEY_BOB=0x... # optional Bob profileNotes:
DEV_PRIVATE_KEYis still used as the deployer and default profile source.DEV_PRIVATE_KEY_ALICE/DEV_PRIVATE_KEY_BOBadd selectable profiles in dev login.- Restart the wallet dev server after env changes.
Login as different users
- Open
http://localhost:3006/login. - Click Dev Login (choose user).
- Select
Satoshi,Alice, orBob.
If a selected profile has no existing wallet identity yet, wallet provisioning runs automatically for that profile.
Recommended local test flow
- Log in as Alice.
- Open Receive and copy/share Alice stealth meta-address.
- Log out, log in as Bob.
- Add Alice as a contact.
- Send a private transfer to Alice (
st:flow). - Verify:
- Send contact selection works
- Receive request/share flows prefill correctly
- Recent activity and note updates appear for both users
Troubleshooting
- No profiles listed in dev picker
- Ensure env keys are present in
.env.local. - Restart
apps/walletdev server.
- Ensure env keys are present in
- DB unavailable during dev login/register
- Start local Postgres/Docker services and retry.
- Profile logs into wrong account
- Clear browser session/local storage for wallet app and re-run dev login.