Introducing the New Lens
The high-performance network with embedded powerful modular Social Features.
We are excited to introduce the new Lens V3 as a Developer Preview and begin migrating existing Lens applications and welcoming new applications to Lens.
Our vision at Lens is to provide resilient infrastructure that minimizes any single point of failure and is free from external interference, enabling open and user-owned social applications to thrive. With the new Lens, developers can build on a network designed for scalable consumer and social applications that are the highest quality, easy-to-use, and offer a seamless experience for users.
We believe that consumer onchain apps should be able to support free everyday social interactions without compromising user ownership and portability.
To achieve this vision, Lens has built resilient infrastructure that guarantees open participation and ownership rights while being efficient, secure, and scalable. We built Lens on ZKsync, which provides powerful horizontal scaling, secured by Ethereum, while leveraging Avail for data availability. As a result, costs on Lens are minimal enough, similar to cloud server costs, for developers to easily absorb them. Additionally, users can log on with their phone or email to transact onchain.
Our intuitively designed onchain toolkit introduces new modular Social Features such as Accounts, Usernames, Graphs, Feeds and Groups, making it easy to add these to any app. Each Feature has been thoughtfully designed to offer developers maximum flexibility along with monetization opportunities and great user experience. Let’s explore the key Features below.
New Lens Features
Add Rules to Plug-and-Play Social Features
Lens offers a highly customisable set of powerful Social Features developers can choose from. We’ve streamlined the architecture to make integrating Social Features easy and flexible. Developers can build experiences with easy-to-plug-in “Social Legos.” With the new Lens, developers can select specific Social Features for their users and customize these via onchain Rules.
Developers can either use global instances of Social Features and leverage the Lens user base, or they can deploy their own app-specific instances of the new features to create a more governed and unique experience. These onchain Social Features can be set as either mutable for community governance or as immutable smart contracts.
Each Social Feature on Lens consists of a straightforward core contract, containing essential functionality. These core contracts can be modified with Rules. For example, a rule can be as simple as requiring an ERC-20 balance or to hold a certain NFT to be able to post on a Feed, opening the doors to collaborative and curated feeds.
By creating new Social Features and Rules, developers can continually expand the protocol’s functionality, adding new use cases in the future.
Onchain Social Features
Accounts
The new Lens introduces a new concept called Accounts. Accounts are smart contracts where the user ID uniqueness is based on EVM addresses, eliminating the need for tokenization. Accounts are fully portable, enabling a single user Account to interact seamlessly with all Lens features and applications.
Accounts are immutable, meaning that once created, they belong to the user and cannot be taken away. Users can add managers and manage their permissions, allowing others to use their accounts securely.
Existing Lens Profiles will be migrated to Accounts preserving users' identities across the network.
Usernames
Usernames were formerly known as Handles. Each Account can own multiple Usernames from different Namespaces but can only have a single Username assigned to their Account at any one time from one Namespace. This flexibility enables users to create different personas for various apps, tailored to specific use cases while retaining Account portability.
Developers can choose to use the global Namespace, inheriting shared Usernames for their users, or they can create their own unique, dedicated Namespace, which offers control over Username issuance, monetization options and the ability to build your own rules. Usernames are represented as NFTs, making them fully transferable and enabling royalties on secondary market sales.
Once a Username is claimed, it belongs to the user and cannot be taken away.
Graphs
Graphs are a new Social Feature on Lens that maps Follow connections Account-to-Account basis on Lens. With the new Lens, developers can choose to utilize the existing global Graph to benefit from shared network effects, or they can create their own dedicated Graphs.
Users do not need to create new Accounts to connect with others across different Graphs. Thanks to Account portability, users can access all available Graphs seamlessly (unless restricted by specific Rules) and can connect with other Accounts using their existing Account.
Graphs come with built-in Rules for connecting Accounts, offering options such as free connections, pay-to-connect models, and token gating with ERC-20 tokens or NFTs. Developers can also integrate additional Rules, such as limiting the size of a Graph to control the number of connections per user or build anything they imagine.
Feeds
Feeds are a flagship Social Feature in Lens and provide a powerful tool for content curation. Developers can set custom requirements for content creation for a Feed, all enforced by smart contracts.
Developers can either use the global Feed for their users or deploy custom Feeds with flexible Rules. These rules, managed by the feed owner, can consist of open feeds where anyone can post, paid feeds, or token-gated feeds.
Feeds are designed to scale from personal blogs and collaborative publications to decentralized newspapers and curated interest feeds, where Rules and community governance are enforced transparently onchain, surpassing resilience and transparency of any current Web2 content platform. Feed rules could include transparent, community-driven content moderation rights enforced onchain.
Posts to the Feed are like Follows to the Graph. A post can only exist within a feed, and it’s created through a Feed. Posts come with Post Rules that can be set by the post’s author who can add conditions for users interacting with their posts. For example, the post author can require a specific ERC-20 balance to comment or allow only followers to quote.
Post Rules differ from Actions. Post Rules establish scarcity and conditions, while Actions extend to any smart contract functionality for richer user interactions.
Groups
Onchain, membership-based Groups have been a highly requested feature from the Lens developer community. Groups empower group owners or admins to set custom Rules for membership, defining how and which Accounts can join. For example, entry requirements might include admin approval, a joining fee, or a vouching system where existing members endorse new members.
Furthermore, Group Rules can allow actions like removing members or delegating group governance to specific Accounts, acting as moderators. Alternatively, Groups can be structured so that no member has the authority to remove others, giving onchain Groups far more flexibility and power than traditional Web2 community platforms.
Groups are designed solely to manage memberships but can be combined with other Lens features for enhanced functionality. For instance, a Group can be associated with one or more Feeds, enabling it to serve as a “subscription” mechanism for content like blogs or public newsletters and enable exclusively group members to publish in a feed.
Another use case might involve a Group that grants select Accounts, such as power users, the ability to mint shorter usernames within a specific Username Namespace.
Groups can include a Group wallet that is governed collectively by group members. Alongside rules, developers can create dedicated feeds and graphs governed by the groups, showing the power of how the primitive can be used together and on its own.
Lens Storage Nodes
We’re excited to introduce a new approach to content storage, designed from the ground up based on insights gathered over the past two years. Lens Storage Nodes set a new standard for content storage in social networks, prioritizing data integrity and streamlined management for users. Built in Rust, Lens Storage Nodes serve as a robust content management layer, leveraging IPFS and EVM-compatible chains. This enables developers to store user content in a resilient, decentralized system while ensuring users with full control over uploading, retrieving, editing, and deleting their content through secure, onchain function calls secured by Ethereum.
This process authenticates using EVM signatures and then uploads the data to the Storage Nodes, which securely stores it. We’ve implemented a flexible, multi-chain access control mechanism by linking user-defined contracts on any EVM-compatible chain.
Any modification of data on the Storage Nodes is allowed only after the specified contract function call is confirmed onchain, binding access controls through smart contracts.
Here’s an example of a Lens V3 account on the Lens Testnet that restricts modification access to specific content stored on the Storage Nodes:
{ "contract_address": "0xaafb9c729abA1307d720B2161A1A635E4DC58cfA", "chain_id": 37111, "network_type": "evm", "function_sig": "canExecuteTransactions(address)", "params": ["<recovered_address>"] }
This example demonstrates: “Allow users to edit or delete this content only if the method canExecuteTransaction
on contract 0xaafb9c729abA1307d720B2161A1A635E4DC58cfA
returns true
when called with the injected EVM address (verified by signing a challenge).” This highlights how seamlessly custom access controls can be integrated with the content.
To modify content, a user first signs a message with their wallet. The address recovered from this signature is then used to call the canExecuteTransactions(address)
function on the specified contract and chain_id
. If this function call returns true
, the modification is approved, and the Storage Node executes the change. If it returns false
, the modification is denied—"not your keys, not your data." This approach empowers users to control their data while leveraging the security guarantees provided by EVM signatures.
Our vision is to make Storage Nodes resilient. To support this, we’ve designed our infrastructure to enable others to join our network and operate Lens Storage Nodes in the future.
What's next?
We encourage the developer community to explore the core features of the new Lens on testnet and, for those with existing Lens applications, to begin preparing for migration. We invite you to provide feedback that is invaluable in helping us shape the future of social networking. We’re excited to see the innovative solutions that will emerge from the developer community with the new Lens.
To join the Developer Preview visit the Lens V3 Developer Preview.