River Protocol’s aim is to redefine online community membership through a novel L2-based messaging protocol. By combining elements of popular group messaging tools with an innovative participation model powered by blockchain rails, River aims to give creators and users ownership over their online communities in a way that has not been possible on centralized messaging platforms such as WhatsApp and Messenger.
In this piece, we’ll take a first look at the core components of River Protocol, including its defining Spaces primitive, the debut client for interacting with the protocol, its underlying architecture, and more.
What is River Protocol?
River Protocol is a permissionless protocol for creating and managing user-owned group messaging communities known as ‘Spaces’. Through the use of smart contracts deployed on Base, a specialized node set coordinated through the protocol’s own Optimism Stack rollup, and end-to-end encrypted messaging, River provides a foundation for community-owned communication use cases that are private, scalable, and economically sustainable.
What Are River Protocol Spaces?
At the core of River Protocol are Spaces, communication groups with programmable rulesets, and tokenized roles. When a Space is created, the creator receives an ERC-721 token that represents ownership of the Space and gives them the right to tailor a variety of Space parameters as they see fit. These parameters include (but are not limited to) the number of memberships available, membership pricing models, definitions of roles within the Space, and requirements to attain a role or membership.
Because Space ownership is tokenized, ownership permissions of a Space can be easily transferred to other accounts. This allows owners to sell their Spaces to others or transfer control over the Space to a multisig to distribute control to a broader set of stakeholders. Membership in Spaces is also tokenized using the ERC-721 standard, but unlike Space ownership, memberships will follow a one-year subscription model at launch. All membership fees are denominated in USD, paid in ETH, and split between the Space owner, the River DAO, and any referrers.
In addition to the default owner and member roles, Space owners can define additional roles in their Space by aggregating permissions, defined user actions that can be taken within a Space. For example, many Space owners will likely create a moderator role that has all of the permissions of a member with the added ability to modify channel permissions.
Relevant also to the discussion of Space roles is the concept of Entitlements – Entitlements act as a prerequisite to determine eligibility for a role in a River Space. When a new Space is created, River deploys two entitlement modules by default. These allow Space owners to gate roles on the basis of Addresses/ENS names or on the basis of on-chain asset ownership. Custom entitlement modules that gate Space roles on the basis of any other on-chain information can be deployed alongside the default modules, so long as the entitlement contracts adhere to River’s entitlement module interface.
Towns and Propeller: River Protocol’s First Clients
To provide a more concrete example of what all this means in practice for end-users, we can look to Propeller and Towns, the first clients for interacting with River Protocol.
Propeller is a River Protocol client developed by Late Checkout with a focus on connecting early stage product teams and their community of power users. By replacing the standard “contact us” forms required to contact a product team with a River Space, Propeller aims to empower early stage startups to build a community and connect with their early users more personally. In addition to facilitating product feedback and support requests, Propeller also makes it possible for early users to find one another and build meaningful relationships with the teams building the products they care about. This allows product teams to more effectively understand user needs and preferences and prioritize their efforts accordingly.
The Towns client was developed by Here Not There Labs, the founding team behind River Protocol. Described by the team as a combination of Discord and Slack built on crypto rails, Towns is designed to be a generalized chat application that will be very familiar to anyone who has used a modern group messaging application, but with all the added benefits of using River Spaces as the core primitive underlying each group.
The River Messaging Protocol
In addition to the Space management functionality of River which is handled on Base, the protocol also relies on its own OP-Stack L2 known as the River Chain to facilitate encrypted message transmission.
Stream Nodes
As an L2-based protocol, River does not require its own set of validator nodes. However, it does require network operators to run Stream Nodes, machines responsible for validating and storing messages as well as distributing and coming to consensus over protocol events (e.g., messages, user actions like joining or leaving a Space, etc.).
Streams are the highest level unit of consensus in River Protocol – every Space, channel within a Space, direct message, and group direct message has its own Stream that keeps track of its state. Streams are periodically updated by Stream Nodes to reflect any changes relevant to the Stream in question. Nodes also maintain streams to manage user encryption keys, media, and user settings.
Each Stream managed by a Stream Node consists of many sequentially-linked Mini Blocks, where each Mini Block contains a sequence of protocol events. Once a quorum of Stream Nodes reaches agreement on a valid Mini Block, it is written to a contract on the River Chain and becomes part of the canonical state for the relevant stream.
At a conceptual level, the process of producing new Mini Blocks within a Stream works similarly to the way that new blocks are produced on most blockchains, except that the atomic units contained within Mini-Blocks are events rather than transactions. You can read more about the Mini-Block production process in River’s documentation here.
The River Chain
The majority of the work done on the River Chain happens through the Stream Registry contract, which serves as the single source of truth for the state of all Streams in the protocol. Stream Nodes reconcile their own internal stream states against the state present in the contract and write new streams to the contract as necessary.
The Stream Registry is also responsible for dynamically allocating network load across various nodes to maximize scalability and efficiency as messaging volume and the node set change over time. The network load rebalancing process currently requires participation from members of the River DAO, but more autonomous methods are currently in development.
River Protocol Delegation and Tokenomics
RVR, River’s native token, plays an important role in both consensus and governance in River Protocol.
RVR holders can participate in the protocol either by delegating directly to Stream Node operators or by delegating to Spaces. Spaces who receive delegation can then make node operator selections on behalf of any of their delegates, re-delegating their economic stake weight to an operator of their choice while retaining the governance weight associated with the user’s delegation.
By delegating through a Space, users can boost the governance profile of the Space while still earning staking rewards via indirect delegation to operators. Spaces with enough delegated RVR will also benefit from protocol level perks, including additional data retention and the ability to set custom pricing models for user subscriptions.
While holding RVR is a requirement to participate in governance and earn consensus rewards, it is not required for users who want to interact with River Protocol solely in the context of a messaging use case – Space creation, membership purchases, membership renewals, and associated fees are all paid for with ETH.
The River DAO
The River DAO provides a platform for stakeholders in River Protocol to discuss, vote on, and implement changes including protocol upgrades, changes to governance structure, and community growth initiatives. Proposals are submitted and voted on by the community through smart contracts deployed on Base. Only Space Owners and Node Operators are eligible to put forward a proposal, but any RVR token holder is eligible to vote. Each holder’s weight in a given vote is proportional to the number of RVR tokens they hold.
The Team
Here Not There Labs, the team behind River Protocol and Towns, draws on a wealth of prior experience building social applications outside of crypto. Ben Rubin, HNT Labs Co-founder and CEO, founded Meerkat and Houseparty. Both of these apps gained significant traction, with Houseparty ultimately being acquired by Epic Games in 2019. Rubin describes his vision for River as a protocol that helps raise the ceiling on what online communities can accomplish by driving the value created within them back to their members.
Figment’s Involvement
Figment is proud to be participating as one of the first Stream Node operators on River Protocol. As an early infrastructure operator on the network, Figment is excited to play a role in River’s development and help our institutional clients navigate participation in the protocol’s unique delegation and tokenomics model. We look forward to working with the River community to help bring the team’s vision to fruition.
River Protocol presents an ambitious vision for a world in which online communities are owned and operated by their members rather than centralized corporate entities. By building on the composability and open innovation enabled by blockchain technology, the protocol has the potential to push forward the conversation around what’s possible when it comes to aligning incentives between platform operators and end users.
Figment is the leading provider of staking infrastructure. Figment provides the complete staking solution for over 500 institutional clients, including asset managers, exchanges, wallets, foundations, custodians, and large token holders, to earn rewards on their digital assets. Institutional staking services from Figment include seamless point-and-click staking, portfolio reward tracking, API integrations, audited infrastructure, and slashing protection. This all leads to Figment’s mission to support the adoption, growth, and long-term success of the digital asset ecosystem. Meet with us to learn more about River Protocol staking.