Architektur eines Wett-Bots mit Pinnacle-Quoten
Antwort: die meisten Wett- oder Trading-Bots haben fünf Teile: (1) einen Datenfeed, (2) einen lokalen Zustand der Events und Märkte, (3) Signalregeln, (4) Risikoprüfungen und (5) die Ausführung auf dem Konto, mit dem du wettest. PinnFeed liefert Teil 1 und hilft bei 2 und 3: einen WebSocket (Builder), der einen vollständigen snapshot und danach delta-Frames mit jeder Pinnacle-Preisänderung sendet, inklusive fair, margin und maxStake. Wetten platziert PinnFeed nicht; die Ausführung liegt bei dir, bei einem Anbieter, der das erlaubt, und dort, wo Wetten für dich legal ist.
Die Pipeline#
| Teil | Aufgabe | Mit PinnFeed |
|---|---|---|
| Ingest | Eine Verbindung offen halten, ping mit pong beantworten, mit Backoff neu verbinden | wss://pinnfeed.io/v1/stream (Python, Node) |
| Zustand | Map von market.id → letzter Markt; bei op: "remove" löschen | Snapshot/Delta |
| Signale | Preissturz, Angebot über fair, Linienänderung | Steam, EV-Screen |
| Risiko | Einsatzgrenzen, maxStake >= 100, maximales Exposure pro Event, Notschalter | Dein Code |
| Ausführung | Wette platzieren, Preis und Ergebnis protokollieren | Dein Buchmacher oder deine Börse |
Minimale Signalschleife (Python)#
book = {} # market id -> market
def on_frame(msg, alert):
if msg["type"] == "snapshot":
for m in msg["markets"]:
book[m["id"]] = m
elif msg["type"] == "delta":
for ch in msg["changes"]:
if ch["kind"] != "market":
continue
if ch["op"] == "remove":
book.pop(ch["id"], None)
continue
new, old = ch["market"], book.get(ch["market"]["id"])
book[new["id"]] = new
if not old or (new["maxStake"] or 0) < 100:
continue
for o_new, o_old in zip(new["outcomes"], old["outcomes"]):
if o_old["decimal"] and o_new["decimal"] / o_old["decimal"] - 1 <= -0.04:
alert(new["eventId"], o_new["name"], o_old["decimal"], o_new["decimal"])
Häng on_frame an einen beliebigen Client aus den Sprachseiten (Go, Rust, Kotlin). Protokolliere jedes Signal und jede Entscheidung, damit du sie später gegen die Schlussquote messen kannst: Wett-Tracker mit CLV.
Design-Tipps#
- Lass den Ingest auf einem dauerhaft laufenden Host laufen, nicht in einer Serverless-Funktion.
- Halte einen
paper-Modus vor, der protokolliert, was der Bot tun würde, bevor er etwas setzt. - Ein WebSocket pro Prozess, intern verteilen; Builder erlaubt 3 Verbindungen, Pro 10.
- Begegne
4008 slow_consumer, indem du Arbeit aus der Empfangsschleife auslagerst.
Tarife#
Builder (99 €/Monat): WebSocket, alle 13 Sportarten, alle Märkte. Pro (199 €/Monat): 10 Verbindungen und Raw-Frames. Testphase 3 Tage; eine Karte ist nötig und wird nach Tag 3 belastet, wenn du nicht kündigst. Prototyp zuerst mit kostenlosem REST: Registrierung.
Bildungsinhalt für Erwachsene (18+). Automatisierte Wetten können schnell Geld kosten; keine Tipps, kein Gewinnversprechen. In Deutschland nur bei Anbietern auf der GGL-Whitelist wetten.
Häufige Fragen#
Kann PinnFeed Wetten für meinen Bot platzieren?#
Nein. Es sind reine Lesedaten. Die Ausführung passiert auf deinem eigenen Buchmacher- oder Börsenkonto.
Erlauben Buchmacher Bots?#
Viele schränken automatisiertes Wetten in ihren AGB ein. Prüfe das, bevor du die Ausführung automatisierst.