# Yield / Intent Routing – Integrations-Konzept **Ziel:** Domains von "toten Assets" zu "Yield-Generatoren" machen. **Kern-Mechanismus:** User verbindet Domain → Pounce erkennt Intent → Routing zu Affiliate-Partnern → Passive Einnahmen. --- ## 1. Public Pages (nicht eingeloggt) ### 1.1 Landing Page – 4. Pillar hinzufügen Aktuell: **DISCOVER → TRACK → TRADE** Neu: **DISCOVER → TRACK → TRADE → YIELD** ``` ┌─────────────────────────────────────────────────────────────────┐ │ │ │ YIELD │ │ "Let your domains work for you." │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 🔌 Connect Point DNS to ns.pounce.io │ │ │ │ 🧠 Analyze We detect: "kredit.ch" → Loan Intent │ │ │ │ 💰 Earn Affiliate routing → CHF 25/lead │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ "Your domains become autonomous agents." │ │ │ │ [Activate My Domains →] │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` **Teaser-Statistiken (für Trust):** - "CHF 45'000+ generated this month" - "2'400+ domains earning passively" - "Avg. CHF 18.50/domain/month" ### 1.2 Neue Public Page: `/yield` Eine eigene Landingpage für das Yield-Feature: | Section | Inhalt | |---------|--------| | **Hero** | "Dead Domains? Make them work." + Animated revenue counter | | **How it works** | 3-Step Animation: Connect → Analyze → Earn | | **Use Cases** | Branchen-spezifische Beispiele (zahnarzt.ch, kredit.de, hotel-x.ch) | | **Revenue Calculator** | "Gib deine Domain ein → geschätzter monatlicher Ertrag" | | **Trust Signals** | Partner-Logos (Awin, PartnerStack, etc.), Testimonials | | **CTA** | "Start Earning" → Login/Register | --- ## 2. Terminal (eingeloggt) ### 2.1 Sidebar-Erweiterung **Neue Struktur der Sidebar:** ``` DISCOVER ├── MARKET (Auktionen) └── INTEL (TLD Pricing) MANAGE ├── RADAR (Dashboard) ├── WATCHLIST (Monitoring) ├── SNIPER (Alerts) ├── FOR SALE (Listings) └── YIELD ✨ ← NEU SETTINGS ``` ### 2.2 Neue Seite: `/terminal/yield` **Layout:** ``` ┌──────────────────────────────────────────────────────────────────────────┐ │ YIELD [?] Help │ ├──────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ Active │ │ Monthly │ │ Pending │ │ Total │ │ │ │ Domains │ │ Revenue │ │ Payout │ │ Earned │ │ │ │ 12 │ │ CHF 156 │ │ CHF 89 │ │ CHF 1'245 │ │ │ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │ │ │ ├──────────────────────────────────────────────────────────────────────────┤ │ │ │ 🔍 Search domains... [+ Activate Domain] │ │ │ ├──────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ Domain │ Status │ Intent │ Route │ Yield │ │ │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ zahnarzt-zh.ch │ 🟢 Active │ 🏥 Medical │ Comparis │ CHF 45 │ │ │ │ crm-tool.io │ 🟢 Active │ 💻 SaaS │ HubSpot │ $ 23 │ │ │ │ hotel-davos.ch │ 🟢 Active │ 🏨 Travel │ Booking │ CHF 67 │ │ │ │ mein-blog.de │ ⚪ Idle │ ❓ Unknown │ — │ — │ │ │ │ kredit-ch.com │ 🟡 Pending│ 💰 Finance │ Analyzing │ — │ │ │ └──────────────────────────────────────────────────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ ``` ### 2.3 Domain Aktivieren – Modal/Wizard **Schritt 1: Domain eingeben** ``` ┌─────────────────────────────────────────────────┐ │ Activate Domain for Yield │ ├─────────────────────────────────────────────────┤ │ │ │ Enter your domain: │ │ ┌─────────────────────────────────────────┐ │ │ │ zahnarzt-zuerich.ch │ │ │ └─────────────────────────────────────────┘ │ │ │ │ [Continue →] │ │ │ └─────────────────────────────────────────────────┘ ``` **Schritt 2: Intent-Erkennung (automatisch)** ``` ┌─────────────────────────────────────────────────┐ │ Intent Detected │ ├─────────────────────────────────────────────────┤ │ │ │ Domain: zahnarzt-zuerich.ch │ │ │ │ 🧠 Detected Intent: │ │ ┌─────────────────────────────────────────┐ │ │ │ 🏥 MEDICAL / DENTAL │ │ │ │ │ │ │ │ Keywords: zahnarzt, zuerich │ │ │ │ Confidence: 94% │ │ │ └─────────────────────────────────────────┘ │ │ │ │ 💰 Estimated Revenue: CHF 15-45/month │ │ │ │ Recommended Partners: │ │ • Comparis (Dental Comparison) │ │ • Doctolib (Appointment Booking) │ │ │ │ [Continue →] │ │ │ └─────────────────────────────────────────────────┘ ``` **Schritt 3: DNS Setup** ``` ┌─────────────────────────────────────────────────┐ │ Connect Your Domain │ ├─────────────────────────────────────────────────┤ │ │ │ Change your nameservers to: │ │ │ │ ┌─────────────────────────────────────────┐ │ │ │ ns1.pounce.io [📋] │ │ │ │ ns2.pounce.io [📋] │ │ │ └─────────────────────────────────────────┘ │ │ │ │ ⏳ We're checking your DNS... │ │ │ │ Status: Waiting for propagation (~10 min) │ │ │ │ [I've updated my nameservers] │ │ │ └─────────────────────────────────────────────────┘ ``` **Schritt 4: Aktiviert** ``` ┌─────────────────────────────────────────────────┐ │ ✅ Domain Activated! │ ├─────────────────────────────────────────────────┤ │ │ │ zahnarzt-zuerich.ch is now earning. │ │ │ │ 🏥 Intent: Medical/Dental │ │ ➔ Route: Comparis Dental │ │ 💰 Est. Yield: CHF 15-45/month │ │ │ │ What happens now: │ │ • We host a minimal landing page │ │ • Visitors are routed to partners │ │ • You earn affiliate commissions │ │ • Payouts monthly (min. CHF 50) │ │ │ │ [View My Yield Dashboard] │ │ │ └─────────────────────────────────────────────────┘ ``` ### 2.4 Portfolio-Tab Integration (Alternative) Statt einer separaten Seite kann "Yield" auch als **Tab in der Watchlist** integriert werden: ``` ┌────────────────────────────────────────────────────────────────┐ │ [Watching] [My Portfolio] [Yield] ✨ │ └────────────────────────────────────────────────────────────────┘ ``` **Vorteil:** Weniger Navigation, alles an einem Ort. **Nachteil:** Watchlist wird komplexer. **Empfehlung:** Starte mit separater `/terminal/yield` Seite, kann später in Portfolio integriert werden. --- ## 3. Backend-Architektur (High-Level) ### 3.1 Neue Models ```python # backend/app/models/yield_domain.py class YieldDomain(Base): """Domain activated for yield/intent routing.""" __tablename__ = "yield_domains" id: int user_id: int # FK → users domain: str # "zahnarzt-zuerich.ch" # Intent detected_intent: str # "medical_dental" intent_confidence: float # 0.94 intent_keywords: str # JSON: ["zahnarzt", "zuerich"] # Routing active_route: str # "comparis_dental" partner_id: int # FK → affiliate_partners # Status status: str # "pending", "active", "paused", "inactive" dns_verified: bool activated_at: datetime # Revenue total_clicks: int total_conversions: int total_revenue: Decimal created_at: datetime updated_at: datetime class YieldTransaction(Base): """Revenue events from affiliate partners.""" __tablename__ = "yield_transactions" id: int yield_domain_id: int # FK event_type: str # "click", "lead", "sale" partner_id: int amount: Decimal currency: str # Attribution referrer: str user_agent: str geo_country: str # Status status: str # "pending", "confirmed", "paid", "rejected" confirmed_at: datetime paid_at: datetime created_at: datetime class AffiliatePartner(Base): """Affiliate network/partner configuration.""" __tablename__ = "affiliate_partners" id: int name: str # "Comparis Dental" network: str # "awin", "partnerstack", "direct" # Matching intent_categories: str # JSON: ["medical_dental", "medical_general"] geo_countries: str # JSON: ["CH", "DE", "AT"] # Payout payout_type: str # "cpc", "cpl", "cps" payout_amount: Decimal payout_currency: str # Integration tracking_url_template: str api_endpoint: str api_key_encrypted: str is_active: bool created_at: datetime ``` ### 3.2 Neue API Endpoints ```python # backend/app/api/yield.py @router.get("/domains") # Liste alle Yield-Domains des Users @router.post("/domains/activate") # Neue Domain aktivieren (Step 1-4 Wizard) @router.get("/domains/{domain}/intent") # Intent-Detection für eine Domain @router.get("/domains/{domain}/verify-dns") # DNS-Verifizierung prüfen @router.put("/domains/{domain}/pause") # Routing pausieren @router.get("/stats") # Gesamtstatistiken (Revenue, Clicks, etc.) @router.get("/transactions") # Transaktions-Historie @router.get("/payouts") # Payout-Historie ``` ### 3.3 Intent-Detection Service ```python # backend/app/services/intent_detector.py class IntentDetector: """Erkennt den Intent einer Domain basierend auf Name und TLD.""" INTENT_CATEGORIES = { "medical_dental": { "keywords": ["zahnarzt", "dentist", "dental", "zahn"], "partners": ["comparis_dental", "doctolib"], "avg_cpl": 25.00 }, "travel_hotel": { "keywords": ["hotel", "ferien", "vacation", "resort"], "partners": ["booking", "hotels_com"], "avg_cpl": 15.00 }, "finance_loan": { "keywords": ["kredit", "loan", "finanz", "hypothek"], "partners": ["comparis_finance", "lendico"], "avg_cpl": 50.00 }, "saas_software": { "keywords": ["crm", "erp", "software", "tool", "app"], "partners": ["hubspot", "partnerstack"], "avg_cpl": 30.00 }, # ... weitere Kategorien } def detect(self, domain: str) -> IntentResult: """Analysiert Domain und gibt Intent zurück.""" name = domain.rsplit('.', 1)[0].lower() # ... Matching-Logik ``` ### 3.4 DNS/Hosting Service ```python # backend/app/services/yield_dns.py class YieldDNSService: """Verwaltet DNS und Hosting für Yield-Domains.""" async def verify_nameservers(self, domain: str) -> bool: """Prüft ob Domain auf ns1/ns2.pounce.io zeigt.""" async def provision_landing_page(self, domain: str, intent: str) -> str: """Erstellt minimale Landing Page für Routing.""" async def get_tracking_url(self, domain: str, partner_id: int) -> str: """Generiert Affiliate-Tracking-URL.""" ``` --- ## 4. Phasen-Plan ### Phase 2.1: MVP (4-6 Wochen) | Task | Prio | Aufwand | |------|------|---------| | Intent-Detection Engine (Keyword-basiert) | 🔴 | 1 Woche | | Yield-Domain Model + API | 🔴 | 1 Woche | | `/terminal/yield` UI (Basic) | 🔴 | 1 Woche | | DNS-Verifizierung | 🔴 | 3 Tage | | 1 Partner-Integration (z.B. Awin) | 🔴 | 1 Woche | | Landing Page Generator (Minimal) | 🟡 | 3 Tage | | Transaction Tracking | 🟡 | 3 Tage | **Ergebnis:** User können Domains aktivieren, wir routen zu 1 Partner-Netzwerk. ### Phase 2.2: Erweiterung (4 Wochen) | Task | Prio | Aufwand | |------|------|---------| | Weitere Partner (5-10) | 🔴 | 2 Wochen | | Payout-System | 🔴 | 1 Woche | | Public Landing `/yield` | 🟡 | 3 Tage | | Landing Page Customization | 🟡 | 3 Tage | | Revenue Analytics Dashboard | 🟡 | 3 Tage | ### Phase 2.3: Marktplatz-Integration | Task | Prio | Aufwand | |------|------|---------| | "Yield-Generating Domains" Kategorie | 🟡 | 1 Woche | | Valuation basierend auf Yield (30x MRR) | 🟡 | 3 Tage | | Yield-History für Käufer sichtbar | 🟡 | 3 Tage | --- ## 5. Monetarisierung ### Revenue Split | Party | Anteil | |-------|--------| | **Domain Owner** | 70% | | **Pounce** | 30% | ### Tier-Gating | Tier | Yield-Domains | Payout Threshold | |------|---------------|------------------| | **Scout** | 0 (Feature locked) | — | | **Trader** | 5 | CHF 100 | | **Tycoon** | Unlimited | CHF 50 | --- ## 6. UX-Philosophie ### Prinzipien 1. **Zero Config:** User ändert nur Nameserver. Alles andere ist automatisch. 2. **Transparent:** Klare Anzeige was passiert, welcher Partner, welche Einnahmen. 3. **Instant Value:** Zeige geschätzten Revenue VOR Aktivierung. 4. **Trust:** Partner-Logos, echte Zahlen, keine Versprechen. ### Sprache - ❌ "Domain Parking" (klingt nach 2005) - ✅ "Domain Yield" / "Intent Routing" - ❌ "Passive Income" (scammy) - ✅ "Your domain works for you" --- ## 7. Technische Voraussetzungen | Komponente | Benötigt | Status | |------------|----------|--------| | Eigene Nameserver (ns1/ns2.pounce.io) | ✅ | Neu | | DNS-Hosting (Cloudflare API oder ähnlich) | ✅ | Neu | | Landing Page CDN | ✅ | Neu | | Affiliate-Netzwerk Accounts | ✅ | Neu | | Payout-System (Stripe Connect?) | ✅ | Teilweise (Stripe existiert) | --- ## 8. Zusammenfassung ### Was ändert sich im UI? | Bereich | Änderung | |---------|----------| | **Landing Page** | Neuer 4. Pillar "YIELD" + Link zu `/yield` | | **Public `/yield`** | Neue Landingpage mit Calculator | | **Terminal Sidebar** | Neuer Menüpunkt "YIELD" unter MANAGE | | **`/terminal/yield`** | Neue Seite: Domain-Liste, Stats, Activate-Wizard | | **Watchlist** | Optional: "Activate for Yield" Button bei eigenen Domains | ### Backend-Aufwand - 3 neue Models - 1 neuer API Router - 2 neue Services (Intent, DNS) - Partner-Integrationen (Awin, PartnerStack, etc.) ### Priorität **Starte mit `/terminal/yield` + Intent-Detection + 1 Partner.** Public Page und Marktplatz-Integration kommen später. --- *"Domains werden keine toten Assets mehr. Sie werden autonome Agenten."*