Skip to main content

etrader - Trade8 Professional Trading App

Audience: product owners and business stakeholders. For architecture read README.md; for the platform app contract read design/sentin8-trade8-apps-technical-design.md.

1. Business Purpose​

  • Put the entire trading desk in the trader's hands: enter, manage, and monitor orders; watch the market ladder and tape; track P&L - on one keyboard-dense, sub-second surface.
  • Deliver it safely on any device: the app holds no credentials and can never move money without the server-side authorization plane.
  • Support the muscle memory of professional traders - F-key chains, deterministic behavior, immediate feedback - and carry those preferences across devices.

2. Business Scope (What the App Provides)​

CapabilityDescription
Order entry (ticket)Typeahead symbol entry, side/quantity/price steppers honoring tick bands, destination + TIF selection, idempotent submissions
BlotterWorking/terminal order views, cancel, per-order status
Depth ladderLive L2 ladder with sizes at each level
Tape / watchlistLive prints and quotes for watched symbols
ChartsCandlesticks (client-drawn), intervals 1s-1D, MA/EMA/VWAP overlays
P&L boardPer-symbol and total day P&L, LFT giveback
AlertsRule creation + fired-alert display with acknowledge
Flatten sheetTyped flatten strategy parameters + basket progress
SettingsShortcut editor synced to the trader profile; keystroke/audit view
Keyboard tradingThe F-key chain (buy/sell limit & market, cancel all, flatten, refresh, focus)
Realtime resilienceSequence-gap detection with visible resync state; reconnect banner

What the app does NOT own (business boundary)​

ConcernOwned by
Authentication/identitySentin8:Auth via BFF
Authorization decisionsShield policies (services)
Tokens/OAuthSentin8:BFF (server-side)
All trading business rulestrade8 services
App-store presence/packagingSentin8:App (app-listing.json)

3. Business Capabilities​

AreaCapabilityBusiness rule
EntryTick-band steppersThe pad offers only prices on-tick for the instrument (0.01 <$5, 0.05 ≥$5 bands)
EntryIdempotent submissionsA retried submit cannot duplicate an order
EntrySession awarenessEntry surfaces the session state (rejects outside open are explicit, not silent)
MonitoringScope-correct blotterTraders see their orders; managers see their office (per service scopes)
RealtimeTruthful resyncOn a data gap the app shows "resyncing" and refetches a snapshot - it never invents liquidity or prints
P&LSelf-tier numbersTraders see only their own P&L by default
AlertsDeclarative + acknowledgedRules are simple comparisons; fired alerts persist until acknowledged
FlattenTyped strategiesFlatten params are validated forms, not free text

4. Business Events (Outbound)​

The app emits no platform events; it initiates trading actions (order submissions/cancels) and consumes streams:

Consumed surfaceContent
SSE quote streamSnapshot + live BBO frames (per-topic sequence)
Blotter/PnL channelsOrder and summary updates
Alert channelFired alerts

5. Business Rules & Invariants​

  1. The app never bypasses the BFF - one transport, zero direct service calls.
  2. No money formatting via floats - scaled integer input/output only.
  3. Every destructive action (cancel, cancel all, flatten) is explicit and confirms in the UI, with the result journaled server-side.
  4. Scope-gated surfaces: a page a user cannot use is hidden, not erroring.
  5. Client order ids are generated once per intent - refresh loops are safe.

6. Target-User Roles & Use Cases​

PersonaUse cases
TraderEverything: enter/exit positions, watch the ladder, track P&L, set alerts
Office managerThe office blotter/P&L view (scope-gated)
Desk supervisorSession view, order-state review (read surfaces)
New tradersGuided ticket defaults from the trader profile

7. KPIs / Success Criteria​

  • Time-to-first-order for a new session measured in seconds (keyboard-first flows).
  • Zero stale-price trades: quotes/tape visibly resync on gaps.
  • The F-key chain performs within the platform's UI latency budget.
  • Crash-free sessions on all delivery surfaces (web/mobile).

8. Dependencies & Reliance on Other Services​

DependencyWhy the app relies on it
Sentin8:BFFThe only transport (proxy + SSE/WS)
Trade8:DeskOrders/session/blotter
Trade8:FeedQuotes/depth/alerts/prints
Trade8:PnlP&L board
Trade8:BarsChart history
sentin8_flutter bootstrapAuthenticated transport + theme
Sentin8:AppDistribution (app-listing.json)

9. Acceptance Criteria​

  1. A trader can buy and sell through the ticket end-to-end and see fills in blotter and P&L.
  2. The ladder and tape update live and recover from reconnects visibly.
  3. Cancelling everything (F5) is a single keystroke with confirmation.
  4. Flatten produces visible strategy progress and results.
  5. A user lacking depth entitlement never sees the ladder.

10. Open Business Questions​

  • Should the ladder support click-to-trade pre-fill at launch?
  • Do managers need cross-trader flatten approval UX in v1?
  • Mobile-specific trading flows (touch order pad) - same surfaces or simplified?
  • Should the app show audit/keystroke history to traders (their own) or only to admins?

Architecture & Design: trade8:etrader and its underlying concepts were designed by Hamid Jahanzad.