Escrito por Pablo Gómez
Founder & CEO da Metlabs · Revisado em 11 de outubro de 2026
O ERC-2535, oficialmente intitulado "Diamonds, Multi-Facet Proxy", é um padrão de design para construir smart contracts grandes, modulares e atualizáveis. O contrato Diamond atua como proxy que, por meio de delegatecall, roteia cada seletor de função para a faceta que a implementa. Assim, distribui a lógica entre vários contratos e resolve o limite de tamanho de contrato de 24 KB de Ethereum, que, de outro modo, obrigaria a fragmentar ou cortar o código. O armazenamento costuma ser gerenciado com padrões de Diamond Storage ou AppStorage para evitar colisões de slots entre facetas.
A peça central é a função diamondCut, que adiciona, substitui ou remove qualquer número de funções de qualquer número de facetas em uma única transação, evitando a corrupção de dados que poderia surgir se a atualização fosse dividida em várias transações. Cada mudança emite o evento DiamondCut, o que torna as atualizações transparentes e auditáveis on-chain. O resultado são upgrades cirúrgicos por função, em vez de reimplantar todo o contrato, e uma organização do código por domínios, útil em sistemas complexos.
Foi publicado em fevereiro de 2020 por Nick Mudge e alcançou o estado Final em outubro de 2022. Conta com implementações de referência do próprio autor e guias de desenvolvimento do padrão documentados por equipes como ChainScore Labs e BitsByBlocks. Para tokenização, encaixa-se como arquitetura de sistemas modulares: um emissor pode atualizar módulos de compliance sem reimplantar todo o sistema, o que o torna complementar a padrões de conformidade como ERC-3643. É uma conexão conceitual, não uma dependência técnica.
Também conhecido como
- ERC2535
- Diamonds, Multi-Facet Proxy





