Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O ERC-5805 separa o saldo do poder de voto: ter tokens não conta como votos até que a conta delegue esse poder, ainda que para si mesma. A delegação é feita com `delegate` ou, sem gas para o signatário, com `delegateBySig` por meio de uma assinatura EIP-712. Cada alteração grava um checkpoint em um histórico de unidades de voto, consultado com `getVotes` (atual) e `getPastVotes` para um ponto temporal específico. Esse ponto temporal usa por padrão o número do bloco e é compatível com o ERC-6372 para medir em timestamps. O padrão atende a vários tipos de token, não apenas aos fungíveis.
Resolve o problema central de segurança da governança on-chain: medir o poder de voto sobre um snapshot fixo impede comprar tokens, votar e vendê-los no mesmo bloco. A delegação acrescenta governança representativa sem que o titular abra mão da custódia dos seus tokens.
A implementação canônica é o módulo abstrato `Votes` do OpenZeppelin Contracts, do qual derivam `ERC20Votes` e `ERC721Votes`. A Compound foi pioneira no padrão de delegação com checkpoints em seu token COMP; o ERC-5805 codifica explicitamente a implementação da OpenZeppelin, mais flexível por retornar `uint256`. Combina-se com o contrato `Governor` para o ciclo completo de proposta, votação e execução de uma DAO.
Também conhecido como
- ERC5805
- Voting with delegation





