5.0 KiB
5.0 KiB
EDUT Wallet v1 Product Spec
Product Contract
The launcher wallet is a real, user-owned wallet from day one. It is not a hidden license container.
At launch, the wallet is the primary interface for:
- Identity and ownership
- Funding
- EDUT purchases
- Person-to-person sends
- Plain-language transaction visibility
Launch Scope
In scope
- Automatic wallet creation during onboarding
- USD-first balance display
- Add money via embedded on-ramp (card / Apple Pay / Google Pay when provider supports it)
- Receive from another wallet (QR + copy address)
- Buy EDUT products from wallet balance
- Auto-open on-ramp for checkout shortfall
- Send funds to any address (QR scan or paste)
- Biometric/PIN confirmation for all spend/send actions
- Plain-language transaction history
- Recovery path available but not forced
Out of scope (post-launch)
- Off-ramp to fiat
- Multi-token portfolio management beyond USDC + ETH
- DeFi integrations
UX Language Contract
Never show crypto jargon by default.
- Show:
Add money,Receive,Pay someone,Balance - Hide by default: gas, wei, long hex fields, tx hashes, block explorers
- Reveal technical details only behind explicit
View details
Core Flows
1) First Launch Onboarding
- User installs and opens launcher.
- Wallet is created automatically on device.
- User sees:
Your wallet is ready. - User is not shown seed phrase unless they explicitly open recovery settings.
- Balance card is visible immediately in USD (
$0.00initial state).
Rules
- Private key material never leaves device.
- Key storage uses secure OS keystore where available.
- If secure keystore is unavailable, launcher requires local passcode and stores encrypted key locally.
2) Add Money
- User taps
Add money. - Embedded on-ramp opens.
- User selects amount and payment method.
- On-ramp delivers funds to EDUT wallet address.
- Balance updates in USD when chain confirms.
Rules
- On-ramp session is initiated from launcher context.
- On-ramp failures return user to wallet with actionable error state.
- No fiat custody by EDUT backend.
3) Receive From Another Wallet
- User taps
Receive. - Launcher shows QR code and copy-address action.
- Label shown to user:
Receive from another wallet. - Incoming transfer appears in history and updates USD balance.
4) Buy EDUT Product
- User selects product in store.
- Checkout shows USD amount and available wallet balance.
- If balance is sufficient, complete purchase from wallet.
- If insufficient, launcher opens on-ramp for difference.
- After funding, checkout resumes and completes.
Rules
- No hidden split charges.
- User always sees final USD amount before confirmation.
- Membership and entitlement purchases write deterministic receipts.
5) Pay Someone
- User taps
Pay someone. - User scans QR or pastes address.
- User enters USD amount.
- Confirmation screen shows:
- USD amount
- Destination summary (
0x...abcdshort form) - Clear
Confirm paymentaction
- Biometric/PIN confirmation required before send.
6) Transaction History
History is plain-language first.
Examples:
Added $100Bought Human MembershipSent $50 to 0x12ab...90efReceived $200 from 0x98cd...11aa
Technical details are available only in expanded view:
- Full wallet addresses
- Tx hash
- Raw asset amounts
Security Requirements
- Biometric or PIN required for every outgoing transaction.
- Device-local key ownership is mandatory.
- Recovery path must exist but remain opt-in in onboarding.
- Sensitive operations fail closed on secure storage errors.
- Wallet export (seed/private key) requires explicit authenticated flow.
- AI/delegated automation must never use the human identity signer key directly.
- Any delegated signing authority must be explicit, scoped, and revocable.
Asset/Display Model
Launch-supported assets:
- USDC (primary purchasing balance)
- ETH (network fee balance)
Display rules:
- Primary balance shown in USD.
- Token-level balances available in details view.
- Checkout amounts shown in USD first, then token equivalent if expanded.
Integration Requirements (Execution)
Launcher implementation must support:
- Embedded on-ramp provider integration
- Wallet funding address retrieval for receive flow
- Store checkout integration with backend quote/confirm APIs
- Deterministic local transaction journal rendering
- Price conversion for USD display (USDC fixed, ETH converted via trusted feed)
Acceptance Criteria
- Fresh install reaches usable wallet state without manual key setup.
- User can add funds and see updated USD balance.
- User can copy/QR receive address and receive funds.
- User can buy EDUT product from wallet balance.
- Insufficient-balance checkout opens on-ramp and resumes.
- User can send funds with biometric/PIN confirmation.
- History entries are human-readable and accurate.
- No crypto jargon appears in primary flow screens.
- Off-ramp and non-USDC/ETH asset management are absent from v1 UI.