pounce/ZONE_FILE_ACCESS.md
yves.gugger 6a6e2460d5 feat: Unified Market Feed API + Pounce Direct Integration
🚀 MARKET CONCEPT IMPLEMENTATION

Backend:
- Added /auctions/feed unified endpoint combining Pounce Direct + external auctions
- Implemented Pounce Score v2.0 with market signals (length, TLD, bids, age)
- Added vanity filter for premium domains (non-auth users)
- Integrated DomainListing model for Pounce Direct

Frontend:
- Refactored terminal/market page with Pounce Direct hierarchy
- Updated public auctions page with Pounce Exclusive section
- Added api.getMarketFeed() to API client
- Converted /market to redirect to /auctions

Documentation:
- Created MARKET_CONCEPT.md with full unicorn roadmap
- Created ZONE_FILE_ACCESS.md with Verisign access guide
- Updated todos and progress tracking

Cleanup:
- Deleted empty legacy folders (dashboard, portfolio, settings, watchlist, careers)
2025-12-11 08:59:50 +01:00

308 lines
11 KiB
Markdown

# 🌐 Zone File Access — Anleitung zur Datenhoheit
---
## Was sind Zone Files?
Zone Files sind die **Master-Listen** aller registrierten Domains pro TLD (Top-Level-Domain). Sie werden täglich von den Registries aktualisiert und enthalten:
- **Alle aktiven Domains** einer TLD
- **Nameserver-Informationen**
- **Keine WHOIS-Daten** (nur Domain + NS)
**Beispiel `.com` Zone File (vereinfacht):**
```
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
google.com. 86400 IN NS ns1.google.com.
...
```
---
## Warum Zone Files = Unicorn?
| Vorteil | Beschreibung |
|---------|--------------|
| **Drop Prediction** | Domains die aus der Zone verschwinden = droppen in 1-5 Tagen |
| **Exklusive Intel** | Diese Domains sind NOCH NICHT in Auktionen |
| **Früher als Konkurrenz** | Backorder setzen bevor andere es wissen |
| **Trend-Analyse** | Welche Keywords werden gerade registriert? |
| **Daten-Monopol** | Gefilterte, cleane Daten vs. Spam-Flut von ExpiredDomains |
---
## Registries und Zugang
### Tier 1: Critical TLDs (Sofort beantragen)
| Registry | TLDs | Domains | Link |
|----------|------|---------|------|
| **Verisign** | `.com`, `.net` | ~160M + 13M | [Zone File Access](https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml) |
| **PIR** | `.org` | ~10M | [Zone File Access Program](https://tld.org/zone-file-access/) |
| **Afilias** | `.info` | ~4M | Contact: registry@afilias.info |
### Tier 2: Premium TLDs (Phase 2)
| Registry | TLDs | Fokus |
|----------|------|-------|
| **CentralNIC** | `.io`, `.co` | Startups |
| **Google** | `.app`, `.dev` | Tech |
| **Donuts** | `.xyz`, `.online`, etc. | Volumen |
| **SWITCH** | `.ch` | Schweizer Markt |
---
## Bewerbungsprozess: Verisign (.com/.net)
### 1. Voraussetzungen
- Gültige Firma/Organisation
- Technische Infrastruktur für große Datenmengen (~500GB/Tag)
- Akzeptanz der Nutzungsbedingungen (keine Resale der Rohdaten)
### 2. Online-Bewerbung
1. Gehe zu: https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml
2. Klicke auf "Request Zone File Access"
3. Fülle das Formular aus:
- **Organization Name:** GenTwo AG
- **Purpose:** Domain research and analytics platform
- **Contact:** (technischer Ansprechpartner)
### 3. Wartezeit
- **Review:** 1-4 Wochen
- **Genehmigung:** Per E-Mail mit FTP/HTTPS Zugangsdaten
### 4. Kosten
- **Verisign:** Kostenlos für nicht-kommerzielle/Forschungszwecke
- **Kommerzielle Nutzung:** $10,000/Jahr (verhandelbar)
---
## Technische Integration
### Server-Anforderungen
```yaml
# Minimale Infrastruktur
CPU: 16+ Cores (parallele Verarbeitung)
RAM: 64GB+ (effizientes Set-Diffing)
Storage: 2TB SSD (Zone Files + History)
Network: 1Gbps (schneller Download)
# Geschätzte Kosten
Provider: Hetzner/OVH Dedicated
Preis: ~$300-500/Monat
```
### Processing Pipeline
```
04:00 UTC │ Zone File Download (FTP/HTTPS)
│ └─→ ~500GB komprimiert für .com/.net
04:30 UTC │ Decompression & Parsing
│ └─→ Extrahiere Domain-Namen
05:00 UTC │ Diff Analysis
│ └─→ Vergleiche mit gestern
│ └─→ NEU: Neue Registrierungen
│ └─→ WEG: Potentielle Drops
05:30 UTC │ Quality Scoring (Pounce Algorithm)
│ └─→ Filtere Spam raus (99%+)
│ └─→ Nur Premium-Domains durchlassen
06:00 UTC │ Database Update
│ └─→ PostgreSQL: pounce_zone_drops
06:15 UTC │ Alert Matching
│ └─→ Sniper Alerts triggern
06:30 UTC │ User Notifications
│ └─→ E-Mail/SMS für Tycoon-User
```
### Datenbank-Schema (geplant)
```sql
-- Zone File Drops
CREATE TABLE pounce_zone_drops (
id SERIAL PRIMARY KEY,
domain VARCHAR(255) NOT NULL,
tld VARCHAR(20) NOT NULL,
-- Analyse
pounce_score INT NOT NULL,
estimated_value DECIMAL(10,2),
-- Status
detected_at TIMESTAMP DEFAULT NOW(),
estimated_drop_date TIMESTAMP,
status VARCHAR(20) DEFAULT 'pending', -- pending, dropped, backordered, registered
-- Tracking
notified_users INT DEFAULT 0,
backorder_count INT DEFAULT 0,
UNIQUE(domain)
);
-- Index für schnelle Suche
CREATE INDEX idx_zone_drops_score ON pounce_zone_drops(pounce_score DESC);
CREATE INDEX idx_zone_drops_date ON pounce_zone_drops(estimated_drop_date);
```
---
## Der Pounce Algorithm — Zone File Edition
```python
# backend/app/services/zone_analyzer.py (ZU BAUEN)
class ZoneFileAnalyzer:
"""
Analysiert Zone Files und findet Premium-Opportunities.
Input: Raw Zone File (Millionen von Domains)
Output: Gefilterte Premium-Liste (Hunderte)
"""
async def analyze_drops(self, yesterday: set, today: set) -> list:
"""
Findet Domains die aus der Zone verschwunden sind.
Diese Domains droppen in 1-5 Tagen (Redemption Period).
"""
dropped = yesterday - today # Set-Differenz
premium_drops = []
for domain in dropped:
score = self.calculate_pounce_score(domain)
# Nur Premium durchlassen (>70 Score)
if score >= 70:
premium_drops.append({
"domain": domain,
"score": score,
"drop_date": self.estimate_drop_date(domain),
"estimated_value": self.estimate_value(domain),
})
return sorted(premium_drops, key=lambda x: x['score'], reverse=True)
def calculate_pounce_score(self, domain: str) -> int:
"""
Der Pounce Algorithm — Qualitätsfilter für Domains.
Faktoren:
- Länge (kurz = wertvoll)
- TLD (com > io > xyz)
- Keine Zahlen/Bindestriche
- Dictionary Word Bonus
"""
name = domain.rsplit('.', 1)[0]
tld = domain.rsplit('.', 1)[1]
score = 50 # Baseline
# Längen-Score (exponentiell für kurze Domains)
length_scores = {1: 50, 2: 45, 3: 40, 4: 30, 5: 20, 6: 15, 7: 10}
score += length_scores.get(len(name), max(0, 15 - len(name)))
# TLD Premium
tld_scores = {'com': 20, 'ai': 25, 'io': 18, 'co': 12, 'ch': 15, 'de': 10}
score += tld_scores.get(tld, 0)
# Penalties
if '-' in name: score -= 30
if any(c.isdigit() for c in name): score -= 20
if len(name) > 12: score -= 15
return max(0, min(100, score))
```
---
## Feature: "Drops Tomorrow" (Tycoon Exclusive)
```
┌─────────────────────────────────────────────────────────────────┐
│ 🔮 DROPS TOMORROW — Tycoon Exclusive ($29/mo) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Diese Domains sind NICHT in Auktionen! │
│ Du kannst sie beim Registrar direkt registrieren. │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ Domain TLD Score Est. Value Drops In │
│ ───────────────────────────────────────────────────────────── │
│ pixel.com .com 95 $50,000 23h 45m │
│ swift.io .io 88 $8,000 23h 12m │
│ quantum.ai .ai 92 $25,000 22h 58m │
│ nexus.dev .dev 84 $4,500 22h 30m │
│ fusion.co .co 81 $3,200 21h 15m │
│ │
│ ───────────────────────────────────────────────────────────── │
│ │
│ 💡 Pro Tip: Setze bei deinem Registrar einen Backorder │
│ für diese Domains. Wer zuerst kommt... │
│ │
│ [🔔 Alert für "pixel.com" setzen] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Roadmap
### Phase 1: Jetzt (Bewerbung)
- [ ] Verisign Zone File Access beantragen
- [ ] PIR (.org) Zone File Access beantragen
- [ ] Server-Infrastruktur planen
### Phase 2: 3-6 Monate (Integration)
- [ ] Download-Pipeline bauen
- [ ] Diff-Analyse implementieren
- [ ] Pounce Algorithm testen
- [ ] "Drops Tomorrow" Feature für Tycoon
### Phase 3: 6-12 Monate (Skalierung)
- [ ] Weitere TLDs (.io, .co, .ch, .de)
- [ ] Historische Trend-Analyse
- [ ] Keyword-Tracking
- [ ] Enterprise Features
---
## Risiken und Mitigierung
| Risiko | Wahrscheinlichkeit | Mitigierung |
|--------|-------------------|-------------|
| Ablehnung durch Registry | Mittel | Klare Business-Case, ggf. Partnerschaften |
| Hohe Serverkosten | Niedrig | Cloud-Skalierung, nur Premium-TLDs |
| Konkurrenz kopiert | Mittel | First-Mover-Vorteil, besserer Algorithmus |
| Datenqualität | Niedrig | Mehrere Quellen, Validierung |
---
## Nächster Schritt
**Aktion für diese Woche:**
1. **Verisign bewerben:** https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml
2. **E-Mail an PIR:** zone-file-access@pir.org
3. **Server bei Hetzner reservieren:** AX101 Dedicated (~€60/Monat)
---
## Zusammenfassung
Zone Files sind der **Schlüssel zur Datenhoheit**. Während die Konkurrenz auf Scraping setzt, werden wir die Rohdaten direkt von der Quelle haben — und mit dem Pounce Algorithm filtern, sodass nur Premium-Opportunities zu unseren Usern gelangen.
**Das ist der Unicorn-Treiber.** 🦄