How deriv-com/deriv-app works
Deriv App is a monorepo of customer-facing trading and account platforms, plus shared API and utility packages. The broad user workflow spans account management, funding, and trading, but the README only identifies the platforms rather than documenting how they connect. The graph therefore shows the sampled routing, query, and account-sync relationships; other product branches are preserved without inferred cross-platform flows. Some API and platform modules are unsampled, so their nodes use exact enclosing directories from the tree.
Main entry points: src API v2 · app.jsx Core app · routes.tsx Account routing · useSyncLocalStorageClientAccounts.ts Account sync
Components 23
Customer platforms
Account services
- Account
packages/account/src/App.tsx - Account routing
packages/account/src/Containers/routes.tsx - Account features
packages/account/src/Sections - Account sync
packages/wallets/src/hooks/useSyncLocalStorageClientAccounts.ts
Trading and tools
- Bot web UI
packages/bot-web-ui/src/app/app.tsx - Bot engine
packages/bot-skeleton/src/services/api/ticks_service.js - Trader
packages/trader/src/App/Containers/Routes/routes.tsx - Indicators
packages/indicators/src/indicators/exponential-moving-average.js
API clients
- API v2
packages/api-v2/src - Query hooks
packages/api-v2/src/useQuery.ts - Authorized queries
packages/api-v2/src/useAuthorizedQuery.ts - API client
packages/api/src - Query hooks
packages/api/src/useQuery.ts
Shared runtime
- Route utilities
packages/shared/src/utils/routes/routes.ts - Storage utilities
packages/shared/src/utils/storage/storage.ts - Account storage
packages/utils/src/getAccountsFromLocalStorage.ts
Other components
- Customer
Connections 16
- Customer → Core app: uses platform
README.md - Customer → Account: manages account
README.md - Customer → Cashier: uses platform
README.md - Customer → Trader: uses platform
README.md - Account routing → Account: routes within
- Account routing → Account features: routes to
- Query hooks → API v2: uses client
packages/api-v2/src/useQuery.ts - Authorized queries → API v2: uses client
packages/api-v2/src/useAuthorizedQuery.ts - Authorized queries → Query hooks: uses query cache
packages/api-v2/src/useAuthorizedQuery.ts - Query hooks → API client: uses client
packages/api/src/useQuery.ts - Account sync → API v2: requests account data
packages/wallets/src/hooks/useSyncLocalStorageClientAccounts.ts - Account sync → Account storage: reads accounts
packages/wallets/src/hooks/useSyncLocalStorageClientAccounts.ts - Trader → Route utilities: uses routing
- Bot engine → Bot web UI: serves trading UI
- Core app → Route utilities: uses route helpers
- Core app → API v2: uses APIs