Diese Seite wurde maschinell übersetzt. Das englische Original ist maßgeblich. Auf Englisch lesen →
Zum Hauptinhalt springen

Self-Trade-Prevention (STP)

Automatischer Schutz gegen Eigenhandel.

Überblick​

Wenn eine eingehende (Taker-)Order gegen eine ruhende (Maker-)Order derselben Wallet ausgeführt würde, storniert die Engine beide Orders, anstatt sie auszuführen. Dies verhindert Wash Trading und schützt Market Maker davor, versehentlich ihre eigenen Quotes zu kreuzen.

STP ist immer aktiv. Es gibt keine Konfiguration, kein Opt-out und keine alternativen Modi.

Verhalten​

Strategie: Cancel Both​

Wenn ein Self-Trade erkannt wird:

  1. Die Maker-Order wird mit dem Grund "Self-trade prevention" storniert
  2. Die Taker-Order wird abgelehnt (falls keine vorherigen Ausführungen erfolgt sind) oder storniert (falls teilweise ausgeführt)

Zwischen den beiden Orders wird keine Ausführung erzeugt.

Abgleich auf Wallet-Ebene​

STP vergleicht Wallet-Adressen, nicht Agent-Keys. Wenn Sie die Agent-Autorisierung nutzen, um Orders mit mehreren Keys zu signieren, unterliegen alle Orders derselben Trading-Wallet untereinander der STP.

Teilausführungen bleiben erhalten​

Wenn eine Taker-Order gegen andere Gegenparteien ausgeführt wird, bevor sie auf einen Self-Trade trifft, bleiben diese Ausführungen bestehen.

Beispiel: Im Orderbuch stehen 5 Kontrakte, angeboten von Wallet B, danach 5 Kontrakte, angeboten von Wallet A. Wallet A sendet eine Kauforder über 10 Kontrakte:

SchrittAbgleich gegenErgebnis
1Wallet B (5 Kontrakte)Ausführung: 5 Kontrakte ausgeführt
2Wallet A (5 Kontrakte)Self-Trade erkannt

Ergebnis:

  • Wallet A erhält eine Ausführung über 5 Kontrakte gegen Wallet B
  • Die Maker-Order von Wallet A (5 Kontrakte) wird storniert
  • Die Taker-Order von Wallet A wird mit filled_size: 5 storniert

Order-Status​

SzenarioTaker-StatusGrund
Keine vorherigen AusführungenREJECTED"Self-trade prevention"
Teilausführungen vor dem Self-TradeCANCELED"Self-trade prevention (partial fill kept)"

Die Maker-Order ist immer CANCELED mit dem Grund "Self-trade prevention".

GTC-Orders verbleiben nach einem Self-Trade nicht im Orderbuch​

Wenn eine GTC-Taker-Order STP auslöst, wird die verbleibende Menge nicht ins Orderbuch gestellt, selbst wenn die Order normalerweise ruhen würde. Die Order wird vollständig beendet.

WebSocket-Benachrichtigungen​

Sowohl die Stornierung bzw. Ablehnung des Takers als auch die des Makers werden über den Kanal order_updates übermittelt. Das Feld reason zeigt an, dass STP die Ursache war.

FAQ​

Kann ich einen anderen STP-Modus wählen (z. B. Cancel-Newest oder Decrement)? Nein. Hypercall verwendet ausschließlich Cancel-Both.

Gilt STP für Perp-Orders? Nein. Die STP von Hypercall gilt für Orders, die im Orderbuch von Hypercall abgeglichen werden: Options- und Combo-Orders. Perp-Orders werden im Orderbuch von Hyperliquid abgeglichen, wo die eigenen Self-Trade-Regeln von Hyperliquid gelten.

Gilt STP für Combo-Orders? Ja. Das Matching stoppt, bevor eine Combo- oder implizite Route ein Konto gegen sich selbst handeln würde, und die ruhende Maker-Order wird storniert. Die Alles-oder-nichts-Fälle (FOK und atomarer Replace) finden Sie in der Experimental Combo API.

Gilt STP für RFQ-Trades? Ja. Wenn der Taker und ein Quote-Anbieter dieselbe Wallet verwenden, wird der Quote abgelehnt.

Ich bin Market Maker und quotiere beide Seiten. Stornieren sich meine Quotes gegenseitig? Nur wenn eine eingehende Order dazu führen würde, dass sie sich kreuzen. Ruhende Orders auf gegenüberliegenden Seiten des Orderbuchs zu unterschiedlichen Preisen bestehen normal nebeneinander. STP greift nur zum Zeitpunkt des Matchings.