Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Jak straciliśmy 25 tys. dolarów z powodu dziwactwa API perp DEX
Intensywnie handlujemy na perp DEX (w czołowej dziesiątce posiadaczy punktów, w czołowej piątce pod względem wolumenu). Okazuje się, że ich punkt końcowy API cancel_order() jest...specjalny. Zawsze zwraca 200 OK.
Możesz wywołać cancel_order() z:
• Ważnym identyfikatorem zamówienia (13295238234991)
• Ważnym identyfikatorem zamówienia klienta
• Nieprawidłowym identyfikatorem zamówienia lub identyfikatorem zamówienia klienta
• Identyfikatorem zamówienia, które już zostało anulowane
• Identyfikatorem zamówienia sprzed 6 miesięcy
• Kanapką z szynką
• Twoją matką
→ Nadal 200 OK.
To jest w porządku, jeśli wiesz, że to się dzieje i dostosowujesz kod. My nie wiedzieliśmy.
Rzeczywisty problem:
• Czasami, RTT create_order() wzrasta do 50 ms+ w czasie dużego ruchu.
• Wysyłaliśmy zamówienie, a następnie anulowaliśmy je za pomocą identyfikatora zamówienia klienta, zanim zamówienie faktycznie dotarło.
• Anulowanie zwraca 200 OK, więc zakładamy, że zamówienie jest martwe i usuwamy je z naszych ksiąg.
• Kilka sekund później, zamówienie się realizuje.
→ Zostajemy zebrani za 10-20 bps za incydent.
A co gorsza? Te realizacje były pomieszane z normalnymi realizacjami, więc trudno było je zauważyć.
Mieliśmy również działające w tle pętle zamówień przestarzałych, ale są one okresowe i nie zawsze łapały te przed realizacją.
Rozwiązanie:
• Dla tego DEX, teraz *wymagamy* potwierdzeń anulowania przez websocket, w przeciwnym razie kontynuujemy spamowanie anulowaniem, aż wyczerpiemy nasz maksymalny limit prób.
Szkody:
• Szacowana strata: 20 tys. - 30 tys. dolarów.
Lekcja:
• Każde API ma swoje dziwactwa. Zwykle nie są logiczne, czasami nawet niewidoczne, a często kosztowne.
• Zawsze weryfikuj, że sukces rzeczywiście oznacza sukces, nie ufaj żadnemu 200.
Tak, prowadzimy również strategie arb taker na tej platformie i prawdopodobnie również "podnosimy się". Ale to wyścig z wszystkimi MM, a nasze progi taker dla DEX-ów perps są zazwyczaj wyższe, więc często nie osiągamy lub nie przekraczamy progu taker przed próbą.
inną dziwną rzeczą jest to, że teraz jestem zmotywowany, aby NIE informować miejsca o tym, ponieważ stało się to moją przewagą.
@0xKeef

27 lip 2025
inną dziwną rzeczą jest to, że teraz jestem zmotywowany, aby NIE informować miejsca o tym, ponieważ stało się to moją przewagą.
42,63K
Najlepsze
Ranking
Ulubione