Proposal in response to the 2021/2/21 BTC Flash Crash

Does the foundation / insurance fund even have enough funds to compensate all positions (not margin) that had liquidation price under 50k?

What is the total amount needed for such a plan?

1 Like

I belong to the 22 traders that suffered from this flash crash.

How to say … More than frustrated and disappointed to see I trusted you. I actively advised your platform to anyone who was asking me how to open a leverage position on Ethereum without paying high fees. Today, I hope they did not follow me, especially people from my community.

From my point of view, refunding collateral isn’t enough.

Perp should refund all the impermanent profit lost in this affair.

It was a crucial point of failure that you did not think about before getting live.


The system is not implemented as intended, it is obvious a rookie mistake.

“Perp should refund all the impermanent profit lost in this affair, or restore the trader’s full position”.


I think it makes sense for half the value to be refunded. In that way, the risk is split 50:50 between the protocol and the traders.
These crashes occur on centralised exchanges without compensation so I think this sounds like an adequate middle ground

1 Like

Wait, let me get this straight. You’re going to reward people for losing their shirt while trading high leverage without active risk management measures? Am I missing something?

Especially during this case where the market wasn’t in stress at all

Am I missing something?

I understand that the system may not have that much $ liquidity. Or shouldn’t be doing that kind of outflow.

I propose that it be splot 50%-50% between USDC and PERP. This way all users also become stakeholders in perps success. Similar to how bitfinex did.

and would you care to elaborate? I don’t see how a matter of supply and demand forgives inadequate risk management.

Just to add some further clarifications - the proposal here is to use the 21M unlocked PERP tokens as per this post: Proposal: Unlocking Perp Tokens for Growth

Given we are a decentralised organisation and this is the DAO treasury, any potential compensation requires a vote. For similar instances you can see what happened with compound (see: Compound | Proposal Detail #32). The item posted above by Weiting is a proposal to compensate traders.

As a final point, the smart contracts and the system actually functioned as expected. My personal viewpoint here would be that we vote to compensate the 75K proposed but note that this is a one off event that will not be repeated.

This problem is not clear cut, nor is there a solution that will satisfy everyone. Given this I’d urge everyone to think of the broader picture and look longer term in the best interests of Perpetual Protocol.

A few thoughts here:

  1. It would make perfect sense to me that PERP do nothing about this flash crash because: 1) the liquidation is a result of normal market reaction, 2) flash crash is a by-product of leverage trading, traders should understand and manage their own risks

  2. However, I am in favor of somewhat compensation for the reasons outlined by PERP, i.e. as a gesture to reward those early adopters for taking risks to trade on PERP. Though the number of impacted users is small and fewer will actually leave PERP just because of this, I do believe every user counts, it’s important to retain as many as we can at any stage of the project

  3. Then problem has come down to what’s the middle ground? In my opinion, we can initiate a vote on 100% compensation on margin/collateral, split 50:50 between project and traders, and 0% compensation for community to vote. The request to refund unrealized profit is ridiculous to me, I don’t think we should accommodate that at all

  4. More importantly, what’s after this compensation? Despite the remediation measures mentioned in the medium article, we would probably expect other flash crashes, maybe at a larger scale. Stating that this compensation is a one-off arrangement doesn’t excuse us from future users to make similar noise, and at that time PERP might have more pressure because there might be more users we want to retain

My suggestion is that we can set aside some treasury funds (e.g. another 500k PERP token) for future claims of flash crash. This will make PERP first of its kind to give traders consolation for being liquidated unfortunately. This proposal should serve the same purpose as transaction mining to retain/attract more traders, instead of rewarding inadequate risk management. We should also observe this arrangement for a reasonable period of time and review the decision when necessary, i.e. when the project is widely accepted with sufficient liquidity, where price will normalize almost instantly, we should remove this treasury


Hi all,

Happy to see the team is considering this and making good use of the DAO.

My 2 cents: yes, flash crashes may occur and liquidations will happen; however, I do think some sort of compensation would be beneficial for perp as a whole, at this point.

The main reason being that even though the project is still quite young, it’s one of these products which will get better overtime having in mind user feedback which may shape the roadmap, knowing it is still in a BETA phase - these projects usually reward user providing the risk associated with software bugs and the like (something which can only be solved by user feedback and general massive usage). Even though the contracts did function as intended, it is clearly not yet ready for mass adoption, as protection such as the mechanisms already outlined in the medium article must be implemented and further tested at scale. Even though leverage trading, generally speaking, has these risks, not many products are missing key functionalities as listed in the article, nor were we, users, aware of such missing functionalities.

