commit 5a088f595b3248317482363ec3ffc654093dc58d Author: Alexander Schmidt Date: Tue Mar 24 16:00:15 2026 +0100 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..c8c54c3 --- /dev/null +++ b/README.md @@ -0,0 +1,172 @@ +# xmrpay.link — Serverless XMR Invoice Builder + +> Privat. Selbst gehostet. Keine Accounts. Kein Backend. Kein Bullshit. + +--- + +## Idee + +**xmrpay.link** ist eine rein clientseitige Web-App, die es jedem ermöglicht, +in unter 30 Sekunden eine professionelle Monero-Zahlungsanforderung zu erstellen — +ohne eigenen Node, ohne Registration, ohne KYC, ohne Drittanbieter. + +Du gibst deine Adresse ein, den Betrag, eine optionale Beschreibung — +und bekommst einen QR-Code, einen kopierbaren `monero:`-Link und eine +optionale PDF-Rechnung. Fertig. + +--- + +## Das Problem (Warum es das noch nicht gibt) + +| Lösung | Problem | +|---|---| +| **BTCPay Server** | Eigener Server nötig, komplexes Setup | +| **NOWPayments, Globee** | Custodial, KYC, Fees, Drittanbieter-Abhängigkeit | +| **Cake Wallet Invoice** | Mobil-only, kein Teilen ohne App | +| **MoneroPay** | Backend-Daemon nötig, nur für Entwickler | +| **Wallet-QR direkt** | Kein Betrag, keine Beschreibung, keine Bestätigung | + +**Die Lücke:** Es gibt kein einfaches, datenschutzkonformes Tool für Freelancer, +kleine Händler und Creator, das ohne Setup funktioniert und trotzdem +Zahlungsbestätigung ermöglicht. + +--- + +## Technologie-Stack + +``` +Frontend: HTML + Vanilla JS (oder leichtes Vue 3) +Crypto: monero-javascript (WASM, läuft im Browser) +Node: Frei wählbarer öffentlicher Remote Node (z.B. xmr.sh, node.community) +QR: QRCode.js (clientseitig) +PDF: jsPDF (clientseitig) +Hosting: Statische Site — GitHub Pages, Netlify, Vercel, Self-hosted +Backend: KEINES +Daten: LocalStorage (optional, nur lokal, nie übertragen) +``` + +**Kein PHP-Backend. Kein Node.js-Server. Kein Datenbank-Setup.** +Die App ist eine einzige HTML-Datei, die von überall gehostet werden kann. + +--- + +## Feature-Roadmap + +### v1 — Der Kern (Static QR Generator) + +- [ ] XMR-Adresse eingeben (mit Validierung) +- [ ] Betrag in XMR eingeben (optional: EUR/CHF/USD-Umrechnung via CoinGecko API) +- [ ] Beschreibung / Verwendungszweck +- [ ] Optionaler Countdown-Timer (Zahlungsfrist) +- [ ] `monero:`-URI generieren (Standard: [SLIP-0021](https://github.com/satoshilabs/slips/blob/master/slip-0021.md)) +- [ ] QR-Code anzeigen und als PNG downloaden +- [ ] Link kopieren (für Messenger, E-Mail etc.) +- [ ] Responsive Design, Dark Mode + +### v2 — View-Key Zahlungsbestätigung (Browser-basiert) + +- [ ] View-Only-Key eingeben (privater Spend-Key bleibt lokal) +- [ ] Browser pollt Remote Node via Monero RPC (kein eigener Node nötig) +- [ ] Live-Anzeige: "Warte auf Zahlung..." → "✅ Zahlung eingegangen (X Bestätigungen)" +- [ ] Warnhinweis bei Unterzahlung +- [ ] Subaddress-Unterstützung (für mehrere parallele Rechnungen) + +### v3 — Professionelle Features + +- [ ] PDF-Rechnung generieren (Logo, Betrag in Fiat, XMR-Betrag, QR, Fälligkeitsdatum) +- [ ] Einbettbarer `