← phil Quadratic Funding
Explorable — every number on this page can be poked

The matching pool that listens to the crowd, not the biggest check

Quadratic funding is a way to split a pot of matching money across community projects. Instead of amplifying whoever donates the most dollars, it amplifies whatever the most people donate to — and it does it with one strange, beautiful formula.

Scroll through. Each idea builds on the last, and every figure responds to you.

Step 1

Dollar-for-dollar matching is deaf

Matching campaigns are everywhere: a sponsor promises to match the community's donations, and small gifts feel twice as big. But classic 1:1 matching has a blind spot — it only counts dollars, never people.

Two projects below each raised exactly $100. One got it from a single patron. The other got it from ten neighbors. Flip the matching rule and watch what each one hears.

direct donations matching
Step 2

The square: where the formula comes from

Here is the whole mechanism: take each donation, take its square root, add the roots together, and square the sum. That number is what the project should receive. Whatever the donors didn't cover, the matching pool tops up.

It sounds arbitrary until you draw it. Give each donor a strip whose width is the square root of their gift, and lay the strips along two sides of a square:

Donations$0the colored diagonal cells
Matching unlocked$0the green cells — every pair of donors agreeing
Total funding$0the area of the whole square
Donors — edit gifts, remove, or add your own
Each donor's own money sits on the diagonal. Every off-diagonal cell is two different donors meeting — and the pool pays for those. Two donors create 2 meeting cells; sixteen donors create 240. That's the quadratic.

Same $144 every time. One whale fills a tiny square alone and unlocks nothing. Sixteen neighbors tile a square sixteen times larger — because under the square root, you can't buy agreement, you can only be agreed with.

A donation's power grows with the number of people beside it, not the size of the wallet behind it. Splitting your own gift across fake accounts is the obvious cheat — hold that thought for Step 4.
Step 3

Run a whole round

A real round has many projects and one fixed matching pool, so projects receive shares of the pool in proportion to the matching each one deserves. This round has five projects, a ledger of contributors you can edit, and the guardrails real rounds use.

Try the scenarios: drop a whale on one project, send a grassroots wave at another, or launch a sybil attack and watch the verified-matching gate absorb it.

Scenario
The pool
Guardrails
Direct donations$0
Match allocated$0
Eligible donors0
Best breadth lift0x

The contribution ledger

every cell is editable — the round recomputes as you type
Step 4

How to break it — and the patches

Sybil attacks. If breadth is what pays, fake breadth is the attack. One person posing as ten accounts turns a whale's money into a crowd's power. That's why the round above ties matching weight to verified identities — try the sybil scenario with the gate off and watch ten $12 accounts hijack the pool.

Collusion. Subtler: real, distinct people coordinating ("you back mine, I'll back yours") also manufactures agreement. Production systems like Gitcoin Grants cluster correlated donors and discount their matching — pairwise-bounded QF is the standard refinement.

A finite pool. The square says what a project deserves; the pool rarely covers it. Scaling every project's match down proportionally keeps the ranking, but slightly weakens the incentives the ideal mechanism promises.

Go deeper: wtfisqf.com, the original paper — Buterin, Hitzig & Weyl, A Flexible Design for Funding Public Goods — and Gitcoin Grants, where this runs with real money.