Esta página foi traduzida automaticamente. O original em inglês é a versão canônica. Ler em inglês →
Pular para o conteúdo principal

Códigos de motivo de ordens de perpétuos

Quando o formulário de ordens diz que uma ordem "seria rejeitada", ele está citando um código de motivo. O mesmo código volta da verificação ao vivo antes de você assinar (a prévia) e do envio real, então o que o formulário mostra é o que o servidor faria.

Como o formulário os usa:

  • Códigos de bloqueio transformam o botão de envio no motivo (por exemplo Not enough margin) até você alterar a ordem.
  • Códigos de atualização (stale_position_snapshot, venue_risk_unavailable) são verificados novamente de forma automática e nunca bloqueiam o botão.
  • Códigos de nova tentativa com bloqueio (price_unavailable, account_health_unavailable) também são verificados novamente de forma automática, mas bloqueiam o botão até a verificação passar.
  • Uma prévia com falha nunca bloqueia você. Se a prévia não puder ser acessada, o formulário não mostra números e você ainda pode enviar. A verificação real continua sendo executada no envio.
  • invalid_order, engine_rejected e qualquer código desconhecido bloqueiam e mostram a mensagem do servidor como foi escrita, já que ela indica o campo ou a regra que falhou.

Usuários da API recebem o mesmo valor em reasonCode em POST /v1/tee-perp/preview e nas respostas de envio de ordens, lotes e alavancagem. O texto legível (reason na prévia, message nas respostas de envio) é de diagnóstico; tome decisões com base no código.

Margem e posição​

CódigoO que significaO que fazer
insufficient_marginDepois que esta ordem (e todas as ordens de perpétuos abertas) for executada, sua conta não cobriria o requisito de margem. O requisito é o pior entre a margem de portfólio da Hypercall e a margem da Hyperliquid.Use o cartão que o formulário mostra: Use max (maior tamanho que passa), Raise to N× (menor alavancagem que passa) ou Deposit do valor faltante. Cancelar ordens em espera também libera margem.
reduce_only_exceeds_positionUma ordem reduce-only aumentaria ou inverteria sua posição em vez de reduzi-la.Defina o tamanho igual ou abaixo da sua posição aberta (o formulário oferece Use position) ou desative Reduce only.
mode_change_with_positionVocê tentou alternar entre cross e isolated em um mercado onde tem uma posição. A Hyperliquid também não permite isso.Mantenha o modo atual ou feche a posição e depois alterne.
leverage_requires_flat_accountUma mudança de alavancagem foi recusada porque a conta tem posições de perpétuos abertas ou ordens de perpétuos pendentes. Isso só acontece onde a Hypercall não cobra o risco de liquidação da Hyperliquid na margem; a produção cobra, então a produção não retorna este código.Feche as posições e cancele as ordens de perpétuos, depois altere a alavancagem.
liquidation_pendingA conta está em pré-liquidação, com uma liquidação total prestes a começar. A Hypercall recusa novas ordens de perpétuos na conta.Aguarde a liquidação ser resolvida. Veja Liquidação.

Configuração da conta​

CódigoO que significaO que fazer
account_not_pmOrdens de perpétuos exigem uma conta com margem de portfólio.Ative a margem de portfólio na página da sua conta e tente novamente.
unified_mode_requiredOrdens que adicionam risco exigem o modo unified account da Hyperliquid na conta de negociação.Clique em Enable unified mode no formulário.
builder_not_approvedA Hyperliquid recusou a ordem porque a conta não aprovou o endereço de builder da Hypercall. Isso volta da Hyperliquid no envio, não da prévia, e usuários da API veem isso em errorCode na resposta de envio, não em reasonCode.Clique em Enable trading uma vez. Veja Perpétuos na Hypercall.
account_health_unavailableA Hypercall não consegue ler a saúde de margem da conta no momento, então recusa qualquer coisa que adicione risco.O formulário verifica novamente de forma automática. Para reduzir o risco enquanto isso, envie a ordem com Reduce only ativado.

Mercado e dados​

CódigoO que significaO que fazer
market_not_supportedO mercado não é um em que a Hypercall consegue calcular risco. Ele precisa de um feed de preço, uma grade de cenários de margem e uma tabela da Hyperliquid com margem em USDC para sua conta.Escolha um mercado suportado.
trading_haltedA negociação está pausada, em todos os mercados ou neste mercado.Aguarde. O formulário mantém o botão desativado até a negociação ser retomada.
price_unavailableO preço que a Hypercall usa para avaliar o mercado está ausente ou desatualizado.O formulário verifica novamente de forma automática. A Hypercall não estima um preço, então recusa até que um novo chegue.
stale_position_snapshotSua leitura mais recente de posição ou patrimônio na Hyperliquid está ausente ou é antiga demais.Nada. O formulário verifica novamente uma vez por conta própria. Se persistir, atualize a página.
venue_risk_unavailableA leitura de risco da Hyperliquid (alavancagem, preços de liquidação, colateral por posição) está ausente ou não corresponde à sua leitura de posição mais recente.Nada. O formulário verifica novamente uma vez por conta própria.

Termos da ordem​

CódigoO que significaO que fazer
invalid_orderOs termos da ordem são inválidos: precisão de preço ou tamanho, um bracket TP/SL malformado ou um client order id inválido.Corrija o tick de preço ou o incremento de tamanho e envie novamente.
action_not_supportedA política do enclave de assinatura não permite este tipo de ação. Se isso acontecer em um tipo de ordem que o formulário oferece, o formulário marca esse tipo como não habilitado.Use um tipo de ordem suportado.
engine_rejectedQualquer outra recusa. O texto em reason traz a causa exata.Leia a mensagem. Se não estiver clara, entre em contato com o suporte enviando o texto.

Relacionados​