Skip to main content Link Menu Expand (external link) Document Search Copy Copied


Canto Identity Protocol (CIP) is an on-chain identity protocol that aggregates identity from Subprotocols. Anyone can permissionlessly create a Subprotocol to represent any kind of identity trait – textual, visual, or otherwise. End users freely choose which traits to include in their on-chain identity.

At launch, the core protocol consists of three smart contracts:

Within Canto Identity Protocol, ERC721 NFTs called CIDs (Canto Identities) represent individual on-chain identities. Users can mint CIDs for free by calling the mint method on CidNFT.sol.

Users must register a CID as their canonical on-chain identity with AddressRegistry.sol.


Canto Identity Protocol is an Open Aggregating Registration System (OARS) – a new primitive that aggregates data from subprotocols. CIP itself has no notion of identity traits, such as display name or profile picture. Instead, it aggregates identity from granular, trait-specific protocols called Subprotocols.

Subprotocol creation is permissionless. However, Subprotocols must be registered with SubprotocolRegistry.sol for a one-time fee in order to be used within Canto Identity Protocol.


subprotocolNFTs represent individual identity traits. Users choose which traits to include in their on-chain identity by adding references to those subprotocolNFTs to their CID using the add method on CidNFT.sol.

Fees and conditions associated with minting subprotocolNFTs are determined by the Subprotocol’s creator. Since Subprotocols are loosely defined smart contracts, Subprotocol creators can introduce arbitrary logic to NFT minting and ownership.