All in all, we have an opportunity to make good use of a DAO and to support early adopters who are positively shaping the future of the product and who will most likely return with more confidence. In my case, I will hold off for some of the features to be implemented before considering trying it again, honestly speaking…but I’m sure I’ll be following it closely if there is indeed a compensation plan. Community is important at this stage, and we need early adopters to remain in the platform (user/customer acquisition is expensive and hard!). It sends a clear signal that Perp is committed to make the platform more resilient, focused on protecting users from this particular liquidation which could have been somewhat avoided if the product was launched to the publicly with stronger built-in protection mechanisms in place.

Regardless of the outcome, moving forward, I think Perp needs to highlight clearly what’s at stake, the protections in place, how oracles are being used, etc., and a user should sign a message accepting the listed terms. This will protect Perp from future claims of compensation should any further liquidation occur (the argument that we may be allowing ourselves for future claims such as this one is not valid, IMHO).

BTW, @tongnk you mentioned 75k proposed, but looking at the excel I see the required PERP for liquidation is around 45k… Am I missing something?


75K was when we did very very rough back of envelope calculations. The 45K is after pulling on chain data and doing the analysis.

The compensation formula clearly has a BUG and did not think through. The formula will MINUS realized pnl. Basically, the more you make money, the worst treat you got . Also, each realized Profit and Lost is different as each position’s spot price is different ( Some position is closed at 50k, other position is closed below 40K. So every position unrealized pnl baseline is different.

Instead, we should find a way that treat everyone the SAME, such as (margin + unrealized pnl) which is used by Perp to calculate the margin ratio.

Here is the example and the example does not account for funding payment, liq penalty, etc for simplification and use one BTC closing price at 50k.

  • User A buys 1BTC at 30k price with margin 10k, liq at 42k, realized pnl 12k - reimbursed -12k. SHOULD reimbursed $30k (10k margin + 20k UPL). Difference: 42k.
  • User B buys 1 BTC at 30k with margin 10k, re-levers by removing $ 7.5k margin, 2.5K margin, liq at *45k*, realized pnl **15**k, reimbursed -15k. SHOULD Reimbursed $22.5K (2.5k margin + 20K UPL). Difference: 37.5k.
  • User C buys 1 BTC at 52k with margin 10k, liq at 50k, realized pnl -2k - reimbursed $ 2K. Should reimburse 8k (unrealized pnl -2k + margin 10k). Difference: 6k

The current proposal does not treats all 3 users the same, while clearly User A gets a much worse deal than users B or C, despite having the best, least-levered, most profitable position of the 3. C has the worst position and get the best deal, although C should get more reimbursement than current formula calculates. This formula makes the statement that Perp is encouraging the bad position and penalize the good position.

It will be fair to treat every one the same way that Perp can use “margin + UPL + funding payment” or RESTORE each position. And UPL can be calculated using one BTC price, such as 50k. @tongnk @weiting


Specifically: agree to the reasoning above to include UPL. Prime example is account a0e04247d39ebc07f38acca38dc10e14fa8d6c98 from the sheet; a significant amount of its position’s collateral was UPL and it would get limited compensation.

Generally: given that the BTC market wasn’t stressed at the time, the flash crash was largely the result of platform-specific risks. To (re)install trust in the platform a compensation in PERP tokens (creating longer-term alignment) on a justifiable basis makes perfect sense to me.


Hi everyone,

First of all we’d like to thank everyone for spending the time and presenting their points of views. We talked to a lot of you either on the forums here as well as privately on discord, telegram and other channels. From this we’ve been discussing with advisors, internally as well as all of you on what the best way to approach this situation is.

We know that there is no clear outcome here that will satisfy everyone, given there are very different viewpoints from everyone in the community. As such, we plan on putting it to a snapshot vote tomorrow for the revised proposal listed above.

Thanks everyone again for the support!

I would be open to this. One thing people have to keep in mind, was liquidity over the few days completely dropped to zero, so prices plunged. This wasn’t an issue of overleveraging, because if you had levered at 2, you would have lost your money. At the same time, you can consider this marketing. The protocol needs users, and we have an opportunity to treat this as a way to gain strong supporters of the protocol, using tokens that otherwise wouldn’t have existed.

One thing I will say though: There must be a time lock.

I don’t agree that PERP should be immediately airdropped. We can follow Hegic’s strategy and do a linear drip of at least 12 months. Starting at the drop, some percentage becomes unlocked each block and users can withdraw those tokens, but only after 12 months, can they collect the full 100%. I would also consider 6 months at the earliest.

You can receive compensation, but it should be very hard to dump it and penalize existing holders. This is probably the only way I would agree to this.

The vote is live here: Snapshot

Its still early days of the project and we need to bootstrap traction. Trust and positive attention is good way to do it.

I am voting yes.

Early traders took a big risk to use the system when its still young and unproven. Project should not alienate them.

However this should be done with the caveat that this is not a precedent. Users shouldnt automatically expect to be redeemed in cases when system worked as intended (e.g. there was no hack or code malfunction that could serve as an insurance claim).