Hey everyone,
Wintermute would like to put forward our interest in seeding the Insurance Fund with USDC tokens.
From our understanding, the process will happen in 2 phases:
- If the on-chain proposal is successful, the network will transfer X amount of DYDX to an address we specify.
- After receiving the DYDX, we will have to manually send the USDC to the Insurance Fund.
The second part is particularly important as it requires the DAO to trust the party on the other side of the trade, which we hope shouldn’t be an issue given Wintermute’s ongoing commitment to dYdX as an investor, liquidity provider, and active governance participant.
Nonetheless, we propose to use the mid-price of ETHDYDX on Binance minus a 10% discount. A snapshot of the price will be taken upon receiving the DYDX.
For example, if the mid-price of ETHDYDX at the time we receive the DYDX is $3.20 the price charged to the DAO is $2.88 ($3.20 * 0.9).
Such a discount is standard in OTC trades, but the size of the discount is due to the fact that we are taking on ‘peg risk’ by providing the DAO with pricing based on ETHDYDX liquidity. Currently, there is no real way to perfectly hedge native DYDX. All CEX & DEX liquidity is based on ETHDYDX which due to the one-way bridge is not identical to native DYDX on the dYdX Chain. Furthermore, it’s pretty much impossible to exit a $1M DYDX position via IBC liquidity - the largest Osmosis DYDX pool has $80k in liquidity and if the DAO were to try to sell DYDX this way to fund the insurance pool they’d lose a lot more than 10% due to slippage.
Proposed Execution Process:
Given that the voting period is 4 days there is some time for the price of DYDX to deviate from the time the proposal is created on-chain. Therefore, we propose the following process:
-
The proposal (proposer) will use a 5-day TWAP to calculate the price of DYDX and determine the quantity of DYDX + 10% (to account for the discount) to send to our address (dydx1aakf4gq5wep9ukeemtuvrjvccz2lhnjteerrme).
-
E.g., if the 5-day DYDX (ETHDYDX) TWAP price is $3.37 the amount of DYDX to be sent to our address is $1,000,000 / $3.37 = 296,736 * 1.10 = 326,410 DYDX (rounded to the nearest whole number).
-
After 4 days of voting and if the proposal has passed, Wintermute will take the mid-price of ETHDYDX from Binance with a 10% discount after receiving the DYDX.
-
We will then use this price with the 10% discount to calculate how much USDC to send to the Insurance Fund (this is effectively the price we are charging for the trade).
-
E.g., if the mid-price of ETHDYDX on Binance is $3.37 we will send $3.033 ($3.37 * 0.9) * 326,410 = 990,001 USDC (rounded to the nearest whole number) to the Insurance Fund.
-
We will then reply to the forum confirming the trade has been finalised with the relevant details of the trade.
Note: the price of DYDX for the initial TWAP will be sourced from CoinGecko using ETHDYDX which takes the past 5 days of price data + the most recent price. I’ve written a simple Python script here that the proposer can run to easily calculate the 5-day TWAP price.
This means the Insurance Fund will likely receive a little bit less or more than $1M USDC depending on the price movement of DYDX during the voting period. By separating the price at the start and end of the vote, we don’t need to factor in the potential price movement of DYDX over the 4 days of voting resulting in a better price for the DAO.