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

Liquidação e Vencimento

As opções na Hypercall são do estilo europeu e liquidadas financeiramente. No vencimento, as posições são liquidadas automaticamente com base no preço de referência do ativo subjacente, com o valor de liquidação creditado ou debitado na sua conta.

Horário de Vencimento

Na mainnet, os contratos SpaceX (SPCX) vencem às 16:00 ET na data de vencimento.

Na testnet, atualmente o vencimento ocorre às 08:00 UTC na data de vencimento.

No vencimento:

  • Novas ordens são rejeitadas
  • Ordens abertas são canceladas
  • As posições entram no processo de liquidação

Ciclo de Vida do Instrumento

Os instrumentos passam por três estados:

EstadoDescriçãoNegociação
AtivoNegociação normalHabilitada
Vencido Aguardando PreçoAguardando preço de liquidação do oráculoDesabilitada
LiquidadoLiquidação concluída, posições encerradasN/A

Transições de Estado

  1. Ativo → Vencido Aguardando Preço: Horário de vencimento do contrato atingido
  2. Vencido Aguardando Preço → Liquidado: Preço de liquidação disponível e todas as posições liquidadas

Assim que um instrumento entra em Expired Pending Price, todas as ordens abertas são canceladas e novas ordens são rejeitadas com "Instrument has expired".

Preço de Liquidação

O preço de liquidação é um TWAP de 30 minutos (Time-Weighted Average Price, ou preço médio ponderado pelo tempo) do preço de índice do Oráculo da Hyperliquid para o ativo subjacente.

ParâmetroValor
Fonte do preçoOráculo da Hyperliquid (preço de índice)
Janela do TWAP30 minutos
Fim da janelaHorário de vencimento do contrato

O oráculo começa a amostrar 30 minutos antes do vencimento e calcula o TWAP no horário de vencimento.

A liquidação requer o TWAP finalizado. Se esse preço finalizado não estiver disponível no momento do vencimento, o instrumento permanece em Expired Pending Price e novas tentativas são feitas automaticamente. A negociação já está desabilitada nesse estado, mas os créditos e débitos de caixa são lançados apenas após a existência do preço finalizado do oráculo.

Cálculo do Valor de Liquidação

A liquidação é calculada como o valor intrínseco da opção no vencimento:

Opções de Compra (Calls):

Valor de Liquidac¸a˜o=max(0,SK)×Q\text{Valor de Liquidação} = \max(0, S - K) \times Q

Opções de Venda (Puts):

Valor de Liquidac¸a˜o=max(0,KS)×Q\text{Valor de Liquidação} = \max(0, K - S) \times Q

Onde:

  • SS = Preço de liquidação (TWAP de 30 min)
  • KK = Preço de exercício (strike)
  • QQ = Tamanho da posição (com sinal: positivo para long, negativo para short)

Exemplos

Call Long (ITM):

  • Posição: Long 2 BTC-100000-C
  • Preço de liquidação: $105.000
  • Valor intrínseco: max(0, 105000 - 100000) = $5.000
  • Valor de liquidação: 5.000×2=+5.000 × 2 = **+10.000** (creditado)

Call Short (ITM):

  • Posição: Short 2 BTC-100000-C
  • Preço de liquidação: $105.000
  • Valor de liquidação: 5.000×2=5.000 × -2 = **-10.000** (debitado)

Put Long (OTM):

  • Posição: Long 1 BTC-100000-P
  • Preço de liquidação: $105.000
  • Valor intrínseco: max(0, 100000 - 105000) = $0
  • Valor de liquidação: $0 (vence sem valor)

Processo de Liquidação

Quando a liquidação ocorre:

  1. Preço obtido: O oráculo retorna o TWAP de 30 minutos
  2. Valor calculado: O valor intrínseco é calculado para cada posição
  3. Caixa atualizado: O valor de liquidação é adicionado (long ITM) ou subtraído (short ITM) do saldo da conta
  4. Posição removida: A posição é encerrada e removida do portfólio
  5. Evento emitido: Mensagem PositionExpired enviada via WebSocket

