86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# Monetarisierung - kashilo.com
|
|
|
|
## 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.kashilo.com` — 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.kashilo.com/btcpay/invoice` erstellt
|
|
3. BTCPay Checkout-Modal öffnet sich im Frontend (`js/services/btcpay.js`)
|
|
4. Nach Zahlung:
|
|
- **Frontend**: Prüft Status via `pow.kashilo.com/btcpay/status` nach Modal-Close
|
|
- **Webhook**: `pow.kashilo.com/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.kashilo.com)
|
|
|
|
| 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
|
|
|
|
- [x] ~~BTCpay Server Setup & Hosting~~ → https://pay.xmr.rocks/
|
|
- [x] ~~XMR-Kurs API für Umrechnung~~ → Kraken API
|
|
- [x] ~~Anzahl Deals für Power-User Status~~ → 5/15/50 Stufen
|
|
- [x] ~~Captcha-Lösung~~ → Eigenes PoW-Captcha (keine Lizenzkosten)
|
|
- [x] ~~Payment-Proxy~~ → `pow.kashilo.com` (PHP, API-Key serverseitig)
|
|
- [x] ~~Webhook für Auto-Publish~~ → `btcpay-webhook.php` auf `pow.kashilo.com`
|