Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
EIP-1967 calcula seus slots como keccak256 de um rótulo menos um, para que sejam imprevisíveis para o compilador e nunca sejam atribuídos a uma variável normal. Define três slots concretos e duradouros: o de implementação, derivado de "eip1967.proxy.implementation"; o de administrador, de "eip1967.proxy.admin"; e o de beacon, de "eip1967.proxy.beacon". Ao situar esses metadados fora da faixa de armazenamento ordinário, evita o problema clássico de colisão de slots, uma vulnerabilidade grave em que o endereço de implementação sobrescrevia uma variável do contrato de lógica.
Importa porque, além da segurança, os slots são públicos e padronizados. Isso permite que exploradores como o Etherscan, ferramentas de auditoria e wallets detectem automaticamente que um contrato é um proxy e leiam sua implementação e seu administrador. Por isso é uma referência constante em auditorias de contratos atualizáveis.
A implementação de referência é `ERC1967Proxy` e `ERC1967Utils` da OpenZeppelin, base dos padrões Transparent Proxy e UUPS (ERC-1822). Praticamente todos os protocolos com contratos atualizáveis o utilizam; por exemplo, o USDC da Circle é um proxy que segue esse padrão de slots. Convém compará-lo com ERC-1167: aquele é um proxy mínimo não atualizável que não usa esses slots, enquanto EIP-1967 é o núcleo do padrão upgradeable.
Também conhecido como
- ERC1967
- Proxy Storage Slots





