Tópicos populares
#
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.

fitz ⨀
defi @monad | girador de placas
fitz ⨀ republicou
Como perdemos $25k por causa de uma peculiaridade da API de um DEX perpétuo
Negociamos intensamente em um DEX perpétuo (top 10 detentores de pontos, top 5 por volume). Acontece que o endpoint da API cancel_order() é... especial. Ele sempre retorna 200 OK.
Você pode chamar cancel_order() com:
• Um ID de pedido válido (13295238234991)
• Um ID de pedido do cliente válido
• Um ID de pedido ou ID de pedido do cliente inválido
• Um ID de pedido que já foi cancelado
• Um ID de pedido de 6 meses atrás
• Um sanduíche de presunto
• Sua mãe
→ Ainda assim, 200 OK.
Isso é aceitável se você souber que está acontecendo e programar em torno disso. Nós não sabíamos.
O problema real:
• Ocasionalmente, os picos de RTT do create_order() chegam a 50ms+ durante horários de pico.
• Disparamos um pedido, depois o cancelamos pelo ID do pedido do cliente antes que o pedido realmente tivesse sido realizado.
• O cancelamento retorna 200 OK, então assumimos que o pedido está morto e o removemos de nossos livros.
• Alguns segundos depois, ele é preenchido.
→ Somos pegos por 10-20 bps por incidente.
A cereja do bolo? Esses preenchimentos estavam misturados com preenchimentos normais, então era difícil de detectar.
Também tínhamos loops de fundo de pedidos obsoletos rodando, mas eles são periódicos e nem sempre capturavam esses antes do preenchimento.
Solução:
• Para este DEX, agora *exigimos* confirmações de cancelamento via websocket ou continuamos enviando o cancelamento até que nosso limite máximo de tentativas seja esgotado.
Dano:
• Perda estimada: $20K-$30K.
Lição:
• Toda API tem peculiaridades. Elas geralmente não são lógicas, às vezes nem visíveis, e muitas vezes caras.
• Sempre verifique se o sucesso realmente significa sucesso, não confie em nenhum 200.
42,63K
Top
Classificação
Favoritos
Tendências on-chain
Popular no X
Principais financiamentos atuais
Mais notável