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

Changelog

Mudanças de API e descontinuações para a testnet e o alpha da mainnet da Hypercall.

Política de mudanças da API experimental​

Todos os endpoints /experimental e as mensagens WebSocket explicitamente experimentais são instáveis. Mudanças incompatíveis podem entrar em vigor com um dia (24 horas) de aviso prévio. Isso inclui remover ou renomear campos ou endpoints, alterar tipos de campos e alterar o comportamento de requisições ou respostas. Os avisos neste changelog informarão as superfícies afetadas, as mudanças necessárias nos clientes e a data e hora de entrada em vigor. Os clientes devem acompanhar esses avisos e se atualizar antes desse horário. Esta política não altera os compromissos de compatibilidade dos endpoints e assinaturas não experimentais.

Consulte a API experimental de combos para a interface atual. Esta política não anuncia disponibilidade nem uma mudança imediata de schema.

Veja também: Referência da API REST · API WebSocket · Autenticação


Sem nova release - 6 de outubro de 2026​

Adicionado​

  • Política pública de margem PM: GET /v1/pm-margin/policy retorna a política de portfolio margin ativa (tipo, versão, modo do overlay de gama e o universo completo por ativo subjacente) sem autenticação. A resposta traz um ETag forte e Cache-Control: public, max-age=60, stale-while-revalidate=300; envie If-None-Match para receber um 304 Not Modified sem corpo enquanto a política não mudar. Consulte Parâmetros de risco PM.
  • Compressão WebSocket em produção: a negociação permessage-deflate descrita em 30 de setembro agora está habilitada na configuração de produção. Clientes que não oferecem a extensão não são afetados.

Sem nova release - 5 de outubro de 2026​

Adicionado​

  • Nenhuma mudança de rate limit ou de tier foi lançada neste período; os rate limits não mudaram, e os novos envios de perpétuos via TEE contam contra o manager da Account como os demais envios de ordens de perpétuos. Nenhum endpoint foi descontinuado.
  • Rotas de gatilho e lote para perpétuos via TEE: POST /v1/tee-perp/orders/submit-trigger envia um stop-loss ou take-profit nativo, e POST /v1/tee-perp/orders/submit-batch envia uma ordem agrupada (na, normalTpsl ou positionTpsl). Ambas usam a mesma assinatura EIP-712 por app-key de POST /v1/tee-perp/orders/submit, passam pela mesma verificação de portfolio margin e sempre carregam o builder code da Hypercall.
  • Preview de perpétuos via TEE: POST /v1/tee-perp/preview executa a verificação de margem para uma ordem, lote ou mudança de alavancagem sem gravar no journal, reservar nonces ou chamar o enclave, e retorna a decisão, um reasonCode estável, os valores de margem, os preços de liquidação da venue e um maxSize obtido por bisseção. As respostas de envio de ordem, lote e alavancagem agora trazem o mesmo reasonCode. Consulte reason codes.
  • Mercados de perpétuos via TEE: GET /v1/tee-perp/markets lista os mercados de perpétuos que a Hypercall aceita e seus índices de ativo. Todo mercado que tenha um feed de preço da Hypercall, uma grade de cenários PM e um mercado da Hyperliquid com margem em USDC é aceito em todas as rotas TEE. Qualquer outro mercado é recusado com market_not_supported.
  • Lembrete sobre rotas: as rotas TEE são opcionais no nível da API: os clientes de API as escolhem chamando os endpoints /v1/tee-perp/, e as ordens que não as usam passam pelo caminho de diretivas do contrato da conta. No app da Hypercall, a TEE é a rota padrão para perpétuos, com a rota via smart contract disponível como configuração avançada em Configurações.

Alterado​

  • IDs de requisição escolhidos pelo cliente devem ser UUIDv7s novos. POST /v1/tee-perp/cancels/submit-prepared (tanto nonceReservationRequestId quanto requestId) e POST /liquidation/standard-margin (request_id) retornam 400 quando o ID da requisição não é um UUIDv7 (por exemplo, um v4 de crypto.randomUUID()), quando seu timestamp embutido tem mais de 1 hora, ou quando está mais de 30 segundos no futuro. Gere um novo UUIDv7 para cada nova requisição e reutilize-o apenas para repetir essa mesma requisição dentro da hora.
  • Repetições de ordens, cancelamentos e alterações de alavancagem TEE que atravessam esta release são rejeitadas. As identidades atribuídas pelo servidor para POST /v1/tee-perp/orders/submit, POST /v1/tee-perp/cancels/submit, POST /v1/tee-perp/cancels/submit-by-oid, POST /v1/tee-perp/schedule-cancel/submit e POST /v1/tee-perp/leverage/submit mudaram nesta release. Repetir uma requisição enviada pela primeira vez antes da atualização retorna 400 por nonce reutilizado, em vez da aceitação original; a requisição original continua valendo. Assine e envie uma nova requisição com um nonce novo.
  • Os tamanhos das pernas de RFQ são verificados quanto à precisão no envio: um tamanho de perna de RFQ com mais de 6 casas decimais (mais fino que 0.000001) é rejeitado quando o RFQ é enviado, e o erro informa o maior tamanho executável para o qual arredondar para baixo. Antes, o RFQ era aceito e todas as cotações dos makers falhavam, então os takers viam um timeout genérico de ausência de cotações. O hash assinado das pernas não mudou: arredonde o tamanho você mesmo antes de assinar.

Sem nova release - 4 de outubro de 2026​

Adicionado​

  • Alavancagem de perpétuos via TEE: POST /v1/tee-perp/leverage/submit altera a alavancagem por mercado e o modo cross ou isolated pela rota TEE, usando a mesma regra de margem da admissão de ordens. Uma alteração recusada retorna um reasonCode estável, como insufficient_margin ou leverage_requires_flat_account.

Sem nova release - 2 de outubro de 2026​

Adicionado​

  • Rotas de cancelamento e cancelamento agendado para perpétuos via TEE: POST /v1/tee-perp/cancels/submit (por ID de ordem do cliente), POST /v1/tee-perp/cancels/submit-by-oid e POST /v1/tee-perp/schedule-cancel/submit (dead-man's switch) estão disponíveis na rota TEE.

Nenhuma nova versão - 30 de setembro de 2026​

Adicionado​

  • Compressão de WebSocket: /ws suporta permessage-deflate da RFC 7692 com server_no_context_takeover, habilitado por ambiente. Clientes que oferecem a extensão recebem mensagens maiores comprimidas; clientes que não oferecem não são afetados. Consulte Compressão.
  • Dados de mercado indicativos em lote: o novo canal indicative_market_data_v2 entrega as linhas de indicative_market_data como frames IndicativeMarketDataBatch, cada um contendo as linhas publicadas dentro de uma janela de lote (25 ms por padrão), em ordem e sem consolidação. Sua confirmação é {"type":"Subscribed","channel":"indicative_market_data_v2","batch":true}; sem esse marcador, volte para indicative_market_data, que permanece inalterado. As linhas chegam com até uma janela de atraso. Com permessage-deflate, os frames em lote são cerca de cinco vezes menores do que linhas comprimidas uma a uma. Consulte Entrega em lote. O campo de assinatura "batch": true, de vida curta, foi removido; os servidores o ignoram.
  • Canais desconhecidos são rejeitados: um Subscribe para um canal que não existe agora retorna {"type":"Error","code":"unknown_channel","channel":"<name>","message":"Unknown channel '<name>'"} em vez de uma confirmação Subscribed seguida de silêncio. As mensagens Error ganham os campos opcionais code e channel. Canais descontinuados mantêm o erro existente.
  • Cliente Rust: WsClient::subscribe_indicative_market_data(symbols) assina indicative_market_data_v2 e volta para indicative_market_data quando o servidor confirma sem o marcador de lote ou rejeita o canal. Desative com WsClient::with_batched_indicative(false) e encerre com WsClient::unsubscribe_indicative_market_data(), que funciona em qualquer canal que tenha sido resolvido. Mudança incompatível (pré-1.0): o argumento batch do método foi removido, WsMessage::Subscribe perde seu campo batch, e WsMessage::Subscribed e WsMessage::Error ganham campos opcionais, portanto literais de struct e padrões exaustivos precisam ser atualizados.

Alterado​

  • Mudança incompatível: margem de portfólio exige uma conta HyperCore unificada. POST /margin-mode com portfolio agora falha com 400 e código pm_account_not_unified, a menos que o HyperCore reporte a Account no modo unifiedAccount. Habilite-o primeiro com a diretiva hl_set_abstraction, aguarde a confirmação e tente novamente. Uma Account PM não unificada nunca poderia ser avaliada, então isso substitui uma falha posterior e opaca.
  • GET /portfolio explica a ausência do feed de patrimônio PM. Quando uma Account em margem de portfólio não tem patrimônio atual no HyperCore, a resposta é 409 pm_account_not_unified se o HyperCore nunca publicou a Account e reporta outro modo, ou um 503 pm_account_equity_pending que pode ser repetido até que um snapshot unificado atual chegue ao engine (indicando o modo do HyperCore quando não for unificado). Outras falhas de avaliação PM mantêm o 503 genérico.
  • O preflight de maker de RFQ separa falhas de precificação. Uma cotação que a venue não consegue avaliar (por exemplo, por falta de uma superfície de volatilidade implícita) agora é rejeitada com o motivo pricing_unavailable em vez de margin_rejected. margin_rejected agora significa apenas uma decisão de margem sobre a conta do maker.

Nenhuma nova versão - 2 de setembro de 2026​

Adicionado​

  • Simulação de risco pública: POST /risk/simulate/portfolio pré-visualiza sobreposições ou substituições de posições precificadas pela marcação. POST /risk/simulate/orders pré-visualiza a admissão financeira de ordens em repouso ou atômicas. Ambos os endpoints usam um único snapshot imutável do engine, suportam Standard Margin e Portfolio Margin, não exigem autenticação e nunca alteram o estado da conta ou do journal. As pré-visualizações de ordens excluem garantias de roteamento, matching, nonce e suspensão de negociação, portanto uma ordem real posterior pode diferir depois que o estado do engine avançar.
  • Linhas de base ordenadas de ordens abertas: POST /risk/simulate/orders aceita o campo opcional hypothetical_open_orders, admite essas ordens sequencialmente como ordens GTC em repouso e reporta seu efeito combinado com a ordem proposta ou o pacote atômico.

Migração de opções da Standard Margin​

Escopo: a Standard Margin reconhece spreads de opções, butterflies e outros portfólios compatíveis dentro de cada ativo subjacente e vencimento. Calendars mantêm grupos de vencimento separados. O financiamento em USDC e as rotas de ordens existentes permanecem inalterados.

Contrato de caixa aditivo: os resumos de portfólio via REST e WebSocket adicionam standard_margin, contendo cash_margin, initial_margin_headroom, maintenance_margin_headroom e diagnósticos de vencimentos compatíveis. Os campos existentes initial_margin e maintenance_margin mantêm seus significados históricos derivados do NAV. Use os campos explícitos de folga em caixa para admissão e liquidação na SM. Detalhamentos ausentes significam que o recurso está indisponível, não risco zero.

Mudança incompatível na semântica de posições: margin_posted e maintenance_margin por posição são diagnósticos isolados, anteriores à proteção de grupo. Não os some para obter requisitos da conta nem para estimar o custo de fechar uma perna. Use os requisitos da conta e o detalhamento agrupado.

Mudança incompatível em campo anulável: posições de opções na SM agora retornam liquidation_price: null nas mensagens de portfólio via REST e WebSocket. Atualize decodificadores que exigem uma string decimal e exiba um preço indisponível ou a folga da conta. Retornar o preço anterior representaria de forma incorreta o risco de liquidação agrupado. Essa mudança exige uma transição coordenada entre backend e cliente; não é uma alegação de compatibilidade com decodificadores antigos e rígidos.

Migração de clientes: atualize o frontend e os consumidores automatizados de risco antes de retomar a negociação contra o novo backend. Cancele e confirme a remoção das cotações antigas do maker e, em seguida, pare o maker antigo. Inicie o maker atualizado somente com o novo detalhamento de caixa disponível. Novas versões do maker param de cotar quando esse contexto está ausente; versões mais antigas usam o NAV para a utilização e não são adequadas para as novas regras de risco baseadas em caixa. Não execute versões mistas do backend para as mesmas contas de negociação.

Bibliotecas Rust: os preços de liquidação das posições de portfólio tornam-se opcionais e os resumos de margem adicionam um campo público de detalhamento, exigindo as atualizações correspondentes em literais de struct. As assinaturas existentes das funções auxiliares de margem derivadas do NAV permanecem inalteradas; consumidores de risco que consideram o caixa devem usar o contrato explícito da SM. A biblioteca do liquidador também exige a folga autoritativa de maintenance_margin em snapshots de margem serializados e em candidatos construídos. Reconstrua esses snapshots a partir de leituras atuais; não infira a folga de caixa ausente a partir do NAV salvo.

Validação: consumidores próprios distinguem PM de SM, a ausência de contexto de caixa interrompe decisões automatizadas de risco e os formatos de requisição e assinatura de ordens permanecem inalterados. Esta entrada não lançada não estabelece implantação nem uma transição suportada com versões mistas.


Nenhuma nova versão - 15 de agosto de 2026​

Adicionado​

  • Volume de ativos da coleção: GET /accounts/{wallet}/collection agora retorna o notional canônico exato acumulado de cada ativo subjacente como uma string decimal no campo aditivo assets[].volume.

Sem nova versão - 14 de agosto de 2026​

Avisos de descontinuação​

  • Campo de nome de usuário do perfil descontinuado: O campo username na resposta do GET /profile da API Rust está descontinuado e poderá ser removido em ou após 7 de setembro de 2026. Leia os nomes de usuário selecionados em GET /username?wallet=... na Analytics API. Se esse endpoint retornar 404, derive adjective_noun.xx localmente a partir da carteira canônica. As respostas bem-sucedidas de /profile agora incluem os cabeçalhos Deprecation, Sunset, X-Deprecation-Removal-Unix e Warning durante a janela de migração.
  • Campos legados restantes de nome de usuário nas respostas: O campo username nas respostas legadas de GET /username e POST /username da API Rust, além das respostas de leaderboard de competições, continua sujeito a remoção conforme o cronograma de 20 de agosto de 2026. O contrato de GET /username e POST /username assinado da Analytics API é o substituto para nomes de usuário selecionados. Clientes de leaderboard devem derivar localmente os nomes de exibição adjective_noun.xx a partir de wallet ou wallet_address canônico quando não houver um nome selecionado. O algoritmo determinístico de nome de conta abaixo é normativo.

Algoritmo determinístico de nome de conta​

Entrada: Remova os espaços e converta para minúsculas uma carteira EVM canônica. O valor deve corresponder a ^0x[0-9a-f]{40}$. Uma entrada inválida produz Unknown.

Listas ordenadas de palavras: Preserve exatamente esta ordem.

adjectives = [swift, silent, long, short, deep, wide, sharp, calm, cold, quiet, bold, thin, idle, vivid, grim, amber, slate, rapid, steady, hollow, rogue, plain, lucky, brisk, stark]
nouns = [theta, vega, gamma, delta, rho, basis, carry, skew, strike, tenor, vol, wick, candle, ladder, condor, collar, straddle, strangle, butterfly, spread, hedge, premium, tick, lot]

Função de hash: Use FNV-1a de 32 bits sobre os bytes ASCII. Toda multiplicação faz wrap para um inteiro sem sinal de 32 bits, equivalente a Math.imul(hash, 0x01000193) >>> 0 em JavaScript.

fnv1a32(value, seed = 0x811c9dc5):
hash = uint32(seed)
for byte in ascii(value):
hash = uint32(hash XOR byte)
hash = uint32(hash * 0x01000193)
return hash

wallet = trim(input).lowercase()
adjective_hash = fnv1a32(wallet)
noun_hash = fnv1a32(wallet + "#2", adjective_hash)
adjective = adjectives[adjective_hash modulo 25]
noun = nouns[noun_hash modulo 24]
suffix = last 2 characters of wallet
display_name = adjective + "_" + noun + "." + suffix

Vetores de teste:

CarteiraNome de exibição
0x000000000000000000000000000000000000002avivid_candle.2a
0xd9fe4c6bf4271fd685409cd01b7eece052c886c8silent_theta.c8

Adições​

  • API pública de badges: O Worker de analytics agora serve o registro de badges em GET /badges, os detentores paginados em GET /badges/{slug}, o estado por conta em GET /badges/accounts/{wallet} e lotes compatíveis com cache de até 100 carteiras em GET /badges/accounts?wallet=.... Pódio e volume histórico total usam as gerações materializadas do leaderboard. A elegibilidade de fundador fica congelada para contas vistas pela primeira vez antes de 1º de agosto de 2026 UTC. As contagens de mensagens do Trollbox vinculadas a carteiras são atualizadas a cada hora e mantêm os níveis conquistados mesmo depois que uma mensagem é excluída.
  • Conquistas de sequência e coleção no perfil: GET /accounts/{wallet}/streak?days=14|61|365 retorna o calendário de sequência. GET /accounts/{wallet}/collection retorna a grade independente de ativos da coleção, sem parâmetro de janela de tempo. A sequência conta dias UTC consecutivos com um fill qualificado. A coleção conta os ativos subjacentes distintos negociados e os compara com o catálogo listado atual. Self-matches resolvidos não contam. Uma coleção Completa continua conquistada mesmo que o catálogo cresça depois.
  • Nomes Hyperliquid nas linhas do leaderboard: As linhas data[] retornadas pelos endpoints de leaderboard de competição e histórico total agora incluem o campo anulável hyperliquid_name. O Worker de analytics resolve nomes apenas para as carteiras da página retornada, agrupa as chamadas à HyperEVM em lotes e mantém em cache resultados positivos e negativos por dez minutos. Esse campo é separado do username gerado e descontinuado. Os clientes podem dar preferência a ele quando não for nulo e, caso contrário, usar o nome determinístico de conta.

Sem nova versão - 3 de agosto de 2026​

Mudanças incompatíveis​

  • Imagens de perfil removidas da API Rust: POST /profile/image não está mais disponível, e GET /profile não retorna mais profile_image_url.

Sem nova versão - 29 de julho de 2026​

Mudanças incompatíveis​

  • Endpoint REST de candles removido: GET /candles não está mais disponível e agora retorna 404. Os clientes devem parar de chamar esse endpoint.
  • Entrega de candles via WebSocket descontinuada: A Hypercall não publica mais mensagens CandleUpdate nos canais candles:<UNDERLYING>:<RESOLUTION>. Os clientes devem parar de assinar esses canais. Não há um stream de candles substituto disponível nesta versão.

Sem nova versão - 27 de julho de 2026​

Adições​

  • Horário de publicação indicativo: todo payload WebSocket indicative_market_data agora inclui published_at, o timestamp em milissegundos, segundo o relógio da API, de quando esse payload foi enviado. Use published_at - rfq_provider_quotes[].updated_at para medir a idade da cotação do provedor no momento da publicação. Não compare nenhum desses valores com o relógio de parede do cliente. O timestamp existente continua sendo o horário de atualização do agregado de origem.
  • Relógio de transporte do WebSocket: clientes que precisam de uma duração conservadora entre publicação e recebimento podem enviar {"type":"ClockSync","nonce":"<client nonce>"} e aguardar {"type":"ClockSynced","nonce":"<same nonce>","server_at":<API milliseconds>} antes de assinar. Combine a amostra da API com o tempo decorrido monotônico do cliente. Não compare server_at com o relógio de parede do cliente.

Sem nova versão - 22 de julho de 2026​

Adições​

  • Direção do trade no histórico público: todo trade retornado por GET /trades agora inclui taker_side como Buy ou Sell. O lado maker é sempre o oposto.
  • Paginação por cursor para trades: passe after_trade_id para GET /trades para buscar trades mais recentes em ordem crescente de trade_id. Continue a partir do último ID retornado. O modo cursor não pode ser combinado com offset, option_id, underlying ou account; as consultas existentes com offset e filtros permanecem inalteradas.

Nenhuma nova versão - 20 de julho de 2026​

Mudanças incompatíveis​

  • Consumidores lentos de WebSocket são desconectados: conexões /ws são encerradas quando qualquer limite de segurança por conexão é ultrapassado. Os limites aplicados são 16.384 mensagens pendentes, 8 MiB de dados pendentes codificados, 5 segundos de idade da fila e 5 segundos para uma única escrita no socket. Esses são limites operacionais de segurança, não garantias de throughput nem promessas de compatibilidade. Uma violação de fila, bytes ou idade envia o código de fechamento 1008 com um motivo em JSON compacto contendo error: "slow_consumer", class, cause e recovery. Uma conexão que não consegue aceitar nem mesmo o frame de fechamento pode ser encerrada sem um motivo legível. Ainda não há cursor de replay disponível. Os clientes devem reconectar, autenticar novamente quando necessário, refazer as assinaturas e seguir a ação de recuperação: buscar novamente um snapshot para dados públicos ordenados, reconciliar eventos privados duráveis via REST ou buscar novamente o estado do portfólio. Os clientes não devem presumir entrega ininterrupta durante uma reconexão. A rota de ingresso de provedores de cotação /ws/quotes é separada e não foi alterada.
  • Atualizações indicativas sem alteração são agrupadas: indicative_market_data não emite mais toda atualização de cotação que altera apenas o timestamp. Quando os preços, tamanhos e a disponibilidade do provedor não mudam, cada instrumento emite no máximo uma atualização de frescor por segundo. Mudanças financeiras de preço ou tamanho e remoções de provedores continuam sendo publicadas imediatamente. Clientes que usavam cada timestamp de origem como um evento devem usar o snapshot mais recente recebido.
  • Comandos WebSocket compartilham os limites de taxa do REST dentro de um mesmo processo de API: os comandos assinados PlaceOrder, SubmitRfq, SubmitAutoExecuteRfq e AcceptRfqQuote via /ws agora usam o mesmo RateLimitCache em memória por carteira que seus equivalentes REST naquele processo de API. Os limites não valem para todo o cluster, e réplicas diferentes da API mantêm janelas independentes. A carteira só é contabilizada após a recuperação da assinatura e a autorização do agente, portanto informar outra carteira não consome o limite dela. Um pod dedicado de entrega WebSocket não contorna esses limites. Comandos WebSocket acima do limite retornam uma mensagem Error em vez de cabeçalhos HTTP de limite de taxa.

Correções​

  • Backpressure de memória no WebSocket: o caminho do proprietário do socket agora mantém a contabilização da fila desde a admissão até a conclusão da escrita no socket. Ele registra bytes codificados, idade da fila, tempo de serialização, bytes reais do frame, latência entre publicação e escrita, falhas de escrita e fechamentos por pressão por classe de entrega.
  • Largura de banda indicativa duplicada: snapshots indicativos repetidos da cadeia completa com campos financeiros inalterados são suprimidos antes da distribuição pública.

Nenhuma nova versão - 13 de julho de 2026​

Adições​

  • Códigos de erro da API: respostas de erro JSON HTTP 4xx e 5xx geradas pela API passam a incluir code e message, preservando os campos já existentes. Use o code estável e legível por máquina para ramificar a lógica e message para exibição ou diagnóstico. Veja Erros e motivos de rejeição.

Nenhuma nova versão - 3 de julho de 2026​

Adições​

  • Visibilidade de cotações de provedores de RFQ: GET /options-summary pode incluir as cotações indicativas brutas dos provedores de cotação de RFQ ao passar include_rfq_provider_quotes=true ou o alias retrocompatível rfq_provider_quotes=true. Limite as cotações de provedores por instrumento com rfq_provider_quotes_limit, provider_quotes_limit ou limit.
  • Stream de dados de mercado indicativos: mensagens WebSocket IndicativeMarketData agora incluem rfq_provider_quotes, para que os clientes possam inspecionar o conjunto de cotações indicativas de RFQ por provedor por trás do bid e ask agregados.

Correções​

  • Parâmetros de consulta do options summary: a referência da API REST agora documenta os novos parâmetros de consulta de cotações de provedores do /options-summary.
  • Cotações de provedores indisponíveis: cotações de provedores de RFQ que não estão mais disponíveis deixam de aparecer prontamente nas respostas de dados de mercado.

Nenhuma nova versão - 26 de junho de 2026​

Avisos de descontinuação​

  • Rota de ordem omitida: PlaceOrder aceita route omitido até pelo menos 4 de julho de 2026. POST /order trata route omitido como best_execution e retorna os cabeçalhos Deprecation, Sunset, X-Deprecation-Removal-Unix e Warning. Os clientes devem enviar route e incluí-lo nos typed data do PlaceOrder. route não se tornará obrigatório antes de 4 de julho de 2026, mas poderá se tornar obrigatório depois.

Adições​

  • Rota de ordem opcional: POST /order agora aceita um campo route opcional e assinado em PlaceOrder. Os clientes podem enviar best_execution, book_only ou rfq_only. Um route omitido assume como padrão o comportamento atual de best_execution durante a janela de descontinuação programada.
  • Rota de ordem somente livro: os clientes podem enviar route=book_only para pular a descoberta de RPI/RFQ e despachar diretamente para o livro de ofertas. route=best_execution mantém o comportamento existente de RPI seguido do livro. route=rfq_only está reservado e atualmente é rejeitado em /order até que a semântica de histórico de ordens somente RFQ seja implementada.
  • Validação de rota em ordens em lote: POST /bulk_order suporta route=book_only para requisições com rota. Um route omitido mantém o comportamento existente somente livro. route=best_execution e route=rfq_only são rejeitados em lote porque o endpoint de lote não executa o roteamento de RPI/RFQ.

Nenhuma nova versão - 25 de junho de 2026​

Correções na documentação​


Nenhuma nova versão - 10 de junho de 2026​

Correções na documentação​

  • URLs base da referência da API: corrigida a Referência da API REST gerada para listar os ambientes públicos como https://testnet-api.hypercall.xyz para testnet e https://api.hypercall.xyz para produção.

Nenhuma nova versão - 10 de junho de 2026​

Correções​

Execução​

  • Execuções de RPI com livro vazio: o RPI de perna única agora trata o limite do usuário como teto ou piso de execução quando não há liquidez executável no livro. Respostas de melhoria de preço elegíveis no limite exibido podem ser executadas em vez de rejeitadas por não melhorarem o próprio limite. Se houver liquidez executável no livro, os provedores de cotação ainda precisam melhorar esse preço do livro em pelo menos um tick. Veja Prioridade de ordens.
  • Respostas de provedores de cotação: respostas de RFQ agora seguem a mesma regra de preço limite da API. Cotações naturais no limite do tomador são aceitas quando não existe referência no livro, enquanto cotações fora do limite do tomador ou que não melhoram a liquidez executável do livro continuam sendo recusadas.

Trollbox​

  • Roteamento na mainnet: o Trollbox de produção agora aponta para o worker da mainnet, então o chat do app usa o ambiente ativo do Trollbox.

Nenhuma nova versão - 1º de junho de 2026​

Veja também: Post de lançamento da mainnet

Mudanças incompatíveis​

  • Ambiente mainnet: clientes de produção devem usar o app, a API, os chain IDs, os endereços de contrato e o domínio de assinatura configurados para a mainnet. Não reutilize assinaturas da testnet, chaves de API da testnet, chaves de agente da testnet nem premissas de faucet na mainnet.
  • Escopo de negociação no lançamento: o alpha da mainnet é restrito a fluxo de opções com risco definido. Vendas descobertas (naked shorts), margem de portfólio ampla, financiamento via faucet e caminhos de competição da testnet não estão habilitados para usuários públicos da mainnet.
  • Rota de faucet bloqueada em builds com dinheiro real: caminhos de financiamento exclusivos do faucet não estão disponíveis em builds de produção. Usuários da mainnet depositam USDC pelo fluxo de financiamento do app.

Adições​

Mainnet​

  • Alpha da mainnet: a Hypercall está no ar em app.hypercall.xyz com liquidação real em USDC e opções de SPCX como mercado de lançamento.
  • Mercado de lançamento SPCX: opções da SpaceX estão disponíveis na mainnet com calls, puts, straddles, strangles e spreads de risco definido. Os contratos SPCX da mainnet vencem às 16h00 ET. O mercado usa o mesmo modelo de roteamento de ordens documentado em Prioridade de ordens.
  • Configuração de chain da mainnet: conexão de carteira, assinatura de ordens de opções, endereços de contrato e textos de UI específicos de cada ambiente agora derivam da configuração ativa de mainnet/testnet, em vez de premissas de testnet fixas no código.
  • Controles de negociação em produção: a configuração de lançamento mantém a negociação ativa (sem halt) e preserva parâmetros de risco controlados para o rollout do alpha.
  • API de produção: a API pública de produção está disponível para clientes da mainnet.

Financiamento​

  • Depósitos em USDC: usuários podem depositar USDC em uma conta Hypercall pelo app. O fluxo mostra rota, chain de origem, estado do relay, conta de destino e valor creditado antes e depois do envio.
  • Atribuição de depósitos na Exchange: os eventos de depósito de USDC da Exchange incluem explicitamente a conta creditada, para que os serviços de backend creditem a conta Hypercall pretendida em vez de inferir a titularidade a partir de msg.sender. Veja Contratos: Onboarding.
  • Deposit zaps: o frontend suporta fluxos de bridge e depósito pelo app, incluindo cotação e acompanhamento de status do relay.
  • Saques: o suporte a saques na mainnet passa por system actions e aparece nas ações de financiamento da conta.
  • Seleção de rota de depósito: as ações de depósito escolhem a rota ativa a partir da configuração do contrato, permitindo que a mesma UI siga caminhos de financiamento específicos de cada ambiente.
  • Aceite legal: os fluxos de configuração de conta e de financiamento incluem o aceite legal do lançamento, com os Termos de Uso e a Política de Privacidade publicados.

Execução​

  • RPI para ordens de uma perna: opções de uma perna são roteadas pelo leilão de Retail Price Improvement quando elegíveis e voltam ao livro de ofertas quando nenhuma cotação qualificada vence.
  • RFQ para pacotes multi-perna: pacotes de estratégias multi-perna são roteados via RFQ para execução tudo-ou-nada. Ordens dual-mode em produção dão preferência ao RFQ quando a execução em pacote é necessária.
  • Taxas no lançamento: as taxas de maker e taker estão desativadas na configuração de lançamento. Veja Taxas.
  • Roteamento de ordens combinadas: ordens combinadas são roteadas pelos caminhos RPI/RFQ do backend, e não por premissas de pacote apenas no frontend.
  • Shorts de provedores de cotação: provedores de cotação registrados podem preencher as pernas vendidas necessárias para liquidez de RFQ/RPI, enquanto o escopo público do lançamento permanece restrito.

Correções​

  • Acesso à página de depósito: as rotas de financiamento de terceiros no host do app e o comportamento do modal de depósito foram desbloqueados para o fluxo de financiamento em produção.
  • Remoção da allowlist de depósitos: o bloqueio por whitelist de depósitos em produção foi desativado para liberar o financiamento no lançamento.
  • Dimensionamento de RFQ: tamanhos de RFQ em modo de custo são arredondados exatamente antes do envio, evitando desvio de precisão fracionária no dimensionamento dos pacotes.
  • Cotações de payoff multi-perna: os gráficos de payoff multi-perna usam o resolvedor de cotações por perna, para que os valores exibidos correspondam ao pacote selecionado.
  • Valores negativos: valores negativos agora são exibidos com sinal explícito nas superfícies de UI do lançamento.
  • Limpeza de endereços de depósito obsoletos: endereços de depósito obsoletos e estado de bridge não utilizado foram removidos após a verificação do lançamento.

Nenhuma nova versão - 22 de maio a 1º de junho de 2026​

Veja também: Post de lançamento da mainnet

Mudanças incompatíveis​

  • Margem de portfólio desativada fora da testnet: ambientes que não são testnet agora rejeitam a configuração de margem de portfólio. O alpha da mainnet usa apenas margem padrão.
  • Normalização de estado de ordens: os rótulos do ciclo de vida das ordens distinguem de forma mais consistente os estados reconhecida/aberta e parcialmente/totalmente executada. Clientes que exibem strings de status brutas devem tratá-los como os estados canônicos voltados ao usuário.

Adições​

Financiamento e contas​

  • Seleção de rota de depósito: o app seleciona as rotas de depósito a partir da configuração ativa do contrato, em vez de premissas de ambiente fixas no código.
  • Exchange deposit zaps: a testnet ganhou o fluxo de bridge e depósito no app que depois chegou à mainnet, incluindo o tratamento de cotação/status do relay.
  • Crédito explícito de depósitos: depósitos de USDC na Exchange creditam a conta indicada no evento de depósito, evitando atribuição ambígua quando um router ou zap envia a transação.
  • Saques padrão em USDC: carteiras padrão podem enviar saques em USDC pelo caminho de API/system action.
  • Bootstrap de margem na configuração da conta: a configuração de chave de API agora inicializa o modo de margem suportado durante o onboarding, reduzindo a chance de uma conta com saldo ficar em um estado de negociação inválido.
  • Configurações de conta centralizadas: preferências e configurações da conta foram normalizadas para que financiamento, chaves de agente, visibilidade do Trollbox e configurações de perfil compartilhem uma única superfície de conta.

Mercados e negociação​

  • Mercados em breve: o app pode exibir cards de mercados "em breve" sem listá-los como mercados negociáveis.
  • Open interest fracionário por ativo: o open interest por ativo exibe valores fracionários em vez de truncar mercados menores.
  • Risco indicativo a partir do catálogo ao vivo: as listas de mercados indicativos de RFQ/risco derivam do catálogo ao vivo, e não de uma lista desatualizada no frontend.
  • Marketability por bid/ask de referência: a entrada de ordens usa dados de bid/ask de referência para decidir se uma ordem é executável a mercado.
  • Uncrossing de IV com fontes mistas: os cálculos de volatilidade implícita no resumo de opções desfazem o cruzamento de preços bid/ask de fontes mistas antes de derivar a IV.
  • Linhas de marcação sticky nativas: as linhas de marcação de estratégias passaram a usar comportamento sticky nativo para uma rolagem mais limpa da cadeia.

UI e conteúdo​

  • Modo escuro: o app recebeu uma revisão completa de modo escuro em toda a superfície de negociação.
  • Estados de interação: os estados de interação do frontend foram refinados para o acabamento do lançamento.
  • Separação entre homepage da Hypercall e Insights: o roteamento web público foi renovado, com o Insights separado em sua própria propriedade e a home do produto apontando para a superfície de negociação ao vivo.
  • Explicação RPI vs RFQ: o artigo sobre execução RPI foi publicado e vinculado aos materiais de lançamento.

Correções​

  • Negociabilidade no marquee: o marquee exibe apenas mercados listados, para que os usuários não vejam ativos não negociáveis como se estivessem ativos.

Sem nova versão - 28 de abril a 21 de maio de 2026​

Veja também: Week 7 Product Update

Mudanças incompatíveis​

  • Superfícies de API não utilizadas removidas: o endpoint /limit_iv, que não era utilizado, e a rota duplicada /profile/username-request foram removidos. Os clientes devem usar as rotas documentadas na Referência da API REST.
  • Fallback de pacotes RFQ restringido: RFQs multi-leg são negociações de pacote e não dependem mais da semântica de fallback para o livro de ofertas na execução arbitrária de múltiplas pernas. Use o envio de ordens de perna única para obter o comportamento de fallback para RPI/livro de ofertas.
  • Chain IDs de assinatura configuráveis: a assinatura de ordens de opções não assume mais um único chain ID de testnet. Os clientes devem derivar a chain de assinatura do ambiente ativo.

Novidades​

Mercados​

  • Mercado SPCX na testnet: opções pré-IPO da SpaceX foram adicionadas à testnet, com vencimentos limitados à data do IPO, em 12 de junho.
  • Filtragem de mercados listados no marquee: os marquees de mercado de produção e staging mostram apenas mercados listados, evitando que ativos indisponíveis apareçam como negociáveis.
  • Modelo de vol de moneyness com reconhecimento de sessão: a modelagem de volatilidade considera o contexto da sessão ao precificar mercados sensíveis a moneyness.

Construtor de estratégias​

  • Construtor de estratégias em 1 clique: estruturas de opções comuns, como straddles, strangles, vertical spreads e iron condors, podem ser selecionadas em uma galeria de estratégias em vez de montadas perna por perna.
  • Construtor avançado: o modo avançado adiciona controles de faixa de strikes, seleção de vencimento distante para estruturas do tipo calendar e construção de estratégias com pernas vendidas.
  • Novo formulário de ordens multi-leg: a entrada de pacotes foi reconstruída com tratamento de cotações por perna, contagem regressiva de expiração de cotações, mensagens de slippage e um fluxo mais limpo para aceitar a melhor cotação.
  • Rótulos e badges de estratégia: os cabeçalhos de estratégia agora mostram rótulos compactos, classificação débito/crédito e nomes mais curtos quando o contexto de ticker ou vencimento já está claro.
  • Indicadores na grade de opções: as visualizações da grade ganharam pills para pernas selecionadas, linhas de mark fixas, rótulos de DTE, setas de ponto de equilíbrio e indicadores de posição nas visualizações de grade, largura e spread.

RPI e RFQ​

  • Retail Price Improvement: ordens de perna única em instrumentos elegíveis passam pelo leilão RPI antes de recorrer ao livro de ofertas. Veja Prioridade de ordens.
  • Stream de risco de RFQ indicativo: atualizações de cotações indicativas e de risco são transmitidas via WebSocket, reduzindo o polling para superfícies de cotação ativas.
  • Builder de alto nível para clientes RFQ: o cliente Rust e a CLI de trade ganharam helpers para construir solicitações de cotação RFQ.

Conta e chaves de agente​

  • Painel de revogação de chaves de agente: as configurações da conta agora listam as chaves de agente ativas com um fluxo de revogação. Veja Autenticação de agentes.
  • Notificações de chaves de agente: usuários com muitas chaves ativas recebem uma notificação de recomendação com link para o painel de revogação.
  • Seleção de chain pronta para mainnet: o chain ID de assinatura, a chain da carteira Privy e o comportamento de troca de carteira agora derivam da configuração do ambiente.

Trollbox​

  • Trollbox no desktop: um painel de chat arrastável está disponível no app desktop, com configurações para exibi-lo ou ocultá-lo.
  • Ponte com o Telegram: mensagens, respostas, mídias, reações, atribuição de encaminhamento, stickers e cards de comandos são sincronizados entre o Trollbox web e o Telegram.
  • Vinculação de conta do Telegram: os usuários podem vincular o Telegram a uma carteira por meio de um fluxo com código de uso único.
  • Deep links e pré-visualizações no Trollbox: links de mensagens têm pré-visualizações OG, imagens de mídia e rotas no app para mensagens compartilhadas.

Perfil e interface​

  • Imagens de perfil: os usuários podem enviar, recortar ou importar imagens de perfil, com avatares padrão determinísticos quando nenhuma imagem é definida.
  • Fluxo de revisão de ordens: a entrada de ordens no mobile ganhou uma etapa de revisão e confirmação por deslize para enviar.
  • Refinamentos de tema e layout: variáveis de tema, rótulos de gráficos, ações rápidas, pills de estratégia e estados de botões foram ajustados no desktop e no mobile.
  • Desempenho: as páginas de ativos e o leaderboard reduziram buscas redundantes e renderizam dados mais úteis já na primeira pintura.
  • Equity de conta unificado: as leituras de margem de portfólio e do feed Hydromancer usam o estado do portfólio para o equity da conta, melhorando a consistência entre as exibições de margem.

Correções​

  • Divergência de unidade de venda por tier: o tratamento de unidades de venda e o rollback de linhas de margem foram corrigidos na admissão de ordens por tier.
  • Configuração de tier na primeira ordem: carteiras sem estado de tier são inicializadas na primeira ordem, em vez de gerar um erro de tier ausente.
  • Instrumentos vencidos: a reconciliação do catálogo agora trata pares put/call ausentes e instrumentos ativos vencidos durante os ticks de vencimento.
  • Estabilidade do Trollbox: heartbeats de WebSocket, roteamento de ambiente, carregamento de avatares, normalização de mídias, persistência de reações e tratamento de desconexão por inatividade foram corrigidos.

Nenhum novo release - 17 a 27 de abril de 2026​

Veja também: Atualização de Produto da Semana 6

Adições​

RFQ​

  • Sistema de negociação por Request for Quote (RFQ): novo modo de negociação para mercados sem liquidez profunda no livro de ofertas. Envie um RFQ, receba cotações em tempo real pelo canal rfq autenticado do WebSocket e aceite ou recuse. Quando nenhuma cotação é recebida, recorre a uma ordem limitada no livro de ofertas. Permite listar rapidamente novos ativos (US500, USOIL, GOLD, HYPE) sem esperar por liquidez orgânica.
  • Modo de execução automática: o novo tipo de assinatura EIP-712 SubmitAutoExecuteRfq pré-autoriza a execução até um preço limite. A primeira cotação elegível dentro do limite é executada imediatamente, em uma única ida e volta. Recorre a uma ordem limitada no livro de ofertas se nenhuma cotação chegar ou se todas excederem o limite.
  • Cards de cotação RFQ: as cotações exibem preços por perna, prêmio líquido total e um temporizador de contagem regressiva até o vencimento. Aceite ou recuse com um clique.
  • Controles de slippage: tolerância de slippage configurável (1%, 2%, 3%, 5%) em relação ao preço indicativo ao enviar um RFQ.

Negociação Multi-Perna​

  • Construtor de ordens de opções multi-perna: clicar em uma opção na cadeia a adiciona como perna em um formulário de ordem RFQ multi-perna. Várias pernas se acumulam; o botão X remove pernas individuais. As pernas ficam salvas na URL (?legs=), então ordens multi-perna sobrevivem a recarregamentos e podem ser compartilhadas.
  • Detecção automática de estratégia: detecta e rotula 28 tipos de estratégia: Bull/Bear Call/Put Spread, Long/Short Straddle, Long/Short Strangle, Calendar Spread, Diagonal Spread, Iron Condor, Iron Butterfly, Call/Put Butterfly, Call/Put Condor, Risk Reversal, Collar, Synthetic Long/Short, Ratio Spread, Backspread, Box Spread, Jade Lizard, Seagull, Broken Wing Butterfly, Split-Strike Conversion. Os nomes das estratégias levam à documentação.
  • Payoff, gráfico e gregas combinados: a visão multi-perna mostra um diagrama de payoff combinado, um gráfico de preço teórico combinado (soma dos preços teóricos de todas as pernas) e gregas agregadas (delta, gama, teta, vega) com ajuste de sinal para pernas vendidas.
  • Alternância entre gregas do contrato e da estratégia: alterne entre gregas por contrato e agregadas no nível da estratégia no painel inferior.
  • Máximo de pernas aumentado para 10: antes eram 4.

Liquidação​

  • Sistema de liquidação em duas fases: liquidação parcial por meio de ordens de fechamento IOC gerenciadas pelo backend, escalando para liquidação total via leilão on-chain quando a liquidação parcial é insuficiente.
  • Aba Liquidações: nova aba no painel inferior que mostra os eventos de liquidação da carteira conectada.
  • GET /liquidations: histórico público de transições de liquidação, paginado por cursor, usado por bots de liquidação de terceiros para descobrir candidatos.
  • Bot liquidante de exemplo: novo crate liquidator que demonstra o monitoramento de liquidações de margem padrão e ordens de liquidação assinadas da Hypercall.

UI​

  • Atribuição de P&L no gráfico de patrimônio: ative o ícone de camadas para ver áreas empilhadas por posição no gráfico de patrimônio. Uma decomposição em barras horizontais abaixo do gráfico agrupa as posições por ativo subjacente, mostra o P&L realizado por símbolo e permite filtrar por checkbox para isolar ou ocultar posições individuais. Passar o cursor (crosshair) atualiza a decomposição. Veja o guia desktop.
  • Painel de mercados expansível com breadcrumbs: o painel de mercados à esquerda se recolhe para dar mais espaço à área de negociação. Os breadcrumbs mostram o contexto de navegação (por exemplo, Ativos > BTC > Opções).
  • Sino de notificações: substitui o megafone de anúncios. Dropdown com abas Notificações (execuções) e Anúncios. O indicador de não lido aparece já na primeira renderização via SSR. O estado de dispensado por carteira fica salvo no localStorage.
  • Menu da conta ao passar o cursor: passar o cursor sobre o botão de perfil mostra um dropdown com patrimônio, P&L, poder de compra e número de posições. Usuários que ainda não definiram um nome de usuário veem o convite "Escolher nome".
  • Ajuda na navegação: botão de ajuda na barra de navegação com link para a documentação.
  • Indicador de serviço indisponível: indicador vermelho no cabeçalho quando o backend está inacessível.
  • Indicador de posição no leaderboard: badge de posição ao vivo na barra de navegação (substitui o link do leaderboard), com indicadores de variação que mostram mudanças de posição conforme você negocia.
  • Páginas de detalhe de posições liquidadas: visão detalhada por posição com gráfico de preço teórico, execuções individuais, decomposição do P&L realizado e nomes amigáveis de instrumentos (por exemplo, "BTC $55,000 Call Apr 14").
  • Imagens dinâmicas de prévia social: imagens OG geradas para todas as páginas compartilháveis: instrumentos (gráfico teórico + gregas), estratégias multi-perna (diagrama de payoff + nome da estratégia), perfis (estatísticas de P&L + posição), leaderboard (top 5 com medalhas) e confirmações de negociação.
  • Barra de navegação desktop reestruturada: rodapé removido, botão de conectar movido para o cabeçalho, indicadores de atalhos de teclado (Ctrl+K) visíveis.
  • Corrigido o corte de preço no cabeçalho do gráfico: os preços não transbordam mais nos cabeçalhos de gráfico no desktop.

PWA​

  • Migração para a rota raiz: todas as rotas foram consolidadas de /mobile/* para a raiz /*. Os caminhos legados /mobile/* redirecionam automaticamente. Esquema de URL unificado entre desktop e mobile.
  • Fluxo de atualização do PWA no iOS: usuários que instalaram o antigo PWA /mobile veem um modal de atualização em estilo nativo, com instruções passo a passo de instalação no iOS (Compartilhar > Ver Mais > Adicionar à Tela de Início), usando a iconografia oficial da Apple.
  • Splash screens no iOS e preload de navegação: mais de 12 splash screens específicas por dispositivo eliminam o flash branco na inicialização a frio. O preload de navegação busca a página enquanto o service worker inicializa.
  • Atalhos do app: pressione e segure o ícone na tela de início para acesso rápido a Portfólio e Depósito.
  • Bloqueio de suspensão da tela: mantém a tela ligada durante sessões de negociação no modo PWA standalone. Readquire automaticamente ao retomar o app.
  • Armazenamento persistente: solicita navigator.storage.persist() para evitar que o navegador descarte os recursos do app em cache.

API​

  • instrument_type nos eventos do WebSocket: os eventos de execução e de atualização de ordem agora incluem instrument_type ("option" ou "perp"). Adição retrocompatível.
  • Filtro ?symbol= em GET /profile/trades: filtra o histórico de negociações por símbolo do instrumento. Reduz o payload para traders de alto volume que consultam instrumentos específicos.
  • Execuções de perpétuos encaminhadas via WebSocket: as execuções de perpétuos da Hydromancer agora são publicadas no feed do WebSocket (antes ausentes).
  • AcceptRfqQuote e PlaceOrder via WebSocket: o ciclo de vida completo da ordem (enviar RFQ, receber cotações, aceitar, colocar ordem) agora pode rodar em uma única conexão WebSocket, sem nenhuma chamada REST.
  • Campo fills em PerpOrderResult: o SDK em Rust agora retorna as execuções diretamente nas respostas de ordens de perpétuos. Campos: coin, side, size, price.

Correções​

  • Ordens fantasma IOC/FOK: ordens IOC e FOK parcialmente executadas deixavam a quantidade restante no livro de ofertas como ordens fantasma. Agora o restante é cancelado imediatamente após a execução parcial, e o status é definido como Canceled em vez de PartiallyFilled.
  • Reserva de prêmio em compras de fechamento: ordens de compra que fecham uma posição vendida reservavam prêmio indevidamente, drenando o patrimônio e disparando liquidações falsas. A reserva de prêmio agora é ignorada para ordens de compra que fecham posição.
  • Cadeias vencidas após deploy: cadeias de opções vencidas apareciam brevemente como Active ao reiniciar o servidor. Os instrumentos agora são verificados contra os timestamps de vencimento no carregamento e marcados imediatamente como ExpiredPendingPrice.
  • Fallback de RFQ sem cotações: RFQs com execução automática que não recebiam cotações elegíveis mostravam um erro. Agora recorrem à colocação de uma ordem limitada no livro de ofertas.
  • Precisão dos maiores movimentos no letreiro: os maiores movimentos na barra de cotações agora derivam do cache de resumo de opções, usando a variação do preço teórico em relação ao teórico de 24h, filtrada apenas para opções cotadas. Antes usavam dados brutos de BBO, que geravam valores ruidosos ou desatualizados.
  • price_change no resumo de opções: a referência de BBO para o cálculo de variação de preço agora usa apenas o bid do livro de ofertas, substituindo o fallback de mark vs. teórico que podia gerar números enganosos.

Sem nova versão - 14 a 16 de abril de 2026​

Mudanças incompatíveis​

  • PUT /order e PUT /bulk_order: novos endpoints de substituição atômica de ordens. Cancelam a ordem existente e colocam uma nova no mesmo tick do motor. Se o cancelamento falhar (ordem já executada ou não encontrada), a nova ordem não é colocada. Usam o novo tipo de assinatura EIP-712 ReplaceOrder. Clientes que usam o padrão antigo de cancelar e depois colocar devem migrar.

Adições​

API​

  • GET /profile/realized-pnl: retorna o PnL realizado por símbolo, agregado a partir de execuções e liquidações. Aceita o parâmetro opcional competition_id para restringir os resultados à janela de uma competição.
  • Campo realized_pnl em GET /profile/trades: cada linha de execução agora inclui o PnL realizado atribuído àquele trade específico.
  • net_deposits e componentes de atribuição em GET /profile/historical-pnl: os pontos históricos de snapshot de patrimônio agora incluem depósitos líquidos acumulados e detalhamentos de atribuição de P&L.
  • Campo prev_day_px em GET /markets: o payload de mercados agora inclui o preço de referência do dia anterior por instrumento.

UI​

  • Megafone de anúncios: ícone de megafone nos cabeçalhos desktop e mobile com badge de contagem de não lidos. Ao clicar, abre um popover listando os anúncios (título, corpo, data, imagem/link opcional). Estado de lido/dispensado por carteira.
  • Editar e substituir ordens: no desktop, ícone de lápis nas ordens abertas para edição inline de preço/tamanho; o check envia, o X cancela, e a linha fica destacada em âmbar durante a edição. No mobile, tocar em uma ordem exibe os botões Cancelar e Atualizar.
  • Posições liquidadas na página do membro: nova seção "Posições liquidadas" entre Posições e Histórico de trades. Mostra o PnL realizado por símbolo de opções vencidas e trades encerrados, com coloração verde/vermelha. Veja Settlement para entender como as opções são liquidadas.
  • Coluna de PnL realizado no histórico de trades: exibe o PnL realizado por execução com codificação de cores; execuções que abrem posição mostram um traço.
  • Gerenciamento de chaves de API não pisca mais ao carregar: a lista de agentes é renderizada imediatamente, em vez de aparecer de repente após o carregamento da página.
  • Tabela de posições vazia oculta: quando o usuário não tem posições abertas, a seção de posições é ocultada por completo, em vez de mostrar cabeçalhos de tabela vazios.
  • Botões de conexão no estado vazio: restaurados os botões de conexão de carteira que faltavam nas telas de estado vazio.

PnL​

  • P&L agora é líquido do prêmio pago: o PnL realizado agora considera o prêmio pago para abrir a posição. Antes, mostrava apenas o payout bruto. Exemplo: uma carteira que antes mostrava +162Krealizadosagoramostracorretamente+162K realizados agora mostra corretamente +27K após considerar $135K de prêmio pago.
  • Opções liquidadas agrupadas por ativo subjacente: a atribuição não lista mais cada símbolo vencido individualmente; as posições liquidadas são agrupadas em blocos por ativo subjacente (por exemplo, "BTC (settled)").
  • Patrimônio ao vivo não cai mais a zero para posições OTM: corrigida a quebra em que o valor de posições fora do dinheiro (OTM) caía abruptamente a zero na ponta ao vivo do gráfico de patrimônio.
  • Atribuição visível para carteiras apenas com posições vencidas: carteiras sem posições abertas, mas com opções liquidadas, agora mostram corretamente a atribuição de PnL.

Correções​

  • GET /profile retornando 500: corrigido para carteiras com dados agregados incompletos.
  • PnL não realizado desatualizado após reinício do servidor: os portfólios agora são reprecificados imediatamente no reinício, em vez de aguardar a próxima atualização de marcação.
  • Erro de um dia no DTE nos diagramas de payoff: corrigido o cálculo de dias até o vencimento que deslocava as linhas de ponto de equilíbrio e de perda máxima.
  • Roubo de foco: corrigido o roubo de foco durante interações na UI.
  • Melhorias na renderização de gráficos: diversas correções de exibição de gráficos.

Sem nova versão - 11 a 13 de abril de 2026​

Adições​

Notificações push​

Trading​

  • Aba Greeks (desktop): nova aba no painel inferior mostrando, por posição, delta, gama, teta, vega, rho e IV. Os cabeçalhos das colunas têm tooltips com links para a referência de Greeks. Linhas de subtotal por ativo subjacente; total do portfólio quando as posições abrangem vários ativos subjacentes.
  • Colunas ordenáveis no leaderboard: as colunas de lucro, volume e eficiência no leaderboard agora são clicáveis para ordenação.
  • Melhorias no formulário de ordens: seletores rápidos de quantidade, tooltips aprimorados, dimensionamento responsivo.
  • Gráfico de PnL na página do membro: os perfis de membros agora mostram um gráfico de patrimônio ao longo do tempo.
  • Estatísticas HC/HL movidas para o painel lateral: as estatísticas da HyperCore e da HyperLiquid foram movidas para um painel lateral.
  • Linhas de ordens com tamanho zero removidas: a lista de ordens não exibe mais ordens com tamanho zero.

Ghost Mode​

  • Ghost mode: usuários não autenticados podem navegar por mercados, livros de ofertas e gráficos sem conectar uma carteira. A página de configurações também fica acessível sem autenticação. Veja o guia do desktop para mais detalhes.
  • Favicons dinâmicos por ativo: o ícone da aba do navegador mostra um anel verde com o ícone do ativo ativo. Variantes de call/put são exibidas ao visualizar opções.

Gráficos​

  • Visualização da superfície de volatilidade: visualizador 3D interativo da superfície de volatilidade em /risk/vol-surface para todos os ativos subjacentes listados. Veja Oráculos para entender como as superfícies de volatilidade são obtidas.
  • Gráfico do portfólio com intervalo padrão de 5 minutos: renderização mais suave em contas mais novas (visão de 8H em vez de 4D).
  • Gráfico atualiza ao mudar preferências: alternar o modo do gráfico nas preferências agora tem efeito imediato, sem recarregar a página.

API​

  • Filtro de vencimento em GET /options-summary: passe ?expiry=YYYY-MM-DD para restringir a resposta a um único vencimento.

Conta​

  • Nomes de exibição de usuário: carteiras podem definir um nome de exibição mostrado no leaderboard e nas páginas de membros. Os nomes entram em vigor instantaneamente (sem revisão de moderador). Editável inline tanto nas Configurações do desktop quanto nas configurações do mobile.

Correções​

  • Lados bid/ask invertidos em algumas ordens: corrigida a atribuição incorreta de lado que dependia da direção da ordem on-chain.
  • Tempo de carregamento da cadeia de opções reduzido em ~60%: carregamento mais rápido via filtragem por vencimento na API e dados de gráfico pré-carregados para os strikes visíveis.
  • Troca de mercado agora é instantânea: sem recarregar a página inteira ao trocar de ativo subjacente no desktop.
  • Crash ao trocar de tenor no desktop: corrigidos o crash e a lentidão ao alternar entre tenores de opções.
  • Rolagem da página de conta no desktop: conteúdo longo do histórico de trades agora rola corretamente.
  • 404 em /preferences no mobile: a página de preferências agora é acessível no mobile.
  • Poder de compra atualiza após depósito: o saldo agora é atualizado imediatamente após um depósito pelo faucet da testnet, sem precisar atualizar a página.
  • Bloqueio de trade exibido quando o agente não está configurado: mostra ações de configuração em vez de um botão de assinatura sem função.
  • Banners de erro somem automaticamente: banners de erro persistentes agora se fecham sozinhos.
  • Layout do leaderboard no mobile: corrigidos valores espremidos no mobile em comparação ao desktop.
  • Cintilação de redirecionamento eliminada: removidos os redirecionamentos visíveis ao navegar para o app.

Nenhuma nova versão - 7 a 10 de abril de 2026​

Veja também: Semana 4: Desktop entra no ar

Adições​

API​

  • GET /historical-theos: preços teóricos de opções ao longo do tempo, substituindo o histórico bruto de preços do último negócio. Intervalos de tempo e limites configuráveis. Veja a Referência da API REST.
  • GET /historical-theos/batch: busque séries de preços teóricos de até 50 instrumentos em uma única requisição. Parâmetros: instrument_names=A,B,C&interval=1h&limit=100.
  • realized_pnl em GET /profile/trades: as execuções agora retornam o PnL realizado.

UI​

  • Greeks agora usam marcações teóricas: todos os cálculos de Greeks usam preços teóricos em vez de preços do último negócio, melhorando significativamente a precisão para strikes ilíquidos.
  • Gráfico de preço teórico nas páginas de instrumentos: as páginas de contratos de opções exibem um gráfico histórico de preço teórico (substitui o histórico bruto de preços de negócios).
  • Posição inline na página do instrumento: sua posição aberta no instrumento ativo é exibida diretamente na página do contrato.
  • Melhorias nos estados vazios: textos e layout melhores para gráficos vazios e estados vazios.

Correções​

  • Limite de depósito do faucet: o faucet da testnet agora respeita o saldo restante permitido por carteira em vez de um máximo fixo.
  • 503s intermitentes em GET /portfolio: corrigidos erros intermitentes de servidor no endpoint de portfólio.
  • Indicadores de carregamento: eliminados indicadores de carregamento fantasmas durante o carregamento da página.
  • GET /profile/trades retornando 500: corrigido para carteiras com execuções.
  • Deslocamento de layout na página de membro: corrigido o deslocamento de alinhamento na página de membro.
  • Rótulo do gráfico padrão: esclarecido que a preferência de gráfico padrão se aplica aos ativos.

Nenhuma nova versão - 1 a 6 de abril de 2026​

Veja também: Atualização de produto da semana 3

Mudanças incompatíveis​

  • Modelo de margem de portfólio alterado: a fórmula da margem inicial mudou de scanning_risk para max(scanning_risk, option_floor) + gamma_overlay. Três novos campos nas respostas de portfólio via REST e WebSocket: scanning_risk, option_floor, gamma_overlay. O saldo disponível agora é equity - total_margin_used (antes era cash - total_margin_used). O patrimônio agora inclui o PnL não realizado de perpétuos.
  • Mudanças em GET /risk/grid: removido o parâmetro include_open_orders. O modelo de cenários mudou de eixo único {scenario_type, value} para choques combinados {spot_shock_pct, vol_shock_pct, pnl_weight, is_tail}. O PnL do pior cenário agora é ponderado.

Adições​

Desktop​

  • Layout de trading desktop: interface desktop completa com visualização de trade em múltiplos painéis, navegação por teclado, gráfico de preço do instrumento, símbolos compactos de opções e clique para navegar de posições/ordens até os instrumentos.

API​

  • Instrumentos de opções agora incluem símbolo e preço do ativo subjacente: as respostas de instrumentos de opções expõem seu ativo subjacente. Veja a Referência da API REST.

Competição e leaderboard​

  • Sistema de competições: novos endpoints: GET /competitions, GET /leaderboard, GET /competition-metric-ranks, POST /submitUsernameRequest. Calendário mensal (do dia 1 ao dia 1, às 16:00 ET). Competição na testnet com prêmios reais (500/500/300/$200 em SYN). Market makers excluídos do ranking.
  • UI do leaderboard: selo de posição ("Rank #X" ou CTA "Trade to win"), card com a distribuição de prêmios, integração com Hyperliquid Names, símbolos de opções formatados ("04/10 $59,000 Call"), P&L por lote FIFO, timestamps relativos (5m, 2h, 3d).
  • Markdown nas descrições de competições: as descrições de competições suportam formatação markdown.

Portfólio​

  • Margem de portfólio: margem cruzada entre posições correlacionadas. Instrumentos vencidos excluídos do gamma overlay.

UI​

  • Símbolos compactos de opções: formato legível em toda a UI: "04/10 $59,000 Call".
  • Botão Max no formulário de ordem: tamanho máximo com um clique com base na margem disponível.
  • Separadores de milhar: todos os campos de preço e tamanho exibem separadores.
  • Clique em posição/ordem → instrumento: tocar em uma linha de posição ou ordem navega até o contrato correspondente.
  • Página de preferências: tooltips, alternância de selos e estado de preferências sincronizado entre sessões.

Correções​

  • Centralização UTC dos gráficos: os gráficos de ativos são centralizados em limites UTC; transições de timeframe estabilizadas.
  • Gestos de deslizar (mobile): corrigido o comportamento errático de deslizar para cancelar e da navegação por deslize.
  • Remoção de prefixo de URL no desktop: removido o prefixo /mobile das URLs no desktop; seleção de strike corrigida.

Nenhuma nova versão - 24 a 31 de março de 2026​

Veja também: Atualização de produto da semana 2

Adições​

Gráficos​

  • Gráfico histórico de PnL: gráfico de patrimônio ao longo do tempo na página inicial com crosshair interativo. Toque/clique para inspecionar qualquer ponto; mostra o timestamp e atualiza a exibição do saldo.
  • Gráfico do ativo: gráfico de preço spot por ativo com eixo y limitado ao intervalo do período visível.

Gerenciamento de ordens​

  • Cabeçalhos de seção: as seções de posições, ordens e histórico têm cabeçalhos distintos para facilitar a leitura.
  • Deslizar para excluir ordens (mobile): deslize para a esquerda em uma ordem aberta para cancelá-la.
  • Confirmação de cancelamento de ordem: diálogo dedicado para cancelar ordens.
  • Clique na linha da ordem → página do contrato: tocar em uma ordem navega até a visualização de detalhes do instrumento.
  • Aparência atualizada das ordens abertas: estilo renovado para ordens abertas.

Conectividade​

  • Banners de desconexão do WebSocket: banners visíveis quando o feed WS cai ou o backend está inacessível.

Greeks​

  • Greeks da posição na página do ativo: delta, gama, teta e vega agregados na página de detalhes do ativo.
  • Greeks do contrato na página do contrato: Greeks por posição na visualização do contrato.
  • Pontos de equilíbrio para todos os tipos de opção: pontos de equilíbrio calculados e exibidos para calls, puts e spreads.

Histórico de trades​

  • Horário de execução em GET /profile/trades: as linhas do histórico de trades agora incluem o timestamp da execução.
  • Persistência do vencimento na grade de opções: o vencimento selecionado é salvo nos parâmetros de consulta da URL e restaurado na navegação.
  • Instrumentos de opções incluem símbolo e preço do ativo subjacente: os instrumentos de opções expõem seu ativo subjacente nas respostas.

Conta​

  • Sistema de nomes de usuário: defina um nome de exibição para o endereço da sua carteira, mostrado no leaderboard e nas páginas de membros.

Correções​

  • GET /profile/trades retornando 500: corrigido para carteiras com execuções.
  • Ordem padrão de exibição das posições: as posições mostram por padrão o valor, depois o PnL e depois o custo médio (antes era inconsistente).
  • Rodapé da ordem mostra o tempo até o vencimento: adicionada a exibição de TTE; um atraso de 1 segundo na assinatura evita envios duplicados acidentais.
  • Logout no mobile: o estado da sessão é limpo corretamente ao sair.
  • Fundo no modo claro: corrigida a cor de fundo no modo claro.
  • Transições de página mais suaves: menos travamentos visuais durante a navegação.
  • Fundo do deslize: corrigida a renderização do fundo durante interações de deslize.

Nenhuma nova versão - 16 a 23 de março de 2026​

Veja também: Atualização de produto da semana 1

Adições​

Tema e aparência​

  • Modo escuro Midnight: novo tema escuro de alto contraste, ao lado do modo claro existente.
  • Modo de tema automático: o tema acompanha automaticamente a preferência claro/escuro do dispositivo. Novos usuários usam o modo automático por padrão.

Painel e estatísticas​

  • Campos de estatísticas HL e HC: alterne entre estatísticas específicas da Hyperliquid e da Hypercall no painel.
  • Razão put/call: razão put/call adicionada ao painel de estatísticas da Hypercall.
  • Badges de resultado: badges visuais para resultados de trades (lucro, prejuízo, vencida sem valor etc.), com gráfico de pizza no cabeçalho da posição.

Cadeia de opções​

  • Ordenação de strikes e persistência da seleção: os preços de exercício podem ser ordenados; a seleção persiste entre sessões.
  • Preenchimento inicial do preço-alvo: a página de preço-alvo já abre com o preço atual do ativo subjacente, em vez de vazia.
  • Normalização do preço do ativo subjacente: exibição consistente do preço do ativo subjacente em todas as páginas, incluindo os dados de perpétuos da DEX.

UX de ordens​

  • Mensagem de cancelamento para ordens executadas/expiradas: tentativas de cancelar ordens já executadas ou expiradas mostram "This order has already been completed or cancelled" em vez de um erro bruto.

Preferências​

  • Página de preferências: tooltips, rotação de badges e estado de preferências sincronizado entre sessões.

Correções​

Conectividade​

  • Dados atualizados na reconexão do WebSocket: ordens, execuções e portfólio são buscados novamente na reconexão do WS, em vez de exibir dados desatualizados.
  • Atraso de reconexão do WS: o temporizador de backoff agora é zerado após uma conexão saudável. Antes ele nunca era zerado, fazendo com que todas as reconexões esperassem 30 segundos depois de algumas desconexões normais.

Ordens​

  • Ordens fantasmas em instrumentos vencidos: ordens em instrumentos liquidados agora são removidas corretamente, evitando erros "Orderbook not found" ao cancelar.
  • Rejeição de saldo de caixa negativo: ordens de compra (BUY) que deixariam o saldo de caixa negativo agora são rejeitadas no envio. Mensagem de rejeição: "Insufficient cash (Standard)". Essa verificação pode ser ignorada em ordens buy-to-close que reduzem risco. Veja Margem padrão.

UI​

  • Animação do preço-alvo: corrigida a animação que ficava pulando/travada na página de preço-alvo.
  • Corte no gráfico de ativos no mobile: corrigido o corte das ações rápidas no gráfico de ativos no mobile.
  • Travamento no carregamento do PWA mobile: corrigido um problema que fazia o PWA mobile travar em "Loading...".

Problemas conhecidos​

Antes de depurar o comportamento do cliente, verifique primeiro a página de status da Hypercall para incidentes ativos e manutenções.

O comportamento e os problemas conhecidos do ambiente de staging são comunicados junto com o acesso; entre em contato com a equipe para mais detalhes.

Política de versionamento​

Rótulos de estabilidade:

  • Estável: caminhos do router e formatos principais de requisição/resposta com baixa probabilidade de mudança

Mudanças incompatíveis: serão documentadas aqui, com guias de migração.

Referências​