The Snowdrift.coop Funding Mechanism

Note: we have a separate basic intro page. This is the more thorough explanation, and see the links here for further details.

At Snowdrift.coop, patrons pledge to donate based on how many other patrons donate with them. Thus, when you join, others will donate more. Together, we can fund the public goods that benefit us all.1

The pledge process

  1. Patron authorizes2 funds for their Snowdrift.coop account
  2. Patron chooses projects to support and pledges to donate their set tiny base amount per patron to the same projects.
  3. Once a month, funds are distributed from patrons to projects according to the pledges registered in the system.

Patrons can monitor project progress, add funds when low, and engage with the rest of the community. For any particular month, the donation from one patron is simply their match base multiplied by the number of active patrons the project has at the time of donation.

Each patron matches all other patrons

The minimum match level is 0.1¢ for each patron donating to the same project with you. That’s the same as 1¢ per 10 patrons or $1 per 1,000 patrons.

With 200 base-level patrons, each donates a monthly 20¢; at 1,000 base-level patrons, each donates $1; and at 10,000 base-level patrons, each donates $10. The donation from any one patron increases linearly with the number of total patrons.

Funding grows quadratically with more patrons

A linear increase in patrons, multiplied by a linear increase in each patron’s donation equals a quadratic increase in total donations.

more patrons

× more $ per patron = quadratic funding growth

For a project with 200 base-level patrons, monthly funding totals $40; at 1,000 patrons, monthly funding is $1,000; and a project with 10,000 base-level patrons will receive $100,000 each month.

Existing patrons match each new patron

The chart below shows another way to think about matching (when all patrons are at the same pledge-level). The blue indicates a one patron’s donation. When a new patron joins a project, each existing patron adds 0.1¢ extra — indicated in orange. The combined increase from all previous patrons matches the entire new patron’s donation.3

Of course, this means not only that the new patron gets matched by everyone else, it also means that each existing patron’s extra 0.1¢ is matched many times over! While it’s nice enough to receive 1-to-1 matching initially, everyone agreeing to the pledge together means each small increase you accept after your the initial pledge gets matched at rates of 1,000-to-1 or 10,000-to-1 or more.

Pledging beyond the minimum

For those those who can, Snowdrift.coop encourages patrons to increase their match level. Instead of donating 0.1¢ per patron, a more generous or wealthy patron might offer 0.4¢ per patron or even 1¢ per patron. A higher match level provides extra support for projects and a stronger invitation for others to join.4


Each user sets their system-wide budget by setting the amount of funds available to the system.

See our legal documentation for more about transactions and our precise handling of funds.

Funding buffer

To submit a pledge, a user must have at least 3 months worth of funds authorized at the current pledge value. Whenever available funds drop below the 3 month buffer, patrons will get a notice encouraging them to authorize more funds. Patrons will have the ability to drop their pledge at any time or change their system-wide match level.5

Pledges get dropped if funds run out

If a user has no funds available, their pledges automatically deactivate and they will no longer count toward other pledges to the projects.

If a user has insufficient (but non-zero) funds, the system will distribute all their remaining funds among their pledges on the next payout, but naturally they won’t pay out the full amount. Instead, each pledge is scaled equally to the appropriate fraction of their budget. Then, at the next payout time, if no new funds were authorized, their pledges will be dropped.

Avoiding or recovering from deactivation

A sufficient addition of funds will automatically reinstate pledges. If a patron is deactivated, though, they must provide 3 payouts’ worth of funds, just as if they were making a new pledge.

Budget notifications

Notifications get sent for a number of events related to a patron’s budget. Some of these notifications are required, meaning the patron cannot turn them off.

Event Required? Defaults
Balance falls under 3 payouts’ supply No web, email
Balance falls under 1 payout’s supply (underfunded) Yes web, email
Balance falls to zero Yes web, email
Payout occurs No web

Benefits of the Snowdrift.coop mechanism

Our matching pledge solves the Snowdrift Dilemma by removing any incentive to delay donating, yet our design gives us several additional advantages.

Flexibility with practical limits

