# ERC-1967: Proxy Storage Slots Content type: Research Paper Summary: ERC-1967 provides a standard mechanism for defining proxy storage slots in Ethereum upgradeable smart contracts. As the ecosystem matured, the proxy pattern became a dominant design for upgradeability, yet different implementations often utilized arbitrary storage slots, leading to storage collisions between the proxy and the logic contract. ERC-1967 eliminates this by standardizing the specific, deterministic storage slots used to hold the implementation address, the admin address, and the beac Key concepts: Santiago Palladino, ethereum, proxy, upgradeability, storage, smart contract
Standardadvanced

ERC-1967: Proxy Storage Slots

Santiago Palladino

Ethereum Improvement ProposalsJanuary 2019

Abstract

ERC-1967 provides a standard mechanism for defining proxy storage slots in Ethereum upgradeable smart contracts. As the ecosystem matured, the proxy pattern became a dominant design for upgradeability, yet different implementations often utilized arbitrary storage slots, leading to storage collisions between the proxy and the logic contract. ERC-1967 eliminates this by standardizing the specific, deterministic storage slots used to hold the implementation address, the admin address, and the beacon address. By using high-entropy slots derived from the keccak-256 hash of specific constant strings, the standard minimizes the risk of slot overlaps, allowing for safer development of upgradeable architectures. This specification ensures that tools like Etherscan, dashboard interfaces, and automated security scanners can reliably detect and display the actual implementation addresses behind a proxy. By establishing these conventions, the standard has improved the auditability, transparency, and safety of the most common proxy patterns used in DeFi protocols. It remains a critical technical standard that simplifies the integration of upgradeability features while maintaining storage integrity in complex smart contract systems.

Key Findings

  • 1Standardizes storage slots for proxy contracts to prevent storage collisions.
  • 2Enables uniform discovery of proxy logic and administrative state for third-party tools.
  • 3Facilitates interoperability between different upgradeable contract frameworks.
  • 4Reduces development complexity by providing a unified pattern for storage management.

Topics

ethereumproxyupgradeabilitystoragesmart contract

Citation

Santiago Palladino (2019). ERC-1967: Proxy Storage Slots. Ethereum Improvement Proposals. https://eips.ethereum.org/EIPS/eip-1967

BibTeX

@misc{erc19672019,
  title = {ERC-1967: Proxy Storage Slots},
  author = {Santiago Palladino},
  year = {2019},
  howpublished = {\url{https://eips.ethereum.org/EIPS/eip-1967}},
}

Knowledge Explorer

Explore Related Concepts

See how ERC-1967: Proxy Storage Slots connects to glossary terms, books, and other research in the Knowledge Graph.

Explore Connections