Як ми втратили $25 тисяч через дивацтва API на DEX Ми активно торгуємо на perp DEX (топ-10 власників пунктів, топ-5 за обсягом). Виявляється, їх кінцева точка API cancel_order() є.. спеціальний. Він завжди повертає 200 OK. Ви можете викликати cancel_order() за допомогою: • Дійсний ідентифікатор замовлення (13295238234991) • Дійсний ідентифікатор замовлення клієнта • Невірний ідентифікатор замовлення або ідентифікатор замовлення клієнта • Ідентифікатор замовлення, який вже було скасовано • Ідентифікатор замовлення від 6 місяців тому • Бутерброд з шинкою • Твоя мати → все одно 200 ОК. Це добре, якщо ви знаєте, що це відбувається, і кодуєте навколо цього. Ми цього не зробили. Актуальне питання: • Іноді RTT create_order() зростає до 50 мс+ у години пік. • Ми запускали замовлення, а потім скасовували його за ідентифікатором замовлення клієнта до того, як замовлення фактично надійшло. • Cancel повертає 200 OK, тому ми вважаємо, що замовлення мертве, і видаляємо його з наших книг. • Через кілька секунд він заповнюється. → Нас вибирають за 10-20 б.п. за інцидент. Що жартують? Ці заливки були змішані зі звичайними заливками, тому їх було важко помітити. У нас також були запущені фонові цикли в застарілому порядку, але вони періодичні і не завжди вловлювали їх перед заповненням. Виправити: • Для цієї DEX ми тепер *вимагаємо* підтвердження скасування веб-сокета, або ми продовжуємо розсилати спам про скасування, доки наш максимальний ліміт повторних спроб не буде вичерпано. Шкода: • Орієнтовний збиток: $20 тис.-$30 тис. Урок: • Кожен API має свої особливості. Зазвичай вони не логічні, іноді навіть не помітні, а часто дорогі. • Завжди переконуйтесь, що успіх насправді означає успіх, не довіряйте 200.
Так, ми також проводимо стратегії тейкера вилок на цьому майданчику і також, напевно, "відбирали себе". Але це гонка з усіма MM, і наші пороги тейкерів для perps DEX, як правило, вищі, тому часто ми пропускаємо або не досягаємо порогу тейкера, перш ніж намагатися
Інша річ полягає в тому, що тепер я маю стимул НЕ розповідати про це закладу, оскільки це стало для мене перевагою
@0xKeef
Loris
Loris27 лип. 2025 р.
Інша річ полягає в тому, що тепер я маю стимул НЕ розповідати про це закладу, оскільки це стало для мене перевагою
42,65K