Diamond
Diamond Architecture Overview

The Diamond architecture is a modular smart contract system designed for long-lived, evolving protocols.
At its core, a Diamond is a single contract address that represents the protocol. That address never changes. Only the functionality gets changed.
Instead of treating upgrades as “replacing a contract,” Diamonds treat upgrades as restructuring a system adding new capabilities, removing obsolete ones, or refining existing behavior, all without disrupting state or users.
This architecture is intentionally built for protocols that grow, diversify, and evolve after launch.
How the Diamond Thinks About Logic
A Diamond does not contain application logic directly.
Instead, it maintains a registry that maps function selectors to external logic modules called facets as we saw in proxy contracts. Each facet is responsible for a specific domain of behavior governance, strategy execution, accounting, risk controls, or protocol extensions.
When a function is called on the Diamond, it resolves which facet owns that function and executes it in the Diamond’s context. All state lives in one place. All behavior is composed around it.