Company attributes
Other attributes
Lens Protocol is a Web3 social graph based on the Polygon proof-of-stake blockchain. The protocol is modular, enabling features and fixes to be included and streamlining content and social relationships. Users own their data and can bring it to different applications built atop Lens Protocol.
The purpose of the Lens Protocol is to help creators own the links between themselves and their community to create a composable, decentralized social graph. It is achieved by enabling users to create profiles and interact with one another through these profiles.
"Profile" (as used here) refers to Lens profiles, and "user" refers to standard crypto-wallets. Lens Protocol is overseen by a multisig, with plans for expansion to a broader DAO, which can develop and vote on modules and extra functionality.
Users are required to create a profile on the hub, and they will receive a sequentially ID'd profile non-fungible token (NFT). The NFT controls the profile, and its owner becomes the de facto controller of that given profile.
The Profile NFT is the major object in the Lens Protocol. Ownership of the NFT offers users control of their content. Individual addresses own ProfileNFTs, and one address can have different ProfileNFTs. What separates the Lens Profile NFT from the other on-chain identities is the user's ability to post publications to it.
The Profile NFT possesses the history of the posts, mirrors, comments, and other content they generate. In addition, Profile NFTs have a FollowModule. The module possesses the logic that enables different accounts to be issued Follow NFTs, in order to record their relationship to the major profile on-chain. Profiles are only minted by addresses that have been whitelisted by governance. This ensures that the namespace is not reserved by squatters.
Publications refer to the entirety of the original content, comments, and mirrors produced by creators, curators, and users alike on the Lens Protocol. Publications come in three major types: posts, comments, and mirrors. Posts refer to the base object, with mirrors and comments offering extra functionality.
Publications are made directly on a user's ProfileNFT; this ensures the content created by a user is user-owned and in their wallet. Publications are not NFTs themselves. Publications possess a ContentURI, which points to the particular content that the publication contains. It can point to text, an image, a video, or other arbitrary content that is stored on a decentralized protocol like IPFS or Arweave or a centralized storage provider, such as AWS S3.
Publications have two attached modules: Collect Module and Reference Module. The Collect Module possesses the logic that enables other users to mint their publication into an NFT. This NFT will reference the original Publication's URI. On the other hand, the Reference Module controls references to the publication. It possesses the logic that controls who can comment and mirror the publication.
Profile owners are able to publish to the profile. Publication types include Post, a standard piece of content, and Comment, a standard piece of content with a pointer to another publication. Since comments include pointers, this executes the pointed publication's "reference module" logic, if there are any. A mirror is the equivalent of a "share," having no content except a pointer to another publication. Mirrors only include pointers, executing the pointed publication's "reference module" logic, if any.
Profile owners can set the profile's "follow module." This whitelisted logic contract controls the logic that is executed whenever a wallet attempts to follow the given profile. Illustratively, some followers can incur a fee to the profile owner through the fee follow module contract.
Profile owners can set the profile's image URI and set the profile's "dispatcher." This refers to an address that can act on behalf of a profile's owner. The address can publish to the given profile and set the given profile's URI.
Regular wallets are able to follow profiles. This executes the profile's "follow module" logic. It mints the following wallet a "follow NFT" for that profile and is sequentially ID'd. Follow NFTs possess a custom URI that is set by profile owners.
Regular wallets can also collect publications. This executes any logic in the publication's "collect module." If the publication is a mirror, it is executed on the originally mirrored publication with a referral. It mints the collecting wallet a "collect NFT" specific to that publication and sequentially ID'd. Collect NFT URIs usually point to the collected publication's URI.
The Lens protocol possesses three layers of tokenization through ERC721 NFTs. Three of them are ERC721-compliant and composable. The LensHub upgradeable contract is the main entry point for most of the interactions in the Lens Protocol. Almost all interactions begin and double as the ERC721 NFT contract for profile NFTs, and they are minted on profile creation.
After a profile's inaugural follow, a FollowNFT contract is deployed specifically to the profile. This is the ERC721 NFT contract representing follower positions. After a publication's inaugural collect, a CollectNFT contract is deployed specifically to the publication. This is the ERC721 NFT contract representing collected publications. Follow and collect NFTs are deployed solely after the inaugural follow/collect, respectively.