Towns is a decentralized messaging protocol built on an Ethereum Layer 2 that enables private, programmable group chats. It combines on-chain ownership and access control with end-to-end encryption and a distributed network for message delivery, giving communities a way to operate chat spaces as digital assets with flexible pricing and governance.
Towns uses a hybrid architecture to balance decentralization with performance. This system combines an L2 blockchain with a separate, decentralized network of "Stream Nodes." This setup keeps message metadata and membership logic on-chain while delegating fast message routing and storage to a network of nodes. The result is a permissionless system that aims to be scalable, private, and programmable.
Every group chat in Towns is called a "Space," and it’s a genuine on-chain asset. Think of it like an NFT for your community. Creators own these Spaces and can encode rules for membership, roles, and governance into smart contracts. Because a Space is a tokenized object, it can be transferred, managed by a community treasury, or integrated with other decentralized applications to extend functionality.
Access to a Space is typically granted via membership tokens that often include an expiration date and a renewal option. Space owners choose how many memberships to issue and can attach pricing logic using modular smart contracts. Pricing modules can be fixed or dynamic, for example scaling as membership grows, and revenue can be split among Space owners, the protocol, and referrers.
Messages inside Spaces are protected with end-to-end encryption so that only authorized participants can read content. The Stream Nodes that route and store messages cannot decrypt message bodies, preserving confidentiality while still enabling decentralized delivery and redundancy.
Running on a Layer 2 allows Towns to benefit from Ethereum-grade security while reducing transaction fees and improving throughput. The distributed Stream Node network performs validation, delivery, and temporary storage without relying on a central operator, which helps the protocol scale to more users and groups.
Towns is governed by its community through a decentralized autonomous organization (DAO). Key stakeholders like Space owners, Node Operators, and token holders all have a voice in the protocol's future.
Governance uses the TOWNS ERC-20 token for voting, staking, delegation, and fee distribution, aligning incentives between users and infrastructure providers.
Access control in Towns is flexible. Roles and entitlements define what members can do, from reading and posting to creating channels or minting memberships. Entitlement modules let Space owners set eligibility rules based on token ownership, specific addresses, or custom on-chain conditions, enabling nuanced permission models for communities.
Towns is designed for communities that value ownership, privacy, and monetization flexibility. Typical use cases include creator communities selling limited memberships, DAOs running gated discussion channels, and projects building private support or coordination hubs where membership and reputation matter. The protocol's mix of on-chain governance and off-chain message routing aims to balance transparency with performance.
Developers building social or community apps, community managers exploring new membership models, and users who want private, user-owned group chats are likely to find Towns relevant. Its approach bridges familiar chat patterns with blockchain-native tools for ownership, payment, and governance.
Towns offers a different take on messaging by treating chat groups as programmable, on-chain assets while keeping conversations private through encryption and scalable off-chain routing. Its modular pricing, role-based permissions, and tokenized governance make it a compelling option for communities seeking more control and new monetization paths.