Kauft Bitcoin auf einer Börse (Kraken) zum Börsenkurs und verkauft sie auf einem Peer-to-Peer-Marktplatz (Peach) mit Aufpreis an Privatpersonen. Angebote, Escrow und Preisanpassung laufen automatisch, die Zahlungsprüfung bleibt manuell. Gesteuert per Telegram, dazu ein kleines Web-Dashboard.
Auf P2P-Marktplätzen kaufen Leute Bitcoin direkt von anderen Personen, ohne Konto bei einer Börse. Dafür zahlen sie einen Aufpreis gegenüber dem Börsenkurs, typischerweise ein paar Prozent. Der Bot nutzt diese Differenz.
Der Gewinn ist der Aufpreis abzüglich Gebühren – Börse, Auszahlung, Blockchain-Transaktion und Plattform.
Jeder Trade wird mit allen Gebühren in einer SQLite-Datenbank erfasst.
/status
Status ▶️ (3d 4h)
Spot: 84'200 CHF
Plattformen
peach: ok
Exchanges
kraken: ok
Offers: 2 pending, 1 funded
Heute: 1'250'000 sats
(Beispiel mit erfundenen Zahlen.)
flowchart LR
K["Kraken<br/>Börsenkurs"] --> W["eigene Wallet"]
W --> P["Peach<br/>Angebot + Escrow"]
P --> B(["Käufer"])
B -->|Zahlung| M["manuelle Prüfung"]
M -->|bestätigt| P
P --> DB[("SQLite<br/>Trades + Gebühren")]
TG(["Telegram"]) <--> P
Mehr Details: docs/architecture.md
Zusätzlich gibt es eine Version des Diagramms.
├── core/
│ ├── engine.py # Hauptschleife (alle ~30 s)
│ ├── models.py # Datenmodelle (Angebot, Vertrag …)
│ ├── hd_keys.py # Schlüsselableitung aus der Seed-Phrase (BIP32/39)
│ ├── taproot.py # Taproot-Adressen und Schnorr-Signaturen (BIP340/341)
│ ├── offer_sizing.py # Angebotsgrössen aus dem CHF-Limit
│ ├── pricing.py # Aufpreis-Berechnung aus den Konkurrenzangeboten
│ └── trade_logger.py # Trade-Datenbank (SQLite)
├── exchanges/ # Kraken, Bitvavo
├── platforms/ # Peach
├── notifications/ # Telegram-Befehle und Meldungen
├── dashboard.py # Web-Dashboard (Flask)
└── run.py # Startpunkt
pip install -r requirements.txt
cp config.example.json config.json
# config.json mit API-Keys, Seed-Phrase und Zahlungsdaten ausfüllen
python run.py
Braucht Python 3.11+, ein Kraken-Konto, ein Peach-Konto und einen Telegram-Bot
(via @BotFather). Seed-Phrase und Zahlungsdaten
gehören in die lokale config.json und nie ins Repo.
Der Bot läuft produktiv. Dieses Repo zeigt den Code als Portfolio-Projekt, nicht als fertige Lösung zum Nachbauen.
Veröffentlicht: Taproot-Implementierung, Schlüsselableitung, Angebotsgrössen, Preisberechnung, Anbindung an Kraken und Peach, Datenmodell, Datenbank, Telegram-Bot und Dashboard.
Nicht veröffentlicht: die eigentliche Handelslogik, das Bauen der Wallet-Transaktionen und der Umgang mit Zahlungsdaten. In core/engine.py stehen diese Funktionen als dokumentierte Hüllen, damit der Ablauf nachvollziehbar bleibt.
Nutzung auf eigenes Risiko.
MIT – siehe LICENSE.