Files
kashilo/docs/MONETIZATION.md

3.3 KiB

Monetarisierung - dgray.io

Preismodell

1 Anzeige = 1 Monat = 1 EUR/USD/CHF/GBP (oder 200 JPY)

  • Einfach, transparent, fair
  • Power-User (mit Reputation): 2 Monate Laufzeit
  • Bezahlung ausschließlich via Monero (XMR) über eigenen BTCpay-Server

Reputation & Trust-System

Sichtbarkeit

  • Anzeigen von Accounts mit erfolgreichen Verkäufen werden höher gerankt
  • Neue Accounts erscheinen weiter unten in Suchergebnissen

Reputation-Stufen

Stufe Deals Vorteile
Neu 0 Standard (1 Monat Laufzeit)
Verifizierter Verkäufer 5+ Badge, bessere Sichtbarkeit
Power-User 15+ 2 Monate Laufzeit, höheres Ranking
Top Seller 50+ Badge, Priority-Ranking, maximale Sichtbarkeit
  • Käufer bestätigt erfolgreichen Abschluss
  • Deals werden erst nach Käufer-Bestätigung gezählt

Proof of Wallet (optional)

  • Einmalige Monero-Mikrozahlung als Verifikation
  • Zeigt: "Wallet verifiziert" im Profil
  • Freiwillig, keine Pflicht

Anti-Abuse Maßnahmen

Rate-Limiting

  • Max. 3 neue Anzeigen pro Tag für neue Accounts
  • Limit erhöht sich mit Reputation

Captcha (Eigenes PoW)

  • Proof-of-Work basiert, kein Tracking
  • Keine externe Abhängigkeit, keine Lizenzkosten
  • Client löst SHA256-Challenge (Difficulty 4, ~1-3 Sek)
  • Bei Account-Erstellung (immer)
  • Bei Anzeigen-Erstellung (nur neue Accounts ohne bisherige Listings)
  • Bei Login (nur nach 3+ Fehlversuchen)
  • Implementierung: js/services/pow-captcha.js, js/components/pow-captcha.js

Payment-Integration

  • Provider: BTCpay Server (self-hosted)
  • URL: https://pay.xmr.rocks/
  • Proxy: pow.dgray.io — alle API-Aufrufe laufen über den PHP-Proxy (BTCPay API-Key bleibt serverseitig)
  • Primär: Monero (XMR)
  • Alternativ: Andere Kryptos via Trocador-Plugin (automatischer Swap zu XMR)
  • Preisumrechnung: Live XMR-Kurs via Kraken API
    • EUR, USD, CHF, GBP, JPY
  • Bestätigung: Nach 1 Blockchain-Confirmation (via Webhook)

Flow: Draft → Processing → Published

  1. User erstellt Listing → wird als draft mit payment_status: unpaid gespeichert
  2. BTCPay Invoice wird über pow.dgray.io/btcpay/invoice erstellt
  3. BTCPay Checkout-Modal öffnet sich im Frontend (js/services/btcpay.js)
  4. Nach Zahlung:
    • Frontend: Prüft Status via pow.dgray.io/btcpay/status nach Modal-Close
    • Webhook: pow.dgray.io/btcpay/webhook empfängt BTCPay Events, setzt status: published + payment_status: paid nach 1 Confirmation
  5. Listing wird veröffentlicht (30 Tage Laufzeit, expires_at wird gesetzt)

Endpunkte (pow.dgray.io)

Endpoint Methode Beschreibung
/btcpay/invoice POST Invoice erstellen (listingId, currency)
/btcpay/status?id={id} GET Invoice-Status abfragen
/btcpay/webhook POST BTCPay Webhook (auto-publish nach Confirmation)

Offene Fragen

  • BTCpay Server Setup & Hostinghttps://pay.xmr.rocks/
  • XMR-Kurs API für Umrechnung → Kraken API
  • Anzahl Deals für Power-User Status → 5/15/50 Stufen
  • Captcha-Lösung → Eigenes PoW-Captcha (keine Lizenzkosten)
  • Payment-Proxypow.dgray.io (PHP, API-Key serverseitig)
  • Webhook für Auto-Publishbtcpay-webhook.php auf pow.dgray.io