Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O padrão define duas funções obrigatórias. clock() retorna o timepoint atual conforme o modo do contrato, deve ser uma função não decrescente da cadeia e retorna um uint48, suficiente para valores realistas e adequado ao packing de armazenamento. CLOCK_MODE() retorna uma string legível por máquina em formato query-string que descreve o relógio: mode=blocknumber&from=default para número de bloco por padrão, mode=blocknumber&from=<CAIP-2-ID> para outra cadeia, ou mode=timestamp para tempo real.
O número de bloco é um relógio pouco estável, porque o tempo entre blocos varia e difere entre redes L2. O ERC-6372 nasceu dentro da discussão do ERC-5805 (votação com delegação) e foi separado como padrão próprio; o ERC-5805 declara dependência dele. A regra de compatibilidade é fundamental: um contrato de governança que não implemente o ERC-6372 deve operar como se CLOCK_MODE retornasse número de bloco por padrão. Implementá-lo é o que permite migrar de número de bloco para timestamp de forma explícita e autodescrita.
O ERC-6372 foi criado em 25 de janeiro de 2023, continua em processo de padronização no Ethereum, ainda não é Final, e é assinado por Hadrien Croubois e Francisco Giordano. O voto baseado em timestamp que ele formaliza, junto com o ERC-5805, chegou ao OpenZeppelin Contracts v4.9: os módulos Governor, ERC20Votes e ERC721Votes implementam clock() e CLOCK_MODE(). Existe ainda uma solicitação aberta para adicionar a interface ao VestingWallet da OpenZeppelin, sinal de sua adoção além da governança pura.
Fontes
Também conhecido como
- ERC6372
- Contract clock





