Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O ERC-1167 padroniza um bytecode de runtime de apenas 45 bytes, com o endereço da implementação incorporado no meio. A cada chamada, o proxy copia o calldata, faz DELEGATECALL para a implementação e retorna ou reverte com o resultado. O estado fica no armazenamento do proxy, enquanto o código é executado a partir da implementação compartilhada. Não é atualizável: o endereço da implementação é imutável porque está fixado no próprio bytecode. Combinado com CREATE2, produz clones com endereço determinístico, previsível antes mesmo do deploy.
Sua importância está na economia de gas. Em vez de fazer o redeploy do bytecode completo de um contrato para cada instância, implanta-se um clone minúsculo que aponta para uma lógica comum. É o padrão ideal para factories que criam muitas instâncias iguais, como vaults, tokens ou pools de tokenização, em que o custo por instância cai para uma fração.
A implementação de referência é a biblioteca `Clones` da OpenZeppelin, com as funções `clone` e `cloneDeterministic`. O padrão é comum em factories de protocolos como 0xSplits ou Sound.xyz, que cunham um contrato por usuário ou por ativo. Convém diferenciá-lo dos proxies atualizáveis do EIP-1967: o ERC-1167 não usa esses slots porque não é upgradeable, já que sua implementação vive no bytecode e não no armazenamento.
Também conhecido como
- ERC1167
- Minimal Proxy Contract





