Bitcoin-Arbitrage-Bot

Semi-autonomer Arbitrage-Bot: kauft Bitcoin auf einer Börse zum Tageskurs und verkauft sie auf einem Peer-to-Peer-Marktplatz mit Aufpreis. Kauf, Angebot, Escrow und Freigabe laufen weitgehend automatisch; den Zahlungseingang prüfe ich selbst. Escrow-Adresse und Freigabe werden vor jedem Schritt lokal nachgerechnet.

🏦
Börse
Marktkauf
➝
🔑
Hot Wallet
UTXO-Verwaltung
➝
🔒
Escrow
Single-Sig-Taproot
➝
🤝
P2P-Trade
Verschlüsselter Match
➝
✅
Abwicklung
Geprüfte PSBT-Freigabe
⚙️
Trading Engine
Zentraler Orchestrator — 30s-Polling-Loop
  • Verwaltung des Angebots-Lebenszyklus (erstellen, finanzieren, matchen, freigeben)
  • Trade-Anfragen automatisch annehmen, Zahlungsdaten PGP-verschlüsselt
  • Vertragsüberwachung mit PSBT-Signierung
  • Automatische Premium-Senkung per Live-PATCH (kein Cancel/Refund)
  • Auto-Refund: stornierte Escrow-PSBTs alle 10 min signieren & broadcasten
  • Auto-Buy-Escrow: Premium per /auto einstellbar, Angebotsgrössen aus dem CHF-Limit der Plattform, Rotation pro Methode (Revolut/Wise) und pro SEPA-Bank schaltbar
  • Tageszusammenfassung, Warnung bei tiefem Saldo, Gewinn-Tracking
  • Spotpreis aus mehreren Quellen mit Fallback
  • Threadsicherer paralleler Zugriff (Engine- + Telegram-Threads)
🏦
Börsen-Connector
CHF/EUR/USD/USDT-Spotkauf + Auszahlung
  • Marktkauf mit viqc (Volumen in Quote-Währung)
  • Doppelte Fill-Erkennung: QueryOrders + Saldoänderung als Fallback
  • BTC-Auszahlung an freigegebene Hot-Wallet-Adresse
  • Abfragen von Trade-Historie und Ledger
  • API-Authentifizierung mit HMAC-SHA512-Signatur
🤝
P2P-Plattform
Anbindung an den P2P-Marktplatz
  • Secp256k1-Authentifizierung mit automatischer Erneuerung (~50 min)
  • Verkaufsangebote mit SHA256-Zahlungshashes pro Methode
  • Erkennung von Trade-Anfragen über v069 (v1 oft leer)
  • Symmetrischer AES-Schlüsselaustausch + PGP-Verschlüsselung
  • Live-Premium-PATCH auf aktiven Angeboten
  • Markt-Scanner: Analyse von Konkurrenz und Käufernachfrage
📡
Hot Wallet & TX-Builder
Bau roher Bitcoin-TX & UTXO-Verwaltung — nicht im Repo veröffentlicht
  • BIP32/39/84-HD-Schlüssel: m/84'/0'/0'/0/i
  • Native SegWit P2WPKH → P2WSH / P2TR (bech32m)
  • UTXO-Auswahl mit dynamischer Gebührenschätzung
  • BIP143-Witness-Signierung (ECDSA)
  • Dust-Behandlung und Wechselgeld-Outputs
  • Mempool-Broadcast über öffentliche API
✍️
Escrow & PSBT-Signierung
Taproot- & Legacy-Escrow-Freigabe, Schlüsselableitung
  • Escrow-Schlüssel pro Angebot: m/84'/0'/0'/{id}'
  • Single-Sig-Taproot-Escrow (escrowVersion 2): BIP341-Key-Path, BIP340-Schnorr, bech32m
  • Escrow-Adresse wird lokal nachgerechnet und bei Abweichung abgelehnt
  • Release-PSBT wird vor dem Signieren gegen Funding-TX + Auszahlung an Käufer geprüft
  • Legacy-2-of-2-P2WSH-Pfad bleibt erhalten: BIP143 (ALL + SINGLE|ANYONECANPAY)
