User Journey
Table of Contents
Document Overview
Purpose
This document describes the core user journeys of the Donut Exchange platform for:
- Product design reference
- Test case foundation
- User training materials
Core User Journeys
New User Registration & Wallet Creation
Workflow
Visit Homepage → Google Login → Auto Create Wallet → Enter Invite Code → Welcome Guide → Complete RegistrationDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Visit app.donutbrowser.ai | Homepage displayed | Page loads < 5s, login button visible |
| 2 | Click "Sign In" | Login dialog appears | Google login option visible |
| 3 | Select Google Login | Redirect to Google OAuth | OAuth flow normal |
| 4 | Complete Google Auth | Return to app, wallet auto-created | Wallet address generated, avatar displayed |
| 5 | Enter Invite Code | Invite code dialog shown | Input field available, valid code required |
| 6 | View Welcome Guide | Welcome dialog displayed | WelcomeDialog shown |
Success Criteria: User successfully logs in, enters valid invite code, Solana wallet auto-created, session saved
Invite Code Note:
- New users must enter an invite code after first login
- Invite code is required to use the platform
- Obtain valid codes from existing users or official channels
Deposit & Position Management
Workflow
Open Wallet → Copy Address → External Transfer → Balance Update → Position DisplayDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Click Header "Deposit" | Wallet dialog opens | Deposit tab active |
| 2 | Copy deposit address / Scan QR | Address copied | Correct Solana format |
| 3 | Transfer SOL/Token from external wallet | On-chain transaction confirmed | - |
| 4 | Wait for balance update | Balance auto-refreshes | Updates within 30s |
| 5 | View Positions tab | Position list shows new balance | Balance correct |
Success Criteria: Balance auto-updates after deposit, no manual refresh needed
Market Trading (Jupiter Swap)
Workflow
Select Token → Enter Amount → Get Quote → Security Check → Execute Trade → View ResultDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Click token row in Positions | Trade dialog opens | TradeDialog shown, Market tab default |
| 2 | Enter trade amount | Quote info displayed | Quote fetched < 3s |
| 3 | Click "Total Fees" to view fees | Fee details expand | Network Fee, Slippage shown |
| 4 | Click "Execute" | Transaction sent | Blockaid security check passed |
| 5 | Wait for confirmation | Success toast shown | Transaction hash displayed |
| 6 | View History tab | Trade record shown | Record details correct |
Success Criteria: Trade executes successfully, positions and history correctly updated
Zero Gas Fee Trading:
- Users can execute market swaps even without SOL for gas fees
- Powered by Jupiter's Gasless transaction feature
- Lowers barrier for new users - no need to buy SOL first
Limit Order Trading
Workflow
Switch to Limit Tab → Set Price → Set Amount → Select Expiry → Submit Order → Monitor StatusDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Switch to "Limit" in TradeDialog | Limit order form shown | Price/amount inputs available |
| 2 | Enter target price | Price validated | Comparison with market price shown |
| 3 | Enter amount | Balance validated | Total calculated correctly |
| 4 | Select expiry time | Time set | 7d/3d/1d options |
| 5 | Click "Execute" | Order created | Success toast, order ID returned |
| 6 | Switch to Orders tab | Order status shown | Status is "Active" |
| 7 | Wait for price to reach target | Order auto-executes | Notification pushed |
Success Criteria: Order created successfully, auto-executes when target price reached
Take Profit / Stop Loss (Guardrails)
Workflow
Enable TP Toggle → Set Target Price/Ratio → Enable SL Toggle → Set Trigger Price → Submit → Auto MonitorDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Enable TP toggle in trade dialog | TP config expands | TPSLSection shown |
| 2 | Set first TP level: target price + ratio | Parameters saved | ROI calculation displayed |
| 3 | Add second TP level (optional) | Multi-level supported | Ratio sum ≤ 100% |
| 4 | Enable SL toggle | SL config expands | Trigger price input available |
| 5 | Set SL trigger price | Parameters saved | Price below current validated |
| 6 | Click confirm | Order created | Guardrail record created |
| 7 | Price triggers condition | Auto-executes trade | Status update notification |
Success Criteria: TP/SL conditions set correctly, auto-executes when price triggers
TP/SL Notes:
- Supports multi-level take profit with different prices and ratios
- Stop loss trigger must be below current market price
- System monitors 24/7 and auto-executes
AI Trading Terminal
Workflow
Open Terminal → Input Question → AI Analysis → Tool Call → Confirm ExecutionDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Click AI terminal input | Terminal activates | Editor focused, placeholder shown |
| 2 | Input question and send | AI starts responding | Streaming output displayed |
| 3 | View AI analysis | Content rendered correctly | Markdown, charts display properly |
| 4 | Type "@" to trigger token mention | Token suggestion list | Searchable, keyboard navigation |
| 5 | Request trade execution | Tool card displayed | Trade parameters preview |
| 6 | Click confirm to execute | Transaction sent | Result shown in tool card |
Success Criteria: AI correctly understands intent, tool calls succeed, trade executes
AI Model:
- Currently using Claude Opus 4.5 (Anthropic's most capable model)
- Top-tier reasoning for complex strategy and deep market analysis
- Model selection not yet available
Advanced Features:
- "@" token mentions and search
- "/" command shortcuts
- Deep thinking mode (Thinking Mode)
- File upload analysis
- Markdown, Mermaid chart rendering
- AI hallucination detection & auto-correction (Critic Agent)
- Chart AI analysis overlay (draggable panel)
Pro-Lite Subscription Unlock
Workflow
Use Free Version → Meet Conditions → Unlock Button Lights Up → Click to Claim → Pro-Lite ActivatedDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Use Free AI chat | Usage consumed | Remaining count decreases |
| 2 | Usage nearly depleted | Warning dialog appears | UsageWarningDialog shown |
| 3 | Deposit or trade to meet conditions | Unlock eligibility met | See unlock conditions below |
| 4 | Check top status bar | "Unlock" button animates | Pulse animation shown |
| 5 | Click "Unlock" button | Unlock confirmation dialog | Pro-Lite benefits explained |
| 6 | Click confirm to claim | Pro-Lite subscription activated | Starfield animation plays |
| 7 | Continue using AI | No usage limit | Shows "Unlimited" |
Success Criteria: Successfully unlock Pro-Lite after meeting conditions, unlimited usage takes effect immediately
Unlock Conditions (meet any one):
- Single trade amount ≥ $10
- Cumulative trading volume ≥ $50
- Wallet balance ≥ $50
Subscription Tiers:
| Tier | Quota | Features |
|---|---|---|
| Free | Limited daily (e.g., 10 times) | Basic features |
| Pro-Lite | Unlimited | Pro badge, unlimited chat, extra Agent slots |
Strategy Backtesting
Workflow
AI Request Backtest → Task Created → Execution Complete → View Results → Analyze & OptimizeDetailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Input backtest request in AI terminal | AI identifies backtest intent | Tool card displayed |
| 2 | Confirm backtest parameters | Task created | Task ID generated |
| 3 | Wait for completion | Status updates | PENDING → RUNNING → COMPLETED |
| 4 | Switch to Backtest tab | Backtest list shown | Result rows clickable |
| 5 | Click result row | Detail overlay opens | BacktestOverlay displayed |
| 6 | View Key Metrics | Performance metrics shown | See metrics below |
| 7 | View PnL Chart | Profit/loss curve visualized | Chart renders correctly |
| 8 | View Trades Table | All trade records | Sortable, filterable |
Success Criteria: Backtest executes successfully, results display correctly, metrics accurate
Performance Metrics:
| Metric | Description |
|---|---|
| Net PnL | Net profit/loss |
| Win Rate | Winning trade percentage |
| Max Drawdown | Maximum drawdown |
| Sharpe Ratio | Risk-adjusted return |
| Profit Factor | Gross profit / gross loss |
Share Chat History
Workflow
Complete Chat → Click Share → Generate Link → Others View (Read-only)Detailed Steps
| Step | User Action | Expected Result | Verification |
|---|---|---|---|
| 1 | Complete an AI conversation | Chat history saved | Message list complete |
| 2 | Click share button | Share link generated | URL created successfully |
| 3 | Copy share link | Link copied to clipboard | Copy success toast |
| 4 | Others open link | Share page displayed | SharedChat page loads |
| 5 | Verify read-only mode | Cannot edit/send | Input disabled |
Success Criteria: Share link generated successfully, read-only mode works, content displays completely
Journey Summary
Journey Comparison
| Name | Expected Duration | Key Features |
|---|---|---|
| New User Registration | 2-3 min | Google OAuth, Turnkey Wallet |
| Deposit & Positions | 3-5 min | Real-time balance update |
| Market Trading | 1-2 min | Jupiter Swap, Zero Gas Fee |
| Limit Orders | 2-3 min | Jupiter Limit Order |
| TP/SL Setup | 3-5 min | Guardrails auto risk control |
| AI Trading Terminal | 3-5 min | Claude Opus 4.5, Tool calls |
| Pro-Lite Unlock | 1-2 min | Condition unlock, unlimited quota |
| Strategy Backtesting | 5-10 min | Backtest execution, analysis |
| Share Chat History | 1 min | Read-only sharing |
Journey Dependencies
Registration
↓
Deposit ──→ Market Trade ──→ Limit Order
↓ ↓
Unlock TP/SL
↓
AI Terminal ──→ Backtest
↓
SharePlatform Features
Blockaid Security Detection
- Trigger: All Token Swaps and Limit Orders
- Detection: Token contract security, liquidity risk, honeypot detection
- Risk Levels:
- Low risk: Normal execution
- Medium risk: Warning shown, user can proceed
- High risk: Forced confirmation or blocked
Real-time Market Data
- Data Source: Birdeye WebSocket
- Candlestick Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w
- Statistics: 24h change, market cap, liquidity, holder count
Token Filtering
Automatically filters low-quality and risky tokens:
- Liquidity < $1000
- Names containing scam keywords
- Blockaid flagged as WARNING/SPAM/MALICIOUS
Zero Gas Fee Trading (Jupiter Gasless)
- Scenario: When user wallet has no SOL for gas
- Supported: Market Swaps
- Implementation: Jupiter Gasless transaction feature
- Benefit: Lower barrier for new users
AI Hallucination Detection (Critic Agent)
- Function: Auto-detect inaccurate information in AI content
- Detection: False data, incorrect amounts, wrong prices, invalid token addresses
- Handling: Auto-flag issues and regenerate accurate responses
- Value: Higher trust in AI analysis and recommendations
DeFi Position Management
- Function: View all DeFi protocol positions in wallet
- Supported Protocols: Kamino, Meteora, etc.
- Display:
- DeFi tab with expand/collapse
- Locked amounts shown
- Wrapped token (wSOL) balances
- Value: Clear overview of all DeFi assets
Backtest History
- Function: View and manage all historical backtest results
- Features:
- Paginated loading
- Detailed performance analysis
- Value: Review strategy performance and optimize decisions
Trading Panel Tabs
| Tab | Function |
|---|---|
| Positions | Current holdings and P&L |
| DeFi | DeFi protocol positions (Kamino, Meteora, etc.) |
| Orders | Active and historical orders |
| History | Trade history records |
| Backtest | Backtest results and analysis (with history) |