For social negotiations to achieve optimum cooperation, flexibility is required from everyone. As seen in game theory scenarios, a known end or fixed maximum can lead to reduced cooperation. Fixed amounts of funds mean zero-sum games. Even with matching funds, if the available matching has a strict limit, then potential donors may recognize that as long as enough people pledge, the total possible matching will be claimed, and so they can hope that others will take care of it.

Patrons cannot easily predetermine what donation level is “fair”. Human beings do not judge value and price objectively. Anchor values (such as the “suggested price” on products) make a “reduced” sale price seem great. Consider also how auctions work: people may plan to bid only a certain amount, but our perception of value changes when we see that others are willing to bid more. Complexity only increases when it comes to funding future work where we do not already experience the value of the results.

Snowdrift.coop avoids arbitrary thresholds. We aim to bring out the best from everyone, all contributing their share relative to their means. As patrons see the potential from all working together, they will realize the value of being flexible themselves in order to build together the world we all want. We hope that the natural market forces within our system will maximize funding and yet stabilize at sustainable levels due to the system’s inherent practical limits.

Testing and natural patterns within the system

Once the site has more advanced functioning (with actual graphs and data generated by the test users), we can tweak things as needed. Natural patterns will emerge regarding how patrons pledge and adjust pledges across different projects and over time along with project progress and growth.

Constructive competition

Projects at Snowdrift.coop still compete for funds. If a patron sticks to a strict budget, their pledge to a successful project may grow and take more of their funds, leaving less for their other pledges. That’s the way the market goes sometimes, and it makes sense for the community to get behind the most promising projects. Of course, we want many successful projects, so Snowdrift.coop encourages patrons to increase their total budget as feasible to support all their pledges. In the end, this system uses natural market pressures that favor the most deserving projects while also growing the market overall to achieve as much overall success as the community can effectively support.

Project growth and stability

Snowdrift.coop aims to provide relatively reliable funding streams that allow projects to plan development more effectively. A growing number of patrons enables hiring more team members, creating operating reserves, and/or donating to fund upstream projects.

An adequately funded project can announce its status. Then, pledge levels will naturally stabilize as patrons choose to focus on other projects with unmet needs.

Social encouragement yet personal control

Through matching, a project’s patrons encourage each other to donate more than they otherwise might on their own, but each still retains control over their total obligations. The community works together in a bottom-up fashion to help maximize the overall funding and to democratically route it to the most deserving projects. Our basic requirements and honor reporting along with user reviews, history, and other elements all help patrons trust the projects in the system and identify the most worthy ones to support.

Reliability, Accountability, Trust

Because payouts from patrons to projects occur regularly, patrons have a regular time-frame in which to evaluate each project’s progress and alter their pledges. Knowing that patrons may change their support, projects have incentive to attend to the needs and desires of their patron community.

Our monthly time-frame allows projects enough time to show significant progress between payouts while still keeping connected to patrons.

  1. Some readers may be familiar with Paul Harrison’s proposed Rational Street Performer Protocol, which also involves many-to-many matching pledges. Snowdrift.coop is the first platform to implement this type of idea. The RSPP did not propose subscription-style pledging, has a few other bits of awkwardness, and doesn’t address the larger social and holistic elements that we feel are necessary for this system to truly succeed.

  2. specific financial authorization/deposit process will depend on our final implementation

  3. This is all technically off by a single 0.1¢ because we simplified the formula after this chart was made. With the updated formula, each donation is 0.1¢ higher because they start at that instead of starting at zero. The general effect is unchanged, but it is no longer precisely 1:1 matching because it is off by 0.1¢.

  4. We originally proposed a method to partially match larger pledge values in a way that tapers off. Reasons to include extra matching include: encouraging more donation from those who can and reducing incentive to open duplicate accounts just to get more matching. While sensible in principle, this addition is much harder to explain, so we’re leaving it out at this time. See the share-value formula page to understand the older proposal.

  5. We considered the apparently sensible option of setting different match levels per project, but we’re not supporting that extra variable now, preferring to keep things simpler for what is already a new type of system for users to understand.