PakPropFirm
Authenticated shell

Dashboard — shell only

Shell exists for future features: wallet is points (not cash), rewards, analytics, settings, notifications. No business logic in Prompt 1 — no fake balances, no fake portfolio.

Points balance
Server-authoritative only
100 pts = $0.01 • From RewardConfig
Total Challenge Spend
Derived from Challenges + FundedAccounts — never stored duplicate
Cumulative Portfolio Result
Payouts − challenge costs • Same formula as Net Value card
Cross-cutting rules (enforced)
  • isSampleData:true pre-launch — never let sample look real after Firebase live
  • One collection, many views — no second firm schema
  • Points, never cashback in field names + UI copy
  • Server-authoritative fields only via Cloud Functions (Prompt 12 §A4) — client writes rejected