Mobile-first client portal: Supabase Auth, Binance key management, live dashboards.
cp .env.local.example .env.local # values already point to the Asset Optimizer project
npm install
npm run dev # http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY (see .env.local.example)./login, /register — Supabase Auth (a clients row is auto-created by DB trigger on signup)/dashboard — balance, equity, uPnL, exposure, open positions, portfolio donut/history — trades, orders, strategy status per symbol/performance — equity curve, drawdown chart, current allocation/profile — name, risk profile selector, Binance API keys (validated + stored in
Supabase Vault via Edge Functions — the browser never reads them back), enable/disable
bot with flatten / wind-down choicestore-binance-keys Edge Function, which validates them against
Binance and stores them in Supabase Vault. No table readable by clients contains keys.update_client_settings RPC (no direct table writes).