# PolyTrader WebUI — Gesamtdokumentation & Architekturübersicht ## 1. Architektur & Hosting Das WebInterface ist als eigenständiges Projekt [`PolyTrader.Web`](file:///j:/Softwareprojekte/PolytraderSharp/PolyTraderSharp/src/PolyTrader.Web/) konzipiert und wird über ASP.NET Core Kestrel auf dem Server gehostet. - **Frontend**: Vanilla HTML5, CSS3 und modernes JavaScript (ES6+), vollständig autark ohne externe CDN-Bibliotheken (kein React, Vue, npm oder Drittanbieter-CDNs). Alle Visualisierungen (Equity-Kurve, Säulendiagramme, Donut-/Balkendiagramme) basieren auf dynamischem, responsivem Inline-SVG. - **Backend**: ASP.NET Core Minimal APIs mit strukturierter Dependency Injection in die PolyTrader-Kern- und Modul-Services (`PolyTrader.Core`, `PolyTrader.Modules.CopyTrading`, `PolyTrader.Modules.ResolutionFarming`, `PolyTrader.Modules.Supervisor`, `PolyTrader.Modules.Accounting`). - **Sicherheit & Auth**: Header-basierte Bearer-Token-Authentifizierung (`Authorization: Bearer `) bzw. Auth-Cookie für Browser-Sessions. Automatischer Redirect auf `/login` bei ungültigen Anfragen. --- ## 2. Navigationsstruktur & Module | Ansicht | Pfad / ID | Funktionalitäten | |---|---|---| | **Dashboard** | `#view-dashboard` | Globale PnL, USDC-Salden, Portfolio-Wert, Notfall-Pause, Modul-KPI-Kacheln, Notable Trades (24h), Account-Übersicht (3d PnL, Winrate, Overall PnL) | | **Analytics** | `#view-analytics` | KPI-Cards (Trades, Winrate, Profit-Faktor, Max Drawdown, Net PnL), Pure-SVG Equity Curve, Modul-PnL-Chart, Daily PnL Bar Chart, paginierte Trade-Historie mit Volltextsuche & Filterung | | **CopyTrading** | `#view-copytrading` | Master-Trader-Verwaltung (CRUD via Modal), Offene Positionen mit Buchgewinn ($/%) & Status, Geschlossene Trades (Paginierung & Suche), Account-spezifische Risikolimits & Eskalationsparameter | | **Resolution Farming** | `#view-resolutionfarming` | Account-Wahlschalter, Scanner-Kandidaten (Ask, Fee, Net-Edge, Score, Status), Offene Farming-Positionen, Trade-Historie, Account-Farming-Parameter (Cluster-Limits, Whitelist/Blacklist) | | **Supervisor** | `#view-supervisor` | AI Copilot Chat (Profile: Allgemein, Technik, CopyTrading, ResolutionFarming; Schnellabfrage-Presets; Tool-Invocations mit Parametern; Token-Zähler), Archivierte Berichte (Volltext-Modal), Signal-Dossiers (Markdown-Inspektor), Counterfactuals | | **Accounting** | `#view-accounting` | BWA-Periodenabrechnung (Anfangs-/Endbestand, Handelsvolumen, Cashflows, Gebühren, Netto-Ergebnis), Währungswahl (USDC/USD/EUR via EZB-Kurse), PDF-Export (MigraDoc Stream), CSV-Export, Ledger-Journal (Suche & Paginierung), Sync & Ingest Historie | | **Konten** | `#view-accounts` | Konfigurierte Polymarket-Konten, Wallet-Adressen, Demo/Live-Status, Links zu Polymarket-Profilen | | **Jobs** | `#view-jobs` | Hintergrund-Jobs (Scheduler), Status, Intervall, Letzter Lauf, Nächster Lauf, Sofortausführung (Run Now), Live-Toggle (Aktivieren/Deaktivieren) | | **Terminal / Logs** | `#view-logs` | Echtzeit-Logstream via Server-Sent Events (SSE), Auto-Scroll, Log-Level-Filter (Info, Warning, Error, Trade), Leeren | | **Module** | `#view-modules` | Strategie- und Analyse-Modulübersicht mit Direkt-Startknöpfen in die Fachansichten | | **Einstellungen** | `#view-settings` | Server-Port, Lokaler Zugriff vs. LAN/VPN, Token-Anzeige, Token-Kopieren & Neugenerierung | --- ## 3. Endpunkt-Übersicht (Minimal APIs) ### Authentifizierung & Settings - `POST /api/auth/login`: Authentifizierung via Token, Setzen des Auth-Cookies - `POST /api/auth/logout`: Löschen des Auth-Cookies - `GET /api/settings/webui`: Aktuelle Servereinstellungen - `POST /api/settings/webui`: Speichern der Servereinstellungen in `appsettings.Local.json` - `POST /api/settings/webui/generate-token`: Generierung eines kryptografisch sicheren Tokens ### Dashboard & Konten & Jobs - `GET /api/dashboard/summary`: Globale KPIs, Handelsmodi, Watchdog-/Alchemy-/VPN-Status - `GET /api/dashboard/overview-widgets`: Modul-KPIs und notable Trades - `POST /api/dashboard/trading-mode`: Umschalten von Live/Demo/Pause - `GET /api/accounts`: Liste aller Konten mit Performance-Metriken - `GET /api/jobs`: Liste aller Scheduler-Jobs - `POST /api/jobs/{name}/toggle`: Job aktivieren / deaktivieren - `POST /api/jobs/{name}/run`: Job sofort anstoßen ### Analytics - `GET /api/analytics/kpis`: Aggregierte Kennzahlen (Winrate, Profit-Faktor, Drawdown) - `GET /api/analytics/charts`: Zeitreihendaten für SVG-Equity-Kurve, Modul-Aufteilung und Tages-PnL - `GET /api/analytics/trades`: Paginierte, durchsuchbare Trade-Historie ### CopyTrading - `GET /api/modules/copytrading/traders`: Alle Master-Trader - `POST /api/modules/copytrading/traders`: Anlegen / Bearbeiten von Master-Tradern - `DELETE /api/modules/copytrading/traders/{id}`: Löschen eines Master-Traders - `GET /api/modules/copytrading/open-trades`: Offene Positionen mit Buchgewinn - `GET /api/modules/copytrading/closed-trades`: Geschlossene Trades mit Filterung - `GET /api/modules/copytrading/settings/{accountId}`: Risikolimits des Kontos - `POST /api/modules/copytrading/settings/{accountId}`: Speichern der Risikolimits ### Resolution Farming - `GET /api/modules/resolutionfarming/candidates`: Scanner-Kandidaten - `GET /api/modules/resolutionfarming/positions`: Offene Farming-Positionen - `GET /api/modules/resolutionfarming/history`: Abgeschlossene Trades - `GET /api/modules/resolutionfarming/settings/{accountId}`: Farming-Parameter - `POST /api/modules/resolutionfarming/settings/{accountId}`: Speichern der Parameter ### Supervisor - `GET /api/modules/supervisor/profiles`: Verfügbare Rollen-Profile - `POST /api/modules/supervisor/ask`: Interaktiver Chat mit LLM-Agent & Tool-Execution - `GET /api/modules/supervisor/reports`: Archivierte Berichte - `GET /api/modules/supervisor/reports/{id}`: Detailbericht - `GET /api/modules/supervisor/dossiers`: Signal-Historie - `GET /api/modules/supervisor/dossiers/{signalId}`: Trade-Dossier Markdown - `GET /api/modules/supervisor/counterfactuals`: Realitäts-Abgleich abgelehnter Trades ### Accounting & BWA - `GET /api/modules/accounting/statement`: Periodenabrechnung mit FX-Faktor (USDC/USD/EUR) - `GET /api/modules/accounting/export/pdf`: Binärer PDF-Download der Periodenabrechnung - `GET /api/modules/accounting/export/csv`: Binärer CSV-Download des Ledgers - `GET /api/modules/accounting/ledger`: Paginiertes Transaktionsjournal - `GET /api/modules/accounting/runs`: Ingestion-Läufe & Saldendifferenz - `POST /api/modules/accounting/ingest`: Starten eines Blockchain-Syncs ### Terminal & Module - `GET /api/logs`: Statischer Abruf vergangener Logs - `GET /api/logs/stream`: SSE-Log-Stream - `GET /api/modules`: Liste aller Strategie- und Analyse-Module