ERC-165 Standard Interface Detection
Authors: Christian Reitwießner, Nick Johnson, Fabian Vogelsteller, Jordi Baylina, Konrad Feldmeier, William Entriken
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| ERC165 | 0x01ffc9a7 |
Functions this standard introduces (1)
0x01ffc9a7 | supportsInterface(bytes4) | view |
Optional extensions (3)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
Solidity1010xc6be8b58
0x19ff1d21 | hello() | |
0xdf419679 | world(int256) |
Simpson0x73b6b492
0x60c33c60 | is2D() | |
0x137588f2 | skinColor() |
Simpson0x73b6b492
0x60c33c60 | is2D() | |
0x137588f2 | skinColor() |
Depends on (1)
Proposals this one names in its requires field.
Built on by (189)
Later proposals that name this one in their requires field.
ERC-634Storage of text records in ENSERC-721Non-Fungible Token StandardERC-725General data key/value store and executionERC-820Pseudo-introspection Registry ContractERC-926Address metadata registryERC-998Composable Non-Fungible TokenERC-1155Multi Token StandardERC-1261Membership Verification Token (MVT)ERC-1337Subscriptions on the blockchainERC-1363Payable TokenERC-1417Poll StandardERC-1450RTA-Controlled Security TokenERC-1616Attribute Registry StandardERC-1633Re-Fungible Token Standard (RFT)ERC-1761Scoped Approval InterfaceERC-1820Pseudo-introspection Registry ContractERC-1844ENS Interface DiscoveryERC-1922zk-SNARK Verifier StandardERC-1923zk-SNARK Verifier Registry StandardERC-2135Consumable Interface (Tickets, etc)ERC-2390Geo-ENSERC-2477Token Metadata IntegrityERC-2615Non-Fungible Token with mortgage and rental functionsERC-2767Contract Ownership GovernanceERC-2981NFT Royalty StandardERC-3386ERC-721 and ERC-1155 to ERC-20 WrapperERC-3525Semi-Fungible TokenERC-4353Interface for Staked Tokens in NFTsERC-4393Micropayments for NFTs and Multi TokensERC-4400EIP-721 Consumable ExtensionERC-4494Permit for ERC-721 NFTsERC-4519Non-Fungible Tokens Tied to Physical AssetsERC-4524Safer ERC-20ERC-4671Non-Tradable Tokens StandardERC-4675Multi-Fractional Non-Fungible TokensERC-4799Non-Fungible Token Ownership Designation StandardERC-4885Subscription NFTs and Multi TokensERC-4906EIP-721 Metadata Update ExtensionERC-4907Rental NFT, an Extension of EIP-721ERC-4910Royalty Bearing NFTsERC-4973Account-bound TokensERC-4974RatingsERC-4987Held token interfaceERC-5005Zodiac Modular AccountsERC-5006Rental NFT, NFT User ExtensionERC-5007Time NFT, ERC-721 Time ExtensionERC-5008ERC-721 Nonce ExtensionERC-5023Shareable Non-Fungible TokenERC-5050Interactive NFTs with Modular EnvironmentsERC-5058Lockable Non-Fungible TokensERC-5169Client Script URI for Token ContractsERC-5173NFT Future Rewards (nFR)ERC-5187Extend EIP-1155 with rentable usage rightsERC-5192Minimal Soulbound NFTsERC-5216ERC-1155 Allowance ExtensionERC-5289Ethereum Notary InterfaceERC-5313Light Contract OwnershipERC-5334EIP-721 User And Expires And Level ExtensionERC-5380ERC-721 Entitlement ExtensionERC-5409EIP-1155 Non-Fungible Token extensionERC-5437Security Contact InterfaceERC-5453Endorsement - Permit for Any FunctionsERC-5484Consensual Soulbound TokensERC-5489NFT Hyperlink ExtensionERC-5501Rental & Delegation NFT - EIP-721 ExtensionERC-5507Refundable TokensERC-5516Soulbound Multi-owner TokensERC-5521Referable NFTERC-5560Redeemable NFTsERC-5604NFT LienERC-5633Composable Soulbound NFT, EIP-1155 ExtensionERC-5635NFT Licensing AgreementsERC-5646Token State FingerprintERC-5679Token Minting and BurningERC-5700Bindable Token InterfaceERC-5727Semi-Fungible Soulbound TokenERC-5732Commit InterfaceERC-5750General Extensibility for Method BehaviorsERC-5753Lockable Extension for EIP-721ERC-5773Context-Dependent Multi-Asset TokensERC-5827Auto-renewable allowance extensionERC-5982Role-based Access ControlERC-6059Parent-Governed Nestable Non-Fungible TokensERC-6066Signature Validation Method for NFTsERC-6105No Intermediary NFT Trading ProtocolERC-6120Universal Token RouterERC-6147Guard of NFT/SBT, an Extension of ERC-721ERC-6150Hierarchical NFTsERC-6220Composable NFTs utilizing Equippable PartsERC-6239Semantic Soulbound TokensERC-6268Untransferability Indicator for EIP-1155ERC-6315ERC-2771 Namespaced Account AbstractionERC-6381Public Non-Fungible Token Emote RepositoryERC-6454Minimal Transferable NFT detection interfaceERC-6464Multi-operator, per-token ERC-721 approvals.ERC-6551Non-fungible Token Bound AccountsERC-6604Abstract TokenERC-6672Multi-redeemable NFTsERC-6785ERC-721 Utilities Information ExtensionERC-6786Registry for royalties payment for NFTsERC-6900Modular Smart Contract AccountsERC-6909Minimal Multi-Token InterfaceERC-6956Asset-bound Non-Fungible TokensERC-6982Efficient Default Lockable TokensERC-7007Verifiable AI-Generated Content TokenERC-7066Lockable Extension for ERC-721ERC-7092Financial BondsERC-7160ERC-721 Multi-Metadata ExtensionERC-7204Contract wallet management tokenERC-7208On-Chain Data ContainersERC-7231Identity-aggregated NFTERC-7291Purpose bound moneyERC-7303Token-Controlled Token CirculationERC-7401Parent-Governed Non-Fungible Tokens NestingERC-7409Public Non-Fungible Tokens Emote RepositoryERC-7410ERC-20 Update Allowance By SpenderERC-7417Token ConverterERC-7432Non-Fungible Token RolesERC-7439Prevent ticket toutingERC-7444Time Locks MaturityERC-7496NFT Dynamic TraitsERC-7498NFT RedeemablesERC-7508Dynamic On-Chain Token Attributes RepositoryERC-7513Smart NFT - A Component for Intent-CentricERC-7518Dynamic Compliant Interop Security TokenERC-7527Token Bound Function Oracle AMMERC-7531Staked ERC-721 Ownership RecognitionERC-7540Asynchronous ERC-4626 Tokenized VaultsERC-7546Upgradeable Clone for Scalable ContractsERC-7548Open IP Protocol built on NFTsERC-7564Contract wallet management NFTERC-7574Authentication SBT using CredentialERC-7575Multi-Asset ERC-4626 VaultsERC-7578Physical Asset RedemptionERC-7579Minimal Modular Smart AccountsERC-7585MixHash and Public Data Storage ProofsERC-7586Interest Rate SwapsERC-7589Semi-Fungible Token RolesERC-7590ERC-20 Holder Extension for NFTsERC-7603ERC-1155 Multi-Asset extensionERC-7604ERC-1155 Permit ApprovalsERC-7621Basket TokenERC-7629ERC-20/ERC-721 Unified Token InterfaceERC-7632Interfaces for Named TokenERC-7634Limited Transfer Count NFTERC-7651Fractionally Represented Non-Fungible TokenERC-7652ERC-721 Guarantee ExtensionERC-7656Generalized Contract-Linked ServicesERC-7695Ownership Delegation and Context for ERC-721ERC-7699ERC-20 Transfer Reference ExtensionERC-7721Lockable Extension for ERC-1155ERC-7765Privileged Non-Fungible Tokens Tied To RWAERC-7802Token With Mint/Burn Access Across ChainsERC-7829Data Asset NFTERC-7831Multi-Chain AddressingERC-7858Expirable NFTs and SBTsERC-7861ERC-721 Verifiable Credential ExtensionERC-7866Decentralised User ProfilesERC-7878Bequeathable ContractsERC-7887Cancelation for ERC-7540 Tokenized VaultsERC-7893DeFi Protocol Solvency Proof MechanismERC-7897Wallet-Linked Services for Smart AccountsERC-7943uRWA - Universal Real World Asset InterfaceERC-7984Confidential Fungible TokenERC-7992Verifiable ML Model Inference (ZKML)ERC-7996Contract Feature DetectionERC-8034Referable NFT RoyaltiesERC-8047Forensic Token (Forest)ERC-8048Onchain Metadata for Token RegistriesERC-8049Contract-Level Onchain MetadataERC-8056Scaled UI Amount Extension for ERC-20 TokensERC-8063Groups - Membership TokensERC-8065Zero Knowledge Token WrapperERC-8143Smart Credential Resolution InterfaceERC-8161Transferable Tokenized Vault RequestsERC-8199Sandboxed Smart WalletERC-8226Regulated Agent MandateERC-8257Agent Tool RegistryERC-8262Zero-Knowledge Compliance OracleERC-8273Attestation-Gated Agentic ActionsERC-8320Regulated Asset ClaimERC-8325Asset Anchor RegistryERC-8326Canonical Document Bundle AnchorERC-8327Directional Transfer Domain RegistryERC-8328Subject-Linked Compliance Event LogERC-8329Subject-Linked Impact Snapshot LogERC-8330Subject-Linked NAV Snapshot OracleERC-8349Index-Based Multi-Facet ProxyERC-8354Confidential Agent Policy VerdictsWhat the specification covers
Simple SummaryAbstractMotivationSpecificationHow Interfaces are IdentifiedHow a Contract will Publish the Interfaces it ImplementsHow to Detect if a Contract Implements ERC-165How to Detect if a Contract Implements any Given InterfaceRationaleBackwards CompatibilityTest CasesImplementationVersion historyCopyright
Compare with
Parsed from the canonical specification