# eip-7201 namespaced storage provides structured collision avoidance for upgradeable contracts
EIP-7201 defines a formula for computing non-colliding storage namespaces: each logical storage group gets its own deterministic slot range derived from a namespace identifier. This extends [[eip-1967 reserved storage slots prevent proxy implementation address collisions|EIP-1967's approach]] from just proxy metadata to all contract state, allowing multiple facets or modules to share proxy storage without collision risk.
Since [[custom storage layouts enable powerful proxy patterns but manual slot math errors can corrupt data]], having a standardized derivation formula reduces the risk of manual computation errors. The pattern is particularly valuable for diamond proxy patterns (EIP-2535) and other multi-facet architectures where many implementation contracts write to shared storage.
---
Relevant Notes:
- [[eip-1967 reserved storage slots prevent proxy implementation address collisions]] — the predecessor this extends
- [[custom storage layouts enable powerful proxy patterns but manual slot math errors can corrupt data]] — the custom layout feature this leverages
- [[storage layout must remain consistent across proxy implementation versions]] — the fundamental constraint this helps satisfy
Topics:
- [[security-patterns]]