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.
➝
🔑
Hot Wallet
UTXO-Verwaltung
➝
🔒
Escrow
Single-Sig-Taproot
➝
🤝
P2P-Trade
Verschlüsselter Match
➝
✅
Abwicklung
Geprüfte PSBT-Freigabe
Core
Orchestrierung
- 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)
Backend
Externe Integrationen
- 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
- 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
Backend
Bitcoin-Protokoll
- 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-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)
Backend
Daten & Preisgestaltung
- 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-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
Frontend
Benutzeroberflächen
/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)
- Statusübersicht in Echtzeit
- Trade-Historie mit Filtern
- Saldo- und P&L-Diagramme
- Premium-Übersicht des Markts
Zahlungsmethoden
Twint
CHF
sha256(Telefon)
SEPA Instant
EUR
sha256(IBAN)
Revolut
CHF · EUR · USD
sha256(JSON)
Wise
EUR · USD
sha256(JSON)
Skrill
CHF · EUR · USD
sha256(E-Mail)
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
9
Zahlung
von mir geprüft
10
PSBT signieren
Taproot / 2-of-2
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
Kryptografie
secp256k1 · PGP · AES
Bitcoin
Raw TX · BIP32/84/143 · PSBT
Börse
REST API (HMAC-SHA512)
Benachrichtigungen
Telegram Bot API
Deployment
systemd · VPS · venv