Quadratic funding allocates a matching pool by counting contributors rather than dollars. Each project's funding is the square of the sum of the square roots of its individual contributions, so a hundred people giving a dollar each draw far more matching than one person giving a hundred. It is the cleanest formal answer anyone has to funding public goods, and it works only if you can tell one contributor from a hundred wallets belonging to the same person.
The square root is doing exactly one job: making the number of distinct supporters matter more than the size of the cheque. That is the design intent and the attack surface at the same time, because a wallet costs less to create than a supporter.
Scroll to see the full diagram
The formula, and what it is actually buying
Quadratic funding comes from Buterin, Hitzig and Weyl's 2018 paper on funding public goods. Funding for a project is the square of the sum of the square roots of the individual contributions made to it, and the amount drawn from the matching pool is that total minus what contributors actually gave.1
Expand the square and the mechanism turns out to be something more interesting than a formula. It is a pairwise subsidy: for every pair of contributors, the pool adds an amount proportional to the square roots of their two contributions multiplied together.1 Read that way, the pool is not rewarding money at all. It is rewarding agreement between separate people. Two people who each give a little produce a subsidy that one person giving the same total cannot.
Worked: the same hundred dollars, three shapes
Take a project that raises one hundred dollars from a hundred people, a dollar each. The square roots sum to one hundred, the square of that is ten thousand, and the matching draw is ten thousand minus the hundred already raised, so 9,900 dollars.1
Now the same hundred dollars from ten people at ten dollars each. Ten times the square root of ten is 31.62, squared is 1,000, so the matching draw is 900 dollars. And from a single person giving the full hundred: the square root of a hundred is ten, squared is a hundred, and the matching draw is zero.
Same money raised, three answers spanning 9,900 dollars. In a live round those raw numbers get normalised across every participating project so the total matching equals the fixed pool the sponsors committed.2 Normalisation rescales the outcomes without disturbing their order, so breadth still wins by roughly the margin the arithmetic above suggests.
How a real round actually runs
Gitcoin's own description of the pipeline has four stages. Sponsors commit a fixed matching pool. Contributors donate during a round window. The formula is computed and normalised across all projects against that fixed pool. And then there is a named stage called sybil review and adjustment, in which round operators review contribution data for signs of sybil attacks, collusion or manipulation and can adjust or disqualify contributions before final payout.2
Read that last stage again, because most explanations of quadratic funding leave it out. The largest live deployment of the mechanism does not pay out the formula's output. It pays out the formula's output after a review pass for fake contributors. That is not an operational nicety bolted on at the edges. It is a required stage of the pipeline, and its permanent presence tells you what the operators think of the raw output.
Why sybil resistance is the mechanism, not a safeguard
Go back to the worked example and read it as an attacker would. One person with a hundred dollars draws zero matching. The same person, with a hundred wallets holding a dollar each, draws 9,900. A mechanism built to reward breadth has no way to distinguish breadth from one person imitating it, and the payoff for imitating it is the entire subsidy.
Collusion is the same problem in different clothes. Buterin's own follow up design applies a discount between any two contributors based on how correlated their giving patterns are across projects, so two accounts that keep appearing together get subsidised less.3 Identity fraud and coordination get treated as one problem in this literature because the formula cannot tell them apart.
The infrastructure answer is to make contributions private and unprovable, so a contributor cannot demonstrate to a briber how they gave. MACI exists for that purpose and is deployed alongside quadratic funding rounds for exactly this reason.4 Note what it implies for a designer: the choice is between a transparent round that can be bribed and a private round carrying a heavier cryptographic stack and a coordinator to trust.
One thing we are not going to do is attach a specific Gitcoin sybil incident with a round number and a clawback figure, because we could not confirm one against a primary post mortem. What is documented is the process, and a review stage that runs on every round is a stronger statement about the risk than any single incident would be.
What to settle before running a round
Three decisions, in this order. What your identity floor is, and what it costs an attacker to clear it once, multiplied by the number of wallets they would need. Whether the matching pool is capped per project, because an uncapped pool means a successful sybil attack takes all of it rather than a slice. And what the review and dispute process is, including who holds the authority to disqualify a contribution and what recourse a project has when they do.
The uncomfortable part is that identity is a spend, not a setting. Proof of personhood, attestation scoring and manual review all cost money and all reduce participation, which is the exact quantity the mechanism was built to reward. Quadratic funding trades a distribution problem for an identity problem, and the identity problem does not have a clean answer yet.
That trade is worth making when what you are trying to discover is which projects have real users, because real users are precisely the signal the formula reads. It is a poor fit when you need a small number of large, expensive bets on work that will never have a broad constituency, where a funding committee is at least honest about what it is doing. Choosing the mechanism because it sounds fairer, without checking which of those two situations you are in, is how a grants programme ends up funding whoever is most practised at farming it.
Common questions
What is quadratic funding?
It is a way of allocating a matching pool that counts contributors more heavily than contributions. Each project's total is the square of the sum of the square roots of its individual donations, and the matching draw is that total minus what was actually given.1 A hundred people giving a dollar each draw 9,900 dollars of matching, while one person giving a hundred dollars draws nothing at all.
What is the difference between quadratic funding and quadratic voting?
They are related and constantly confused. Quadratic voting prices votes for one person holding a budget, so buying a given number of votes costs the square of that number in credits. Quadratic funding computes matching funds across many contributors using a square root then square rule. One is a voting mechanism for a single decision, the other is an allocation mechanism for a pool of money.
What is a sybil attack in quadratic funding?
It is one person contributing through many wallets to look like many supporters. The formula rewards the number of distinct contributors, so splitting a hundred dollars across a hundred wallets converts a zero matching draw into 9,900. That is why Gitcoin's own pipeline includes a sybil review and adjustment stage where operators can disqualify contributions before final payout.2
Does quadratic funding work without identity verification?
Not in an open setting. The subsidy scales with the count of separate contributors, so an attacker who can create wallets cheaply captures it. Every real deployment pairs the mechanism with an identity floor, a review pass, or anti-collusion infrastructure such as MACI, which makes contributions unprovable so they cannot be sold.4 Identity is a cost line in the round budget rather than a configuration setting.
See Tokenomics Design Services for how this applies in practice.
Sources
- A Flexible Design for Funding Public Goods (arXiv 1809.06421)
Vitalik Buterin, Zoe Hitzig and E. Glen Weyl; published in Management Science, 2019, 2018
The origin paper. Funding for a project is the square of the sum of the square roots of individual contributions, with the matching draw equal to that total minus contributions received, and the expansion showing the pairwise subsidy interpretation. - Quadratic Funding (mechanism documentation)
Gitcoin, 2025
The operational pipeline for a live round: fixed matching pool, contribution window, formula computed and normalised to the pool, and a named sybil review and adjustment stage where operators can adjust or disqualify contributions before final payout. - Pairwise coordination subsidies: a new quadratic funding design
Vitalik Buterin, Ethereum Research forum, 2019
Collusion resistant variant applying a discount between any two contributors based on how correlated their giving is across projects. - MACI: Public Goods Funding
Privacy and Scaling Explorations (PSE), 2025
Anti-collusion infrastructure built for quadratic funding rounds, making contributions unprovable so they cannot be demonstrated to a briber.
Last reviewed 2026-08
Know the terms but not sure how they apply to your project? That is what an engagement is for. We design, document, and stress-test the whole token economy inside the Tokenomics Data Room.
80+ projects advised. Complete tokenomics in 4 to 6 weeks.