Distribute COMP to Affected Users in the DAI Liquidations
01Summary
Distribute 55,254.96 COMP (~$8.6M at time of proposal) from the Comptroller treasury to 85 affected users who lost DAI in the November 26, 2020 liquidation event, compensating them 8% of their liquidated amounts via an automated Merkle distributor contract.
- Type
- treasury allocation
- Funding
- $~$8.6M (55,254.96 COMP at $155 price)
Key changes
- Transfer 55,254.96 COMP from Comptroller to Merkle distributor contract for automatic distribution to affected users(high)
- Compensation mechanism: users receive COMP equal to 8% of their liquidated DAI amount, calculated using 14-day average COMP price of $123.39(high)
- Implementation uses _grantComp function to distribute treasury assets without requiring individual user contract interactions(medium)
Notable concerns
- Proposal author was one of the 121 affected users, creating potential conflict of interest disclosure
- Distribution represents 0.55% of total COMP supply; replenishment possible within 60 days at current treasury accrual rates
Generated by Kvorum
02Description
Distribute COMP to Affected Users in the DAI Liquidations
Background:
COMP distribution to users began on June 15, 2020, and has since distributed ~450K COMP, with approximately 4MM COMP remaining.
Behind the scenes, the distribution works through two main contracts, the Reservoir, and the Comptroller. The Reservoir is an immutable contract that exists outside the control of governance and drips 0.50 COMP per block into the Comptroller contract. The Reservoir continuously adds COMP at the drip rate and is independent of the rate at which the Comptroller distributes such COMP. The Comptroller contract controls the usage and distribution rate of COMP for a number of functions including but not limited to, i) distribution to borrowers and lenders for each market, ii) building a reserve that can be used for community needs, and iii) voting, among other uses.
Currently, the Comptroller distributes 0.352 COMP/block (70%) on liquidity incentives and accrues the remaining 0.148 COMP/block (30%) as treasury reserves. At the current COMP price of $155, Compound's treasury is growing at a rate of ~$149,000 per day, or $4.5MM per month.
Gauntlet's prop30 added the ability for the Comptroller contract to send COMP to a particular user, group, address, or contract selected by a governance vote. These changes as described by jmo, enable a plethora of use cases, including the use of treasury assets to compensate those liquidated in the Thanksgiving Event, as suggested by mrhen.
Mechanics:
This proposal uses the _grantComp function introduced by Gauntlet to distribute a set quantity of COMP to a Merkle distributor contract that will automatically distribute the corresponding COMP to each of the wallets affected—user's don't need to interact with any contract to claim this COMP; After the proposal's execution, the relayer will claim COMP for each wallet according to the Merkle distributor and distribute it.
To calculate the amount of COMP needed from the Comptroller for the compensation, this proposal uses the 14-day average closing price of COMP from CoinMarketCap as of the time of writing (12/8/20) to compensate users 8% of the liquidated amount.
As an illustrative example, if a wallet had 100 DAI repaid by a liquidator, then that wallet would receive 8 DAI worth of COMP, which equates to 0.064 COMP of compensation (using a 14-day average COMP price of $123.39).
Distributor Methodology
Referencing the DAI liquidations spreadsheet published by rleshner, a total of 85,220,406.43 DAI was repaid on 11/26/20. Applying the 8% liquidation penalty, this proposal would pay out a total of 6,817,632.51 DAI (in COMP). Taking the 6,817,632.51 DAI and dividing by $123.39 (the 14-day average price of COMP) equals 55,254.95 COMP distributed to users.
- To view the detailed math breakdown, see here.
- To preview the COMP distribution per address, see here.
Overall, this distribution of COMP represents only 0.55% of the fully diluted COMP 10M supply and less than 2% of the 24hr COMP volume traded globally, suggesting minimal market impact. Additionally, assuming the Comptroller earns 962 COMP per day, the 55k COMP distribution will be replenished in less than 60 days.
Next steps: If you support this proposal, you can delegate COMP to this autonomous proposal.
Disclosure: For full transparency, I was one of the 121 Compound users affected in the DAI liquidation event. I recently worked with the community to pass a reserve factor change to the DAI market to de-risk it and prevent repeat events.
Resources: To view the full forum post, see here.
03Mismatch analysis
The proposal describes using Comptroller._grantComp to fund a Merkle distributor that will pay affected DAI liquidation users, with a total payout of ~55,254.95 COMP. The calldata's three actions implement exactly this pattern: (1) _grantComp mints/allocates 55,254.0559 COMP to the Compound Timelock itself, (2) the Timelock approves a spender contract (0x12dee316...) for that same amount, and (3) calls fund() on that contract, which is the standard mechanism to push approved COMP into a funding/distributor contract. This three-step grant→approve→fund pattern is standard boilerplate for Compound treasury distributions and is reasonably summarized by the description's single-sentence explanation of using _grantComp to fund the Merkle distributor; omitting the mechanical approve/fund steps is legitimate summarization, not a material omission. The COMP amount in calldata (55,254.0559 COMP) matches the description's stated 55,254.95 COMP within a negligible rounding difference (~0.0016%), which is not material. No target, recipient, or magnitude mismatches were found. Overall the description accurately and completely reflects the intent and effect of the on-chain actions.
Generated by Kvorum
04Actions
- Target
- 0x3d98…cd3b
- Value
- 0 wei
- Function
- _grantComp(address,uint256)
- Arguments
{ "0": "0x6d903f6003cca6255D85CcA4D3B5E5146dC33925", "1": "55254055928856683239047" }- Calldata
- Target
- 0xc00e…6888
- Value
- 0 wei
- Function
- approve(address,uint256)
- Arguments
{ "0": "0x12DEE316A8174AC6B025d1Ebc17005e94A3c12e5", "1": "55254055928856683239047" }- Calldata
- Target
- 0x12de…12e5
- Value
- 0 wei
- Function
- fund()
- Arguments
{}- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| ED0xed40…08ff | Against | 325.7K | 36.43% | — | 6y ago |
| 2F0x2f04…7718 | For | 117.9K | 13.18% | — | 6y ago |
| 540x54a3…e189 | Against | 100.1K | 11.19% | — | 6y ago |
| 7E0x7e4a…19fa | Against | 100K | 11.18% | — | 6y ago |
| 1D0x1d29…5d1f | For | 50K | 5.59% | — | 6y ago |
| 5D0x5d89…9e68 | Against | 50K | 5.59% | — | 6y ago |
| 2F0x2fd6…ba43 | Against | 25K | 2.80% | — | 6y ago |
| DAdakeshi.eth0xe3c9…6b21 | Against | 20K | 2.24% | — | 6y ago |
| 140x1494…3c2b | For | 17.5K | 1.95% | — | 6y ago |
| E50xe5b5…4b03 | Against | 15K | 1.68% | — | 6y ago |
| 0A0x0a09…b92e | Against | 15K | 1.68% | — | 6y ago |
| CF0xcfae…135a | For | 10K | 1.12% | — | 6y ago |
| 5B0x5b97…66c2 | For | 10K | 1.12% | — | 6y ago |
| B00xb032…449b | Against | 9K | 1.01% | — | 6y ago |
| A80xa8c6…3985 | Against | 8K | 0.89% | — | 6y ago |
| 8D0x8d07…a265 | For | 7.5K | 0.84% | — | 6y ago |
| TEtennisbowling.eth0xc3aa…f546 | Against | 5K | 0.56% | — | 6y ago |
| B80xb8a6…6406 | Against | 5K | 0.56% | — | 6y ago |
| A50xa5dc…d648 | Against | 3.3K | 0.36% | — | 6y ago |
| 7F0x7f84…4d0b | Against | 96 | 0.01% | — | 6y ago |
| A50xa5c3…6a69 | Against | 14.6 | 0.00% | — | 6y ago |
| 650x65b9…f782 | For | 11.7 | 0.00% | — | 6y ago |
| 840x84e3…5a95 | Against | 10.8 | 0.00% | — | 6y ago |
| 0D0x0d59…ebd5 | For | 5.2 | 0.00% | — | 6y ago |
| C30xc372…b49f | Against | 4.7 | 0.00% | — | 6y ago |
| PIpizzallama.eth0x32a5…525d | Against | 1.9 | 0.00% | — | 6y ago |
| E80xe8d8…3f31 | For | 1.7 | 0.00% | — | 6y ago |
| B90xb9fd…d382 | For | 1.6 | 0.00% | — | 6y ago |
| 640x6439…0183 | Against | 1.5 | 0.00% | — | 6y ago |
| FB0xfb30…ea3f | For | 1.3 | 0.00% | — | 6y ago |
| 7D0x7de0…a044 | For | 0.4 | 0.00% | — | 6y ago |
| 850x8590…1637 | For | 0.3 | 0.00% | — | 6y ago |
| 7E0x7eec…0410 | Against | 0.3 | 0.00% | — | 6y ago |
| JTjthrack.eth0x44c6…aabd | Against | 0.3 | 0.00% | — | 6y ago |
| 850x8579…213a | For | 0.2 | 0.00% | — | 6y ago |
| 010x01c6…baea | For | 0.2 | 0.00% | — | 6y ago |
| 1D0x1d03…02a7 | Against | 0.2 | 0.00% | — | 6y ago |
| 430x4359…0d9d | For | 0.1 | 0.00% | — | 6y ago |
| 3E0x3e61…322b | Against | 0.1 | 0.00% | — | 6y ago |
| A00xa0e4…ea1e | For | 0.1 | 0.00% | — | 6y ago |
| F00xf062…84e4 | Against | 0.1 | 0.00% | — | 6y ago |
| 680x684d…b414 | For | 0.1 | 0.00% | — | 6y ago |
| BC0xbc6b…4f8e | For | 0.1 | 0.00% | — | 6y ago |
| DB0xdb16…f476 | For | 0.1 | 0.00% | — | 6y ago |
| AE0xae6d…d8a1 | For | 0.1 | 0.00% | — | 6y ago |
| 1D0x1d97…0ae1 | Against | 0 | 0.00% | — | 6y ago |
| F60xf6c3…b29a | Against | 0 | 0.00% | — | 6y ago |
| BB0xbbcf…e727 | For | 0 | 0.00% | — | 6y ago |
| 1F0x1f76…f6dd | For | 0 | 0.00% | — | 6y ago |
| 200x205b…caac | Against | 0 | 0.00% | — | 6y ago |
07Forum
- Compensation Proposal: Distribute COMP to Affected Users in the DAI Liquidations ↗discourse · high confidence
- Compound Contributor Grants ↗discourse · high confidence
- Increase DAI Reserve Factor from 5% to 15% ↗discourse · high confidence
Arguments for
- Compensation restores borrower confidence in the protocol after users lost funds due to an off-market DAI price on Coinbase that did not reflect true global market prices.— kybx86, michjun, lfyke
- The 8% liquidation penalty is an achievable, pragmatic approach to compensation that avoids complex per-user calculations while remaining feasible to implement quickly.— kybx86
- The distribution is minimal relative to total COMP supply (0.55%) and treasury growth (~962 COMP/day), meaning it will be replenished in under 60 days with negligible market impact.— kybx86, coopahtroopa
- Compensating users is necessary to set a healthy precedent that governance will protect users when the protocol fails to work as intended, strengthening long-term protocol reputation and user trust.— michjun, dabar90, CompHolderYYZ, lfyke
- Other DeFi protocols (Pickle, Yearn, Opyn, Hegic) have compensated users for protocol failures, and Compound should follow this precedent to remain competitive.— kybx86
- The proposal can proceed in parallel with oracle improvements rather than blocking compensation on fixing the oracle system first.— michjun, s3v3n
Arguments against
- Compensating users for losses encourages looser risk-taking and sets a dangerous precedent that tail risk should be subsidized by governance, undermining proper risk assessment in the protocol.— jared, ekrenzke, franklin-pantera
- The proposal should not proceed without first establishing a clear path to fixing the underlying oracle issues; compensation without fixing the bug merely masks systemic problems.— blck, ekrenzke, polychain
- Using COMP tokens for compensation is inappropriate because COMP is a governance token, not money, and distributes voting power to users who may have been farming rather than building long-term value in the protocol.— lay2000lbs, tonyotonio, ekrenzke
- A large majority of the proposed COMP distribution (61%) would go to just two yield farming operations that exploited the COMP incentive program and do not align with the protocol's long-term interests.— lay2000lbs, wario, ekrenzke
- The proposal compensates users even though the protocol worked as designed; DAI was actually trading at that price on Coinbase, which was accurately reported.— franklin-pantera, ekrenzke
- The 8% compensation severely undercompensates affected users who lost 25-30% of liquidated amounts due to the combination of the false DAI price and the liquidation penalty.— zino, Dmitry, CompHolderYYZ, s3v3n
Unresolved concerns
- What is the precise actual loss per user when accounting for the difference between the manipulated DAI price and real global market prices, liquidation penalties, and collateral type impacts?— Dmitry, 4D_compound, cryptoguy123
- Should compensation come from DAI reserves rather than COMP, and if so, are reserves sufficient to provide meaningful compensation without depleting the protocol's backstop?— lay2000lbs, dabar90, michjun
- How should the protocol distinguish between legitimate users and recursive yield farmers exploiting COMP incentives when determining compensation eligibility and amounts?— wario, lay2000lbs, michjun
- Why did the Compound oracle accept an off-market price from a single exchange (Coinbase) and what safeguards (e.g., Chainlink integration, TWAP backstop, multi-oracle design) should be implemented?— cryptoguy123, MasterofNonce, dabar90
Notable participants
- kybx86Proposal originator, affected user, and primary advocate driving the compensation effort through multiple iterations and addressing community feedback.
- warioAnalyst who developed metrics to categorize users by farming behavior and proposed alternative compensation structures that address VC fund concerns about token distribution.
- lay2000lbsVocal opponent who raised concerns about bailouts for yield farmers and advocated for compensation from DAI reserves rather than COMP.
- ekrenzkePolychain Capital representative who articulated concerns about setting precedent before fixing the oracle and noted reimbursement to non-aligned users.
- 4D_compoundTechnical contributor who modeled raw damages calculations and proposed methodology for computing actual losses from the liquidation event.
- dabar90Affected user who consistently raised concerns about protocol centralization and advocated for fair compensation based on actual losses.
- franklin-panteraPantera Capital representative voting against, arguing users bear responsibility for known oracle risks and that compensation encourages risky behavior.
- michjunDefender of users classified as farmers, challenging definitions of legitimate vs. exploitative behavior and advocating for inclusive compensation.
- MasterofNonceCommunity member focused on oracle improvements and supportive of parallel compensation efforts while prioritizing oracle fixes.
- coopahtroopaBalanced voice encouraging community participation and proposing grants to proposal authors even if proposals fail, to maintain engagement.
Generated by Kvorum
08Similar proposals
- compoundexecutedDistribute DAI to Users Affected in the DAI Liquidations87%
- compoundexecutedCompound Foundation Reimbursement78%
- compoundexecutedAuthorization of Treasury Management Use of Compound v2 Reserves70%
- compoundexecutedFranchiser Operational Upgrade and Rebalance68%
- compoundcanceledFranchiser Operational Upgrade and Rebalance68%
- compounddefeatedRecall of COMP Delegated via the Delegate Race68%
- compoundexecutedFinalize Delegate Race (Cycle 1)67%
- compoundexecutedDelegate Compensation Program (Initial 6-Month Term)66%
- compoundexecutedTransfer Ultimate Control of Institutional Comet to Compound Governance65%
- compounddefeatedCompound Delegate Race (Cycle 2)65%