John Palmer

Posted on Nov 17, 2022Read on

Introducing the Party Protocol

Making Crypto Multiplayer

PartyDAO exists to make crypto multiplayer. Though blockchains and cryptocurrencies uniquely enable individual sovereignty, we believe that this technology is also inherently social, unlocking new kinds of coordination that have never been possible before.

Smart contracts provide strong guarantees for how software will behave, and have been used to build new services where the rules are transparent and trust in a specific provider is no longer required. However, the coordination enabled by these protocols does not typically happen at a social layer. We believe the same leaps forward that trustless protocols have brought to financial primitives can be brought to groups of people acting in coordination, and that this will be a core unlock for Ethereum.

PartyDAO’s first product, PartyBid V1, gave us a glimpse into this possibility. It took a simple but popular on-chain action – buying an NFT – and turned it into a group experience through a unique combination of protocol engineering and a user-friendly consumer application. People used the product not just for economic reasons, but for social ones as well, forming Parties with motivations far beyond an initial purchase.

We believe there is a larger protocol opportunity for group coordination. New primitives that help people assemble around shared goals will help evolve Ethereum into a network where people can do more together.

Party Protocol

Today, we’re releasing the Party Protocol as a first step in making this future possible. The protocol aims to be a standard for group coordination, providing on-chain functionality for essential group behaviors:

  1. Formation: Assembling a group and combining resources.

  2. Coordination: Making decisions and taking action together.

  3. Distribution:  Sharing resources with group members.

Rather than pursuing a generic approach to start, we’re releasing the first version of the Party Protocol with a focus on NFTs, largely inspired by our initial work on PartyBid. The protocol addresses a lifecycle that includes the following:

Formation via Crowdfunding

The Party Protocol provides crowdfund contracts that let groups combine ETH with the goal of purchasing an NFT. The protocol provides specific crowdfund types for bidding in an auction, buying a specific item at a fixed price, or purchasing any item in a collection. These contracts are trustless - the Party either purchases the NFT, or everyone’s money is refunded. If the Party is successful, contributors receive voting power in the Party proportional to the amount of  ETH they contributed to the final purchase price. Additional crowdfund types are in development and can be added over time.

Coordination via Proposals

When a Party successfully purchases an NFT, it becomes something like an on-chain multiplayer wallet. Members of the Party can then coordinate together to decide on actions to take. There are a few basic elements to this system:

  1. NFT memberships: Every member in a Party receives an on-chain membership in the form of an NFT, with a fixed amount of voting power according to their contribution. Members can use these NFTs to create or vote on proposals, delegate votes to others, or claim tokens and ETH when the Party creates distributions. Because memberships are themselves NFTs, they are transferable, allowing for fluid group membership over time. Finally, the protocol renders these NFTs on-chain based on live state, meaning each one acts as a dynamic UI displaying the Party’s current activity.

  2. Voting: Parties have an on-chain voting system for taking actions. Rather than a fixed-length voting period which can limit the speed of action, Parties use an acceptance threshold to pass proposals. This allows Parties to move quickly, rather than waiting for a fixed amount of time to pass. This voting system also supports delegation for more efficient coordination. As a safety measure, the Party’s creator and any additional “Party Hosts” maintain veto power, which can be exercised or relinquished at any time.

  3. Proposal engines: The Party Protocol introduces the concept of a proposal engine, which defines the possible actions a Party can take. This gives members more clarity around what’s in scope for voting. Today, all Parties use a default proposal engine focused on NFTs. It supports selling on popular marketplaces, as well as the ability to call any smart contract function. Proper guardrails are built in - the proposal engine makes sure an NFT is never accidentally sold or transferred.

Distribution via ETH or Tokens

When a Party accumulates ETH or ERC-20 tokens, it has the ability to make them available for members to claim. Anyone in a Party can create a distribution for a specific asset, enabling all members to claim amounts proportional to their ownership in the Party.

Release Info

The Party Protocol has been audited by Code4rena and 0xMacro, deployed to mainnet, and published on GitHub under a public GPL 3.0 license. As an additional security measure, an open bug bounty program is now live.

What’s Next

Ethereum is an ecosystem built on the tenet of composability, and over time, the Party Protocol will become more and more composable as well. Moving forward, we plan to expand the protocol significantly to become the best primitive for group coordination.

We’ll soon be releasing an entirely new version of our product, PartyBid, demonstrating what can be built on top of this protocol. We believe PartyBid and products like it – protocol-enabled consumer applications – have the potential to unlock new capabilities for millions of people.

As Ethereum continues to grow, the ability to participate in this ecosystem in multiplayer will give people powerful new ways to coordinate both socially and economically. However, this future is not yet guaranteed. The Party Protocol is our next big step toward making this vision a reality.

Get in Touch

If you’re a developer interested in staying up to date with the protocol or getting involved, please let us know via our developer interest form. Technical questions are welcome on the Discussions page or in the PartyDAO Discord server.