
Expiração corresponde ao momento em que uma ação ou permissão deixa de ser válida após o cumprimento de condições predefinidas, como um limite temporal, alteração de estado ou mudança no ambiente da rede. Na Web3, a expiração é essencial porque limita permissões e riscos a “fronteiras de tempo e condição”, reduzindo abusos e ataques de repetição.
A expiração funciona como a data limite de um cupão: terminado o período de validade, as ordens já não podem ser executadas, assinaturas expiradas não acionam smart contracts e autorizações expiradas são recusadas pelo contrato. Este mecanismo reduz o uso abusivo e protege os seus fundos.
A expiração das ordens é normalmente determinada por “condições de tempo e execução”. As três estratégias de ordem mais comuns são: GTC, IOC e FOK.
Nas interfaces de negociação spot e de derivados da Gate, estratégias como IOC e FOK estão habitualmente disponíveis. Selecionando IOC, qualquer parte não executada da ordem expira imediatamente; ao escolher FOK, evita execuções parciais, reforçando a certeza da estratégia.
A expiração de assinaturas e autorizações é normalmente gerida através de um “prazo” ou “janela de validade”. Muitos DApps incluem um campo “deadline” nos pedidos de assinatura; após esse prazo, a assinatura torna-se inutilizável.
O EIP-2612 é um standard de “permit signature” que permite aprovações para gastos de tokens sem transação on-chain. Inclui um prazo, após o qual a assinatura de permissão expira e o contrato rejeita qualquer tentativa de uso.
O EIP-712 é um standard de assinatura estruturada que integra campos críticos como chain ID, domínio do contrato e tempo de expiração na própria assinatura. Isto previne ataques de repetição em ambientes distintos; mesmo que a assinatura seja copiada, não pode ser usada após expirar ou se o contexto não corresponder.
Quando a sua wallet solicitar uma assinatura, verifique se existe um campo de validade ou deadline. Quanto maior a validade, maior a possibilidade de uso indevido; janelas mais curtas são mais seguras, mas exigem ação atempada.
Os smart contracts normalmente impõem a expiração validando prazos nos pontos de entrada das funções. Uma abordagem comum consiste em verificar se o timestamp do bloco atual é inferior ou igual ao prazo; caso contrário, a chamada falha e é marcada como expirada.
Os timestamps dos blocos são definidos pelos validadores e admitem pequenas variações. Os contratos incluem frequentemente períodos de tolerância para evitar expiração prematura e garantir que ações não ocorram após o prazo. Os programadores podem adicionar campos como “validUntil” nas estruturas de autorizações ou ordens para validação uniforme.
No modelo UTXO do Bitcoin, scripts baseados no tempo também afetam a janela de validade da transação. Por exemplo, um script pode determinar que moedas não podem ser gastas antes ou depois de certo momento, utilizando restrições temporais para gerir a validade da transação.
O tempo on-chain determina “quando” algo expira, enquanto o nonce determina “se” algo pode ser repetido.
Um nonce funciona como um contador de transações: o nonce de cada conta é incrementado a cada transação. Se uma nova transação com o mesmo nonce for aceite pela rede, a anterior é substituída e removida dos mempools — expirando, na prática, a transação antiga.
Os timestamps dos blocos são fornecidos pelos produtores de blocos e não correspondem a tempos reais absolutos, mas são essenciais para determinar expirações. Os contratos dependem do tempo do bloco para verificar expiração, evitando dependência de relógios externos.
No Ethereum e cadeias compatíveis, a expiração é definida ao nível do contrato e do DApp, recorrendo a campos “deadline” e à “substituição de nonce” por razões de segurança. As aprovações de tokens por defeito não expiram, pelo que muitas aplicações utilizam o EIP-2612 para introduzir datas de expiração.
No Bitcoin, scripts e mecanismos de bloqueio relacionados com o tempo determinam janelas de validade das transações de forma mais fundamental, definindo se as moedas podem ser gastas antes ou depois de certos momentos.
No Solana, as transações podem indicar uma “last valid block height”; após esse bloco, a transação torna-se inválida, criando uma janela de validade baseada no tempo ou na altura do bloco. Em algumas redes de Layer 2, a lógica é semelhante à do Ethereum, com a expiração maioritariamente gerida ao nível do contrato e da aplicação.
A expiração cria dois riscos principais: expiração prematura (causando falha operacional) e expiração tardia (alargando a janela de uso indevido).
Adote precaução nas operações de segurança de fundos. A expiração não elimina automaticamente o risco; aprovações de longo prazo ainda válidas exigem gestão ativa.
Na interface de negociação da Gate, a estratégia de execução escolhida determina diretamente como as ordens expiram:
Para a expiração de autorizações, se interagir com DApps através do portal Web3 ou wallet da Gate, verifique se as autorizações incluem prazos. Para aprovações ilimitadas sem datas de expiração, audite e revogue regularmente permissões de DApps não utilizados na página de gestão de autorizações.
A desatualização de fontes de dados constitui outra forma de “expiração”. Os Oracles fornecem normalmente timestamps; os contratos verificam se os dados se enquadram numa janela de atualidade aceitável. Caso contrário, os preços são considerados “obsoletos” e as chamadas são rejeitadas — equivalente à expiração ao nível dos dados.
Desde o final de 2025, os principais protocolos DeFi validam cada vez mais a atualidade dos dados em feeds de preços e juros — exigindo atualizações frequentes para mitigar riscos em mercados voláteis. Para NFTs e metadados armazenados em servidores centralizados, links quebrados levam as aplicações a considerar o conteúdo como expirado — o resultado é funcionalmente idêntico à expiração.
Ao nível dos nodes, clientes blockchain estão a evoluir para não armazenar dados históricos indefinidamente. Dados on-chain muito antigos podem não estar disponíveis em nodes padrão; os programadores devem recorrer a serviços de arquivo ou indexação personalizada para evitar interrupções de negócio devido a acesso a dados “expirados”.
A expiração reduz a janela efetiva de ordens, assinaturas, autorizações e dados — sendo uma ferramenta essencial de segurança e governação na Web3. Ao compreender as fronteiras impostas pelo tempo e estado, utilizando verificações de expiração ao nível do contrato e substituição de nonce, em conjunto com estratégias de ordens em exchanges e gestão de autorizações em DApps, pode equilibrar eficiência de execução com controlo do risco de uso indevido e ataques de repetição. Revogue sempre aprovações de longo prazo quando já não forem necessárias, selecione a validade das ordens conforme a estratégia, verifique explicitamente a atualidade dos dados nos contratos e audite continuamente a sua atividade — transformando a “expiração” de ameaça oculta em proteção ativa.
Um modo de expiração descreve a forma concreta como uma função, ordem ou autorização deixa de funcionar. Na Web3, os modos de expiração incluem expiração baseada no tempo (ex.: timeout de ordem), expiração por parâmetro (ex.: alterações de preço além dos intervalos previstos) e expiração por revogação (ex.: cancelamento manual de aprovação). Compreender estes modos ajuda a evitar falhas inesperadas em negociações ou riscos para os fundos.
“Stalling” refere-se ao abrandamento ou bloqueio de negociações; “expiração” significa que uma função deixou totalmente de funcionar ou se tornou inválida. A expiração tem um ponto final claro (como uma ordem atingir o tempo limite), enquanto o stalling corresponde a degradação de desempenho. Uma ordem pode eventualmente expirar devido a stalling — mas são conceitos distintos.
A expiração automática de ordens é um mecanismo de proteção normalmente desencadeado por três fatores: tempo (fim do período de validade), condições de mercado (preço ultrapassa os limites definidos pelo utilizador) ou restrições de bloco (ultrapassar uma altura de bloco específica). Este design protege as suas negociações de serem executadas em situações de volatilidade extrema.
Expiração de autorizações e de ordens são conceitos distintos. A expiração da autorização significa que a permissão para um contrato utilizar os seus fundos expirou; a expiração da ordem indica que a instrução de negociação se tornou inválida. Uma transação pode enfrentar ambas: a expiração da autorização impede execução mesmo com ordem válida; a expiração da ordem impede execução mesmo que a autorização se mantenha.
Para verificar se uma ordem expirou:
Se a sua ordem expirou, terá de criar uma nova para continuar a negociar.