A liquidação é processada de forma atômica por posição, com garantias de idempotência. Reprocessamentos ou reinicializações não podem causar liquidação duplicada.

Eventos WebSocket

PositionExpired

Enviado quando uma posição é liquidada:

{
"type": "PositionExpired",
"wallet_address": "0x...",
"symbol": "BTC-20250131-100000-C",
"position_size": 2.0,
"settlement_price": 5000.0,
"settlement_value": 10000.0,
"timestamp": 1738310400000
}
CampoDescrição
position_sizeTamanho da posição com sinal (positivo = long, negativo = short)
settlement_priceValor intrínseco por contrato
settlement_valueValor total da liquidação financeira

MarketExpired

Enviado quando um instrumento transita para Expired Pending Price:

{
"type": "MarketUpdate",
"symbol": "BTC-20250131-100000-C",
"status": "MARKET_EXPIRED",
"timestamp": 1738310400000
}

Endpoints da API

Obter Status do Instrumento

GET /instruments/{symbol}

Retorna o status atual do instrumento (ACTIVE, EXPIRED_PENDING_PRICE ou SETTLED).

Obter Histórico de Liquidações

GET /settlement/history?wallet=0x...

Retorna os registros de liquidação da sua conta.

Resposta:

{
"success": true,
"data": [
{
"symbol": "BTC-20250131-100000-C",
"position_size": 2.0,
"settlement_price": 5000.0,
"settlement_value": 10000.0,
"settled_at": 1738310400000
}
]
}

Tratamento de Falhas

Oráculo Indisponível

Se o oráculo não puder fornecer um preço de liquidação no vencimento:

  • O instrumento permanece no estado Expired Pending Price
  • O sistema tenta novamente a cada 30 segundos
  • O alerta de produção é acionado se a espera pelo preço finalizado for prolongada

A negociação é bloqueada imediatamente no vencimento, independentemente da disponibilidade do oráculo.

Preço Finalizado Atrasado

Se o TWAP finalizado estiver atrasado:

  • A liquidação é adiada
  • O sistema aguarda o preço de liquidação finalizado do oráculo
  • Os usuários podem ver o instrumento permanecer em Expired Pending Price
  • A liquidação financeira aparece depois que o caminho de nova tentativa aplica o preço finalizado

Reinicialização do Sistema

O estado da liquidação é persistido no banco de dados. Se o sistema reiniciar:

  • Os instrumentos vencidos são identificados a partir do banco de dados na inicialização
  • A liquidação continua automaticamente
  • As garantias de idempotência evitam liquidação duplicada

Parâmetros

ParâmetroValorDescrição
Intervalo de verificação de vencimentos60 segundosFrequência com que o sistema verifica vencimentos
Janela do TWAP30 minutosJanela de média do preço de liquidação
Intervalo de nova tentativa de liquidação30 segundosFrequência de nova tentativa quando o preço está indisponível
Limite de alerta de preço finalizado30 minutosAviso se um instrumento vencido ainda estiver aguardando o preço finalizado
Limite de alerta de pagamento pendente1 horaAlerta crítico se registros de pagamento de liquidação permanecerem não aplicados

Boas Práticas

  1. Monitore os vencimentos: Acompanhe as datas de vencimento das suas posições pelo endpoint de portfólio
  2. Planeje com antecedência: Encerre posições antes do vencimento se quiser evitar a liquidação
  3. Verifique os preços de liquidação: Confirme que o preço do oráculo corresponde às suas expectativas
  4. Assine o WebSocket: Receba eventos PositionExpired em tempo real para notificação imediata
  5. Mantenha uma reserva de margem: Garanta margem suficiente para possíveis liquidações de posições short ITM

Liquidação On-Chain

Na mainnet, os preços de liquidação são publicados on-chain após o cálculo:

  • O oráculo calcula o TWAP de liquidação e publica o preço final de vencimento.
  • O contrato da Exchange pode verificar o preço de liquidação publicado on-chain.
  • Feeds do oráculo em tempo real não são transmitidos on-chain. Os preços finais de liquidação são a referência on-chain para o vencimento.

Veja também: