Skip to content

Glossary

Diamond Proxy (EIP-2535)

A proxy pattern that multiplexes calls across many implementation contracts ("facets") by selector — letting a single contract grow beyond the 24 KB code limit.

EIP-2535 ("Diamonds") replaces the single-implementation proxy with a dispatch table that maps function selectors to many distinct facet contracts. The diamond can be upgraded a facet at a time, and its total logic can exceed the EVM's per-contract 24 KB code limit.

The pattern is popular for very large protocols (early Aave v3 considered it, BarnBridge, and several gaming contracts use it), but it introduces selector-collision risk and a steeper auditing surface than a transparent or UUPS proxy.