Porque estou a receber erros de nonce inválido?

Última atualização: 31/03/2025

Um erro EAPI:Invalid nonce indica que um pedido de API foi recebido com um valor nonce repetido ou inferior ao esperado.

Uma vez que o valor nonce deve ser único e deve aumentar a cada pedido, poderá encontrar erros ao tentar fazer pedidos simultâneos, ou pedidos em rápida sucessão, ou ao tentar usar uma única chave API para vários dispositivos/aplicações/bots.

Por exemplo, dois pedidos de API simultâneos podem não chegar na ordem pretendida, e se o segundo pedido (com um nonce superior) chegar antes do primeiro pedido (com um nonce inferior), o primeiro pedido seria rejeitado quando finalmente chegasse.

Uma vez que os erros de nonce inválido farão com que os seus pedidos de API falhem (as suas ordens não sejam colocadas, por exemplo), os erros de nonce inválido não devem ser simplesmente ignorados, mas devem ser corrigidos melhorando o algoritmo de criação de nonce (veja algumas soluções abaixo).

Soluções

Algumas soluções potenciais para erros de nonce inválido são as seguintes:

  1. 1

    Crie várias chaves API e use uma chave diferente para cada pedido simultâneo, cada dispositivo/aplicação, cada bot de negociação, etc. Cada chave API tem o seu próprio valor nonce separado, pelo que a ordem em que os pedidos de API chegam deixaria de ser um problema.

  2. 2

    Aumente a resolução nonce de forma a permitir pedidos adicionais durante o mesmo período de tempo (aumentando a resolução nonce de milissegundos para décimos de milissegundos, por exemplo).

  3. 3

    Aumente/alargue a janela nonce para as suas chaves API de forma a proporcionar um curto período de tempo durante o qual valores nonce inválidos não causariam um erro. Note que esta solução só deve ser usada para superar problemas de rede, e não como uma forma de ignorar completamente os erros de nonce inválido.

Precisa de mais ajuda?