📊
Premium-Verwaltung
Dynamische Preise + automatische Senkung
  • Marktbasierte Premium-Berechnung (Unterbietungsstrategie)
  • Automatische Senkung: −0,5 % alle 24 h ohne Match
  • Live-PATCH auf finanzierten Angeboten (kein On-Chain-Refund nötig)
  • Einstellbare Unter- und Obergrenze (Plattform erlaubt bis +21 %)
  • Telegram-Benachrichtigung bei jeder Senkung
🗄️
Trade-Datenbank
SQLite im WAL-Modus
  • Trade-Protokoll mit vollständiger Gebührenaufschlüsselung
  • Kaufdaten bleiben über den ganzen Escrow-Lebenszyklus erhalten
  • Event-Tracking (Audit-Trail des Lebenszyklus)
  • Gewinnauswertung pro Tag/Monat
  • Berichte nach Plattform
💬
Telegram Bot
Fernsteuerung & Überwachung
  • /buy_escrow — Ganzer Ablauf: BTC kaufen → Angebot erstellen → Escrow einzahlen
  • /auto [premium%] — Premium setzen, ein-/ausschalten, Revolut/Wise & jede SEPA-Bank in der Rotation schalten
  • /profit — Hochrechnung vs. realisierter Gewinn (Tag/Woche/Monat/Jahr + 7/30-Tage-Schnitt)
  • /market — Wettbewerbsanalyse + Premium-Empfehlung
  • /status /balance /offers /contracts /wallet — Überwachung
  • /cancel /pause /resume /reload — Steuerung mit Inline-Keyboards
  • UTXO-Polling im Hintergrund für das Escrow-Funding
  • Ausstehende Fundings werden gespeichert (überstehen Neustart)
  • Telegram-Benachrichtigung bei jedem Auto-Buy-Escrow (Angebots-ID, Premium, Sats, BTC-Kosten)
📈
Web-Dashboard
Flask — HTTPS + Passwortschutz (Basic Auth)
  • Statusübersicht in Echtzeit
  • Trade-Historie mit Filtern
  • Saldo- und P&L-Diagramme
  • Premium-Übersicht des Markts

Zahlungsmethoden

Twint
CHF
sha256(Telefon)
SEPA
EUR
sha256(IBAN)
SEPA Instant
EUR
sha256(IBAN)
Revolut
CHF · EUR · USD
sha256(JSON)
Wise
EUR · USD
sha256(JSON)
Skrill
CHF · EUR · USD
sha256(E-Mail)
N26
EUR
sha256(Telefon)
Paysera
EUR
sha256(Telefon)
USDT (Solana)
USDT
sha256(Adresse)
USDT (Arbitrum)
USDT
sha256(Adresse)
USDT (Ethereum)
USDT
sha256(Adresse)

Trade-Lebenszyklus

1
Telegram
/buy_escrow 200
oder Auto-Modus
2
Börsenkauf
Market-Order
(entfällt bei BTC)
3
Auszahlung
→ Hot Wallet
4
Angebot erstellen
P2P + Hashes
5
Schlüssel ableiten
m/84'/.../id'
6
Escrow finanzieren
SegWit-TX
7
Warten / Senken
PATCH −0,5 %/24 h
8
Match
AES + PGP
9
Zahlung
von mir geprüft
10
PSBT signieren
Taproot / 2-of-2
11
Abwicklung
On-Chain

Sicherheitsmodell

🔏
Börsen-API
Mit HMAC-SHA512 signierte Requests, Nonce gegen Replay
🪪
Plattform-Auth
Secp256k1-ECDSA-Signatur, automatische Erneuerung alle 50 min
🔑
Escrow-Schlüssel
HD-abgeleitete Schlüssel pro Angebot (BIP32, hardened)
🔐
Zahlungsdaten
Symmetrischer AES-256-Schlüssel, verschlüsselt mit dem PGP-Key des Käufers
🛡️
Escrow-Sicherheit
Adresse und Release-PSBT lokal geprüft, Schutz vor Doppel-Funding
📡
Telegram
Prüfung der Chat-ID, Umgang mit Flood-Control
Sprache
Python 3.12
Kryptografie
secp256k1 · PGP · AES
Bitcoin
Raw TX · BIP32/84/143 · PSBT
Datenbank
SQLite (WAL)
Börse
REST API (HMAC-SHA512)
P2P
P2P REST API
Benachrichtigungen
Telegram Bot API
Deployment
systemd · VPS · venv