I Donated 78,000 USDC to the Compound USDC Pool

Fellow Investors,

I attempted to resend a transaction of 78K USDC for which I had a far too low gas fees to compound. In the process I dropped the “mint” function and effectively donated my entire Compound investment to the Compound USDC pool.

My heart sunk, was glad it wasn’t stolen and have resolved to think of it as a good deed for the Compound community.

I understand there’s no way to recover this money, but it was pointed out to me that I could appeal to Compound’s Governance, some of which may have benefited from my donation, however minutely, for sympathy.

If anyone would be willing to help me bring this forth to a proposal that could utilize Compounds reserves to assist me in recovering even a small fraction of this unintentional donation I would be eternally grateful.

Thank you,



Sorry to hear this :frowning: Sadly cUSDC is not upgradeable and doesn’t have the new helper to make this type of thing easy to handle. Also, I believe that new helper function doesn’t work if the token is that same as the underlying, but there might still be hope to recover this one day…

@jared thank you for the boost in hope as I want to believe there could be a way to recover this in the future.

From what I understood so far, and correct me if I’m mistaken if you send USDC to the USDC pool without the mint function, it becomes extra interest to all the Compound USDC pool users so all USDC suppliers get a proportional part of it. So the only way to recover it, I thought would be to have to ask each USDC supplier if they’d be willing to return the unintended funds if there was even a way to know who they were and what they’d received.

If the funds just sat in the pool and weren’t distributed then I hoped there could be a way in the future to assign the funds back to myself, or if there was a way in the future to re-direct the same amount of interest I sent out to everyone back to me at a random time, or if there was a way for me to borrow Compound’s money interest-free and put it in a Compound pool until it generates the same amount in interest… I have a lot of hope, just no idea how realistic any of it is.

At this point, I’m just educating myself on how exactly this all works so any insights or suggestions are quite appreciated. Thanks!

usdc reserves can be swept to his address, it would need to go to governance

Yes the protocol could vote to reimburse with USDC (or any other currency it has) - just to be clear @Yoshi is correct that his USDC was automatically distributed to suppliers (and not part of reserves)

1 Like

How about proposing USDC reserves be swept with a 10% penalty, that way I don’t get off scot-free and it could be said that they’ll be a 7800 USDC residual benefit after all is said and done, which may help garner support

Okay, so you basically have to get a proposal passed by governance in order to do this - you can read up on how governance works - its not the easiest task, but over time there may be others in your shoes and maybe you can band together to get something done, I don’t know :man_shrugging:

This has been done before at proposal 37. Check the description there, it lays out the framework for how it will be conducted. Here it is:

This proposal acts to establish a policy for returning accidentally sent funds accessible by Governance under the following terms.

  • Sender must verify their identity through a signature or on-chain calldata and request return of funds on the compound forums within 6 months of accidental transfer
  • Funds will only be returned to the originating address
  • A 10% penalty will be imposed
  • The sent funds must have a minimum value of $1,000 at the time of the post
  • At most, once every six months, a proposal will be made that returns all funds eligible under these terms

Currently, there is one eligible transaction, and this proposal acts to return the locked funds under the terms stated above. In order to do so, we must set a new implementation for cUNI which adds the sweepToken functionality. It additionally removes unused verify callbacks resulting in minor gas savings on most interactions. This code change was developed in the open and reviewed by community members. Full testing has been done including unit tests and forking simulations. Due to the limited scope of the changes, they have not been professionally audited.

You hit all the requirements except for that last one. So don’t lose hope.

1 Like

This transaction is definitely not eligible under the terms setup in proposal 37. This transfer is of a completely different type than what was setup there. The USDC has been dissolved into the cUSDC pool and distributed to all the holders.

Governance should do what is possible to return accidentally lost funds when it is recoverable. In this case the funds are completely unrecoverable, and asking Governance to refund would be asking Governance to take the hit instead of the user.

I would consider these funds completely lost with no chance of Governance refunding them. If Governance could, I think it would, but it is not possible.


The actual funds themselves are distributed and unrecoverable. I don’t want to be overly optimistic, but I want to propose looking at this from a different angle to create a framework that may make returning these funds possible.

I want us to focus on the APY for a moment. I would argue that dissolving the funds and distributing them to the holders caused about a ~0.0027% increase in the APY for USDC. If it’s possible to tap into the 7% reserve kept in the USDC pool and extracted the funds from there, we would see a similar drop in APY while the reserve replenishes back to 7%, then the APY returns to the state it was at before the surprise distribution. The distribution caused a mild benefit to all the holders and a disproportionate loss to one, and since most holders are in it long term, and if they also agree that lost funds should be returned when possible, there may be a chance. Add a 10% penalty or more and a residual benefit to the APY will remain. A 20%, 30%, or 50% penalty may put more people at ease given the nature of this proposal.

1 Like