Return excess profit from ProtoRev in exchange for 20% bounty

Summary

The proposal aims to redress a user who lost 90% of a USDC cross-chain withdrawal from dYdX via Osmosis, by returning a portion of ProtoRev profits while keeping 20% for the Osmosis community as a bounty.

What happened

On August 8, a dYdX user lost 964,482.780794 USDC, comprising over 90% of their equity, due to extremely high slippage when withdrawing from dYdX via Osmosis.

Proposed reimbursement and bounty

The proposal asks that the Osmosis community vote to return 80% of its share of ProtoRev profits (~732,891 USDC) to the user’s address osmo12e0c4wcw72rprzntrvnfk0egn8q9d2tz6zexls. The Osmosis community would keep the remaining 20% of its profit (~183,223 USDC) as a bounty.

To enable the Osmosis community to keep a healthy 20% bounty:

  • Skip Protocol has agreed to refund its 5% share of ProtoRev profits (~48,216 USDC) to the user; and

  • dYdX commits to matching Skip’s contribution and addressing the user’s remaining shortfall should the proposal be granted

What’s being done to improve

From dYdX

The dYdX frontend user interface displayed the amount in and the amount out to the user. However in the instance of large withdrawal slippage, the UI will going forward display a more prominent warning to the user and a check box to opt into the execution.

For transactions greater than $1M, CCTP can’t process them and so the Skip Go API may return a route that requires a swap with large price impact using Axelar if no other safeguards are in place. We understand that Skip is updating their API to never return routes where the difference in USD value is >$10K as an additional safeguard.

From Skip

By default, the Skip Go API prevents routes with greater than 10% price impact and greater than 10% differences in USD value between the input and output assets. This behavior has historically caused issues for users transacting in small amounts where the bridging fee exceeds the threshold, preventing the routes from happening.

For that reason, clients in some cases disable this safeguard to prevent small withdrawals from being systematically blocked. In this case while disabled, the API returned a route that involved swapping to USDC.eth.axl due to CCTP’s $1m limit. To prevent this from happening in the future, the Skip Go API will prevent any route involving a loss of $10k or greater, even when default protections are disabled.

Why grant this proposal

This loss primarily resulted from the combination of user action and the bridge routing logic, which unintentionally directed funds into a low-liquidity market on Osmosis, resulting in the loss of 90% of the withdrawal value for the user. Due to Osmosis’ ProtoRev module, this value is now held by a known third party, the Osmosis DAO.
While Osmosis bears no operational fault in the routing decision, returning a portion of the captured value demonstrates goodwill, strengthens ecosystem partnerships, and reinforces user trust.

Granting this proposal would also strengthen partnership between the dYdX and Osmosis communities, which includes USDC bridging to and from dYdX Chain as well as an upcoming integration permitting dYdX front-end users to access DYDX-USD liquidity pools on Osmosis, generating deeper liquidity and fees for Osmosis community. dYdX is a long-running perpetuals DEX project with over $1.5 trillion in cumulative perps volume, and the only significant perps DEX on Cosmos.

We appreciate the Osmosis community’s consideration of this proposal and look forward to feedback and discussion.

8 Likes

We support this proposal. Agree with Aaron’s comment above too.

5 Likes

Deleted my prior comment as the text was updated :folded_hands:

4 Likes

We’ve seen proposals like this before and back then were very controversial: Refund dYdX user funds lost from high price impact out of ProtoRev profits

However I think this case is quite simple and resolving it doesn’t seem to have too much overhead. It seems like edge-cases like these will be covered in front-ends going forward and Osmosis is still keeping a very nice ~200k USD bounty for catching the initial arb.

As long as we dont see strong aversion from token holders we will vote yes as we think it is a fair proposal and solution. Governance exists for a reason, this is a fine use of it.

Best,
Ertemann
Lavender.Five Nodes

1 Like

As someone who has served on the Osmosis Protocol Fee Controller up until very recently, validated both the Osmosis and dYdX networks, and now works at the dYdX Foundation, I’ve seen firsthand how much our ecosystems can achieve through collaboration.

This loss wasn’t the result of malice, but of an unfortunate routing outcome that sent a large withdrawal into a thinly liquid pool - with most of the resulting value now held by Osmosis via ProtoRev.

In the past, I’ve admittedly opposed similar reimbursement proposals. But having now worked closely with both ecosystems, and with a clear view of the dYdX roadmap - which offers significant opportunities for Osmosis to benefit from deeper partnership - I urge community members to view this case through the lens of long-term collaboration more than anything.

And importantly, Osmosis will still get to retain $200,000 as a 20% bounty.

1 Like

We built Protorev a couple years ago to give the Osmosis community the opportunity to capture the profits of MEV (Maximal Extractable Value) from transaction ordering, instead of leaking that value to 3rd party arbitrageurs. The almost $1m profit Protorev secured on this trade is another example of the module doing its job and putting the community in the driver’s seat.

Over the years, the community has expressed many different points of view about how profits should be used over the years — OSMO burns, trader refunds, and funding for special projects. We’ve always remained neutral in these conversations because the purpose of Protorev was to empower the community, not us.

Regardless of what the Osmosis community decides with this proposal, Interchain Labs will be refunding the portion of the Protorev profit that it accrued from the trade (5% of the total). We’re doing this to help maintain trader confidence in dYdX and Cosmos more broadly, and we hope the Osmosis community does the same.

1 Like

This is one of those edge cases in which I think a refund makes sense as it helps maintain user confidence in both dYdX and Osmosis products. Plus the Osmosis CP gets to keep a 20% bounty.

I would also like to suggest that the dYdX front-end prevents withdrawals of more than 1M$ ( or whatever the maximum amount is allowed by CCTP is) or hardcode CCTP as the only viable route for significant amounts to avoid this scenario in the future. Optimally this should be handled at the front-end layer in the future with minimal reliance on external providers.

Citadel One will vote in favor of this proposal.

1 Like

Thank you for the responses. The proposal is live on chain : DAO DAO

Appreciate the support on this from the Osmosis community.

Can someone explain how giving funds back is permissible in this situation but was not in this previous situation, “ Refund dYdX user funds lost from high price impact out of ProtoRev profits ”?

Is it possible we are leaning in favor of returning funds in this case because the user has a higher value and assumably a higher net worth? I would hope that above all else, we’re not showing favoritism to this individual.

I agree that guardrails should be implemented by devs to lessen the chance of this happening in the future and I’m not against refunding the users funds, but what makes this case different from the one I referenced, or that of a $1,000 mess up? Where do we draw the line if this is passed? IMO that should be drafted and agreed upon with solid reasoning backing it before we make a decision of this magnitude.

1 Like