PRD: Stratify v2.0
Platform: Standalone Tool (wait, what.) Date: 2026-05-08 (last revision: 2026-05-19) Author: Tobias Temmen / wait, what. Status: Draft — Iteration auf v1.0; v2.1 fork to "pre-license hybrid" (2026-05-19, see §8) Trigger: Echte Iteration. v1.0-Scope bleibt; Schärfung Pilot-Onboarding; B2B-API rückt von Phase 2 in MVP.
1. Problem
Pre-launch B2C-Copy-Trading in EEA scheitert in der Praxis an zwei Engpässen, die v1.0 unterschätzt hat:
- Pilot-Onboarding ist der eigentliche Engpass, nicht User-Onboarding. Ohne mindestens einen verifizierten, MiFID-II-konformen Pilot (Strategie-Anbieter) gibt es kein Produkt — und die Beschaffung, Verifikation und Vertrags-/Revenue-Share-Anbindung eines Piloten ist komplexer als die User-Seite.
- B2B-API als Phase-2-Asset wird von Co-Foundern und potentiellen Pilot-Partnern bereits in v1-Gesprächen nachgefragt. Wer den B2B-Layer erst in Phase 2 baut, verschenkt das Validation Window für die eigentliche Exit-Thesis (API-Lizenzierung an Neobroker).
v2 adressiert beides parallel — MiFID-II-Suitability und Trade Propagation Engine bleiben; der Produkt-Katalog definiert fünf kuratierte Strategie-Mandate (Autopilot-nähe, siehe `docs/product-design.md`).
2. User & Context
| Track | Wer | Wann |
|---|---|---|
| B2C | Retail-Investor, EEA, Cash-Account, MiFID-II-Suitability bestanden | Onboarding via Web-App; Auto-Mirror einer kuratierten Pilot-Strategie über IBKR Sandbox/Live |
| B2B | Neobroker-Tech-Lead / Product-Owner bei EEA-Neobroker | Sandbox-Integrationstest der Stratify-Copy-Trading-API gegen ihren bestehenden Order-Stack |
| Pilot | Verifizierter Strategie-Anbieter (MVP: oft ein live Pilot; mehrere Strategie-Mandate aus `docs/product-design.md`) | Onboarding via dediziertem Pilot-Flow inkl. Identitäts-, Track-Record- und Vertragsverifikation |
Constraint v2: Web-App first. Kein Native iOS/Android in v2.
3. Core Flow — Delta zu v1.0
3.1 Unverändert aus v1.0
- Onboarding & MiFID-II-Suitability (inkl. Article 25(2) Loss-Bearing-Capacity-Frage) — unverändert
- Trade Propagation Engine (Proportionalitätsformel, Failure-Matrix, Architektur-Flow) — unverändert
- Revenue Share via Stripe Connect — unverändert
- Editorial Dark Finance Design System (Color Tokens, Typografie) — unverändert, portiert auf Web
- Fünf Strategie-Mandate im kuratierten Katalog — Produkt-Quelle: `docs/product-design.md` (Autopilot-ähnliche Themen; Nutzer: ein aktives Mandat, Wechsel möglich). Technische Pilot-Schranke (DB: max. ein
live-Pilot) bleibt MVP-konform anpassbar.
3.2 Neu / geschärft in v2.0
A — Pilot-Discovery & Pilot-Onboarding (geschärft)
- Pilot-Identitäts- & KYB-Verifikation (Legal Entity, Beneficial Owner, FMA/BaFin/FINMA-Status falls vorhanden)
- Track-Record-Verifikation: Pilot lädt verifizierbare Performance-Historie hoch (Broker-Statements, Audit-Letter); Stratify-seitige Plausibilitätsprüfung
- Strategie-Definition: Asset-Universum, Rebalancing-Frequenz, Risk-Bands, max. Drawdown-Toleranz — strukturiert als JSON-Schema (Voraussetzung für B2B-API)
- Vertrags- & Revenue-Share-Setup (Stripe Connect Connected Account, Pilot-Fee-Split, Auszahlungs-Cadence)
- Pilot geht erst nach 4-Augen-Freigabe (Compliance + Founder) live
B — B2B-API-Layer (neu im MVP-Scope)
- REST + Webhook-API für Neobroker-Partner
- Endpunkte (MVP-Set):
GET /pilots,GET /pilots/{id}/strategy,POST /mirror-orders,POST /webhooks/execution-status,GET /audit-log/{user_id} - Auth: OAuth2 Client Credentials + per-Partner Scoped API Keys
- Sandbox-Environment mit gemockter IBKR-Execution für Partner-Integrationstest
- MiFID-II-Suitability als Stratify-eigene Verantwortung — Partner reicht User-Profile durch, nicht Suitability-Engine selbst (USP)
- Audit-Logging: jeder API-Call + jede propagierte Order in append-only Log (kompatibel mit ESMA-Aufbewahrungspflicht)
3.3 Konsolidierter End-to-End-Flow (v2)
[Pilot] → Onboarding & Verifikation → Strategie-Definition (JSON) →
4-Augen-Freigabe → Live
[B2C-User] → Web-Onboarding → KYC + MiFID-II-Suitability →
IBKR-Sub-Account-Provisionierung → Pilot abonnieren →
Trade Propagation (auto-mirror) → Stripe Connect Fee-Split
[B2B-Partner] → Sandbox-Credentials → API-Integrationstest →
Production-Credentials nach KYB + Compliance-Review →
ihre User → Stratify-Suitability → Stratify-Order-Mirror →
Webhook-Execution-Status → Stratify-Revenue-Share4. Constraints
Stack (v2.1 — pre-license hybrid, see §8)
- Web: Next.js 15 App Router + TypeScript strict, auf Vercel (EU
fra1) - Mobile: Expo SDK 52 (React Native), iOS + Android via EAS
- DB + Auth + Storage + Realtime: Supabase (EU) — ersetzt Clerk + Neon + S3
- Email: Resend
- Payments: Stripe Subscriptions (Connect deferred bis Lizenz)
- B2B-API: REST + OpenAPI 3.1 (Source of Truth:
openapi/stratify-api.yaml) - Audit Log: Supabase Postgres, chain-hashed append-only (SHA-256 Merkle)
- Observability: Sentry + Vercel Observability
- Analytics: PostHog
Pre-license: kein IBKR, kein Sumsub, keine Stripe Connect — newsletter-grade. Bei Lizenz-Grant: dieselbe Supabase-Basis trägt structured-wrapper layer.
Regulatorisch
- FMA Liechtenstein VVG-Lizenz als EEA-Passporting-Basis (unverändert v1.0)
- MiFID-II Article 25(2) Suitability — Stratify-seitig, auch im B2B-Flow
- ESMA-Compliance Audit-Trail: 7 Jahre Aufbewahrung, append-only
- IBKR-Counterparty: Sub-Account-Modell (Omnibus initial nicht im Scope)
Dependencies — Hard
- IBKR-Onboarding (kann 6–12 Wochen dauern — kritischer Pfad)
- FMA-Lizenz-Status / Vermittlungsanzeige (laufender Prozess)
- EUIPO-Trademark "Stratify" (laufend, Placeholder)
- Stripe Connect EU-Setup
- Mindestens 1 verifizierter Pilot (kritisch für B2C-Done-Kriterium)
- Mindestens 1 Neobroker-Partner mit Bereitschaft zur Sandbox-Integration (kritisch für B2B-Done-Kriterium)
5. Non-Goals (v2.0)
Explizit nicht im Scope:
- ~~Kein Native iOS/Android.~~ Aktualisiert v2.1: Web + Expo (iOS + Android) shippen parallel. Native-Newsletter-Reader-App, Subscriptions auf Web.
- Keine Crypto / Digital Assets. Aktien/ETFs only.
- Keine Optionen / Derivate / Margin. Cash-Accounts only.
- Kein eigenes Custody-Setup. IBKR ist Custody. Eigene Custody-Architektur ist nicht-trivial und würde FMA-Lizenz-Scope sprengen.
- Kein unkuratierter Multi-Pilot-Marktplatz. Genau fünf definierte Strategie-Mandate (siehe `docs/product-design.md`); kein offenes Listing ohne Compliance-Pfad. *Technisch* kann zu Beginn nur ein Pilot live sein — Skalierung auf mehrere Pilot-Organisationen ohne Änderung der fünf UX-SKUs.
- Keine Robo-Advisory / Empfehlungen. Stratify ist Execution-Layer, nicht Advisor. Suitability ≠ Advice.
- Kein Social-Feed / Community-Layer. Kein Discovery via UGC. Pilot-Discovery erfolgt kuratiert.
- Kein US-Markt in v2. EEA-Passporting only.
6. Success Criteria — Done v2.1 (Pre-License Hybrid)
Drei Tracks parallel — B2C (Web + Mobile) + B2B-API + License-Workstream.
B2C Closed Beta — Done wenn:
- 1 verifizierter Pilot durch 4-Augen-Approval (Compliance + Founder) live
- 100 zahlende Newsletter-Subs (Stripe Subscription aktiv)
- 1 publiziertes Signal erreicht alle 4 Kanäle (Email + In-App + Web Push + Webhook) in < 60 Sekunden end-to-end
signal_deliveries-Statuszeilen vorhanden + audit_log chain-verified viaverifyChain- iOS TestFlight Build distribuiert an 5 interne Tester
- Android Internal Testing Track distribuiert an 5 interne Tester
- Deep-Link aus Email öffnet das richtige Signal in der mobilen App
- Mandat-Wechsel-Flow (DB-Constraint
user_active_mandate) funktional
B2B Sandbox-Pilot — Done wenn:
- 1 Neobroker-Partner mit Sandbox-Credentials onboarded (per
partner_api_keys) - Partner führt erfolgreich Integration durch:
GET /v1/mandates → GET /v1/mandates/{id}/signals → POST /v1/subscriptions (webhook url) → erhält Stratify-signiertes signal.published-Webhook → GET /v1/audit-log/{partnerId} mit chainVerified: true
- API-Dokumentation (OpenAPI 3.1 + Postman Collection +
docs/api/quickstart.md) ist veröffentlicht und vom Partner ohne Stratify-Hilfe abgearbeitet - Rate-Limits (
docs/internal/b2b-rate-limits.md) greifen sichtbar in Partner-Tests
License-Workstream (parallel, Antonios + Philipp + Counsel)
- FMA Liechtenstein VVG-Lizenz-Antrag eingereicht
- Rechtsgutachten "Signalgeber-Klassifikation EEA" gelandet vor Public Launch
- 3 Pilot-Personas (Philipp-Netzwerk) bestätigt; mind. 1 unter Vertrag für Phase C
- Structured-Wrapper-Architektur-Spec (Philipp + Counsel) gedraftet
Übergreifend
- Lighthouse ≥ 90 auf
/,/walkthrough/*,/feed,/sign-in(Web) - 0 kritische Findings im Pre-Launch-Pen-Test (extern)
- DSGVO-Datenfluss-Doku v2.1 komplett
- Audit-Chain replay (
verifyChain) liefertok: trueüber alle bestehenden Rows pnpm typecheck && pnpm lint && pnpm testgrün im CI
7. Open Decisions (TBD)
- Multi-Region-DB-Strategie (EU-only initial; Multi-Region erst bei Partner-Wachstum)
- Partner-Tier-Modell B2B (Flat-Fee vs. Revenue-Share vs. Hybrid) — Pricing erst nach Partner-1-Feedback
- ~~Eigenes IdP vs. Auth0/WorkOS für B2B-API~~ → Resolved v2.1: Supabase Auth (Service-Role JWT für B2B M2M)
8. v2.1 Pre-license Hybrid (2026-05-19)
Strategischer Fork zwischen full-execution (PRD §3.1 wie geschrieben) und signal-only ist aufgelöst zugunsten eines Hybrid:
- Phase A (jetzt → Q3): Newsletter-grade Stratify Signals (B2C) + B2B-API. Kein IBKR, kein Sumsub-KYC, kein MiFID-II-Suitability-Gate. Position als Research-Publikation. Stack komplett auf Vercel + Supabase konsolidiert.
- Phase B (parallel; Q1–Q4): FMA Liechtenstein VVG-Lizenz-Workstream (Antonios + Counsel) + Structured-Wrapper-Architektur (Philipp + Counsel) als separate, build-unabhängige Tracks.
- Phase C (bei Lizenz-Grant): Same Supabase backend trägt Sumsub/Onfido-KYC, Stripe Connect für Pilot-Payouts, MiFID-II-Suitability-Engine (Stub → Live), und der Structured-Wrapper-Layer wird über die bestehende API überstülpt.
Pitch-Deck-Alignment: Slides 1, 3, 6 bleiben das 12-Monats-Narrativ. Slide 5/10 Wording angepasst — Phase A liefert Demand-Validation vor Lizenz.
Co-Founder-Ownership (Pitch Deck Slide 11):
- Toby — Kapital, Strategie, Infrastruktur, Build
- Antonios — Product + Compliance, FMA-Lizenz, DSGVO, Suitability-Matrix
- Philipp — Structuring + Sales, Pilot-Akquise, Neobroker-Outreach, Structured-Wrapper-Architektur
Success Criteria — angepasst:
- B2C closed beta: 100 zahlende Newsletter-Subs, alle 4 Kanäle (Email, In-App, Web Push, Webhook) end-to-end < 60s
- Mobile: iOS TestFlight + Android Internal Testing distribuiert
- B2B sandbox: 1 Partner konsumiert Signal-API + Audit-Log-Export
- Lizenz-Antrag eingereicht (Antonios-Track)
- Rechtsgutachten "Signalgeber-Klassifikation EEA" gelandet vor Public Launch
Generated by dev-kickoff skill. Update as scope evolves.* *v2.1 amendment 2026-05-19: pre-license hybrid fork after stack decommission.