web3wagmi
← All standards

ERC-8153 Facet-Based Diamonds

Last CallERCcreated 2026-02-07requires ERC-2535

Simplifies diamond management, deployment and upgrades.

Author: Nick Mudge (@mudgen)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IDiamondInspect0x48e2b093
IFacet0x0ef22643

Functions this standard introduces (5)

0x0ef22643exportSelectors()pure
0xcdffacc6facetAddress(bytes4)view
0x52ef6b2cfacetAddresses()view
0xadfca15efacetFunctionSelectors(address)view
0x7a0ed627facets()view

Events (5)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xb1402aba9d05dd599288decc0d800edc4333a3f1830ed911faea354de802f458FacetAdded(address)
0x257de3664eaa2eca41d1bf7490fa4c2caea21f6d6c405227a79a76aeea100130FacetReplaced(address,address)
0xfa3c0081aeabdcb0dfd9d032decbe874f2c7e8b3345af61d05c3a359574ba969FacetRemoved(address)
0xfb4514022f0c20335bef459c51d3b7d7ec4a30ac3ab8ccc1b3f83422c51ff3fcDiamondDelegateCall(address,bytes)
0xe554490be3732d6c1d73f1f31f5728456ac9b5bd3bee232399e7a8e48d8243fbDiamondMetadata(bytes32,bytes)

Custom errors (10)

0x5416eb98FunctionNotFound(bytes4)
0x9c23886bNoSelectorsForFacet(address)
0xd94e3bbfNoBytecodeAtAddress(address)
0xebbf5d07CannotAddFunctionToDiamondThatAlreadyExists(bytes4)
0xb89ccefcCannotRemoveFacetThatDoesNotExist(address)
0xf68a5efaCannotReplaceFacetWithSameFacet(address)
0x68e8d4eaFacetToReplaceDoesNotExist(address)
0xbd519af8DelegateCallReverted(address,bytes)
0x5fc2e31fExportSelectorsCallFailed(address)
0x3411bce3CannotReplaceFunctionFromNonReplacementFacet(bytes4)

Depends on (1)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion