pounce/YIELD_INTEGRATION_CONCEPT.md
2025-12-12 14:23:32 +01:00

21 KiB
Raw Permalink Blame History

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

# 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

# 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

# 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

# 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."