StandardBounties 2.0: No Assembly Required

Ushering In a New Era of Bounties

Going Live with StandardBounties 2.0

When we first started working on The Bounties Network in Spring of 2017, our main goal was simple: to create a generalized protocol for bounties on Ethereum. This would allow for interoperable marketplaces to be built with ease, letting any application integrate the use of bounties as they saw fit.

When we launched the StandardBounties protocol and Bounties Explorer to Mainnet in October of 2017, the smart contracts that would power this shared liquidity pool were fairly simple. However, we baked in a number of default features which were meant to protect freelancers: that people who post bounties wouldn’t be able to change requirements on the fly (an issue freelancers face on a daily basis), and that they wouldn’t be able to decrease the payouts without first de-activating the bounty and creating a new one. This marked a clear change from web2.0 models, and reflected our belief in creating new means of earning for people that didn’t commoditize or de-humanize them, but rather respected the needs of individuals on both sides of the transactions.

As the protocol and the Explorer got more and more traction and we expanded the use of bounties across different verticals, the feedback started rolling in.

Our first key realisation was that bounty issuers could still choose not to pay bounty fulfillers if they didn’t want to, so we’d eventually need a dispute resolution mechanism alongside the bounty escrow contracts. Changing requirements unfairly or refusing to pay people all fall within the scope of dispute resolution mechanisms, and shouldn’t therefore be included within the core bounty escrow contracts. While we’ve spent significant time exploring such dispute resolution mechanisms, we’re lucky enough to not need such complex solutions just yet.

Alongside this feedback that the contracts were too restrictive, we also learned that the contracts weren’t nearly as flexible as real life use cases needed them to be. Our users didn’t just want fixed payouts, they wanted to experiment with new fund disbursal mechanisms and dynamic payouts. This had nothing to do with avoiding set rewards, but an attempt to fairly distribute funds when requirements weren’t as simple as one fulfiller submitting deliverables.

As a result, we went back to the drawing board and re-wrote our StandardBounties smart contracts from scratch to more accurately reflect the way that our users were interacting with each other. We’re excited to say that these new contracts are now live, and that many of these new features are coming soon to the Bounties Explorer.

Here are some of the major changes coming to StandardBounties:

NFT Bounties

In the last year and a half, the Ethereum ecosystem has fallen in love with non-fungible tokens, realizing how important they are in representing the non-fungible assets we already interact with, digital or otherwise. To that end, we’re excited that our new contracts will now support rewards in NFTs, so that our users can continue experimenting with new ways to reward each other with tokenized assets.

Meta Transactions

One of the biggest complaints we hear is that interacting with smart contracts shouldn’t necessarily cost gas, if there are other users willing to sponsor them. To that end, we’ve created a Meta Transaction Relayer that’s custom built for StandardBounties which lets anyone submit signed messages on anyone else’s behalf, paying the gas on their behalf while still make verifiably consistent state transitions on Ethereum. While we recognize that the ecosystem is still early in defining the best solution for gas-less transactions, we believe this is a good first step that will enable us to further experiment with sponsored transactions.

Collaboration

One of the largest oversights in our initial contracts was the inability for multiple users to receive payouts for a submission (without deploying a multi-sig wallet on the group’s behalf). This greatly restricts the manner in which users can collaborate each other, and once again does not properly reflect the manner in which our users actually perform tasks. We’ve now added the ability for submissions to include multiple payout recipients, so that people can work together on tasks and get paid easily for doing so.

Dynamic Payouts

By far the most dramatic change to the way our bounty escrow contracts work is around bounty payouts, which are now entirely flexible and enable bounty issuers to choose how much to pay various submissions even after the bounty has completed. This means that Bounties Network users can continue experimenting with new competition models, such as paying a subset of the bounty to chosen submissions and having the remainder split among submissions which weren’t selected.

Issuers can now also pay out a subset of the bounty in a piecemeal fashion based on the completion of particular milestones within a given bounty, letting various contributors do parts of the task (without collaborating) rather than requiring a single submission to include the finished deliverables. This will enable Bounties Network to host even larger and more important tasks than ever before.