The PriceBoundPSM was deployed by Fei Protocol with Fei v2. The target was to stabilize the price of FEI.
The matter was already discussed here. Since then the fees were reduced to 25bps on January 2nd. The situation improved but FEI remains significantly the most volatile stablecoin (of the main DeFi ones).
Moreover, as it was explained, the Chainlink price is not good enough for such kind of use. What matters is the price of DAI on Ethereum, not on some Cex places. This can be proven easily by comparing the Chainlink DAI and USDC price over time. They should be the same as you can convert from DAI to USDC without fees through the MakerDAO PSM. They are not showing that Chainlink is not accurate for a world limited to Ethereum.
This transaction is an example of the failure of the PSM. The user minted 13,465,508 FEI with only 13,429,396 DAI (as displayed below). This transaction alone resulted in a net loss of $36k for the Fei Protocol ($64k with other similar transactions around the same time).
It should be noted that such a loss was made with fees (25bps) and a depressed FEI price (which limited the possible profit within 1-block). With smaller fees and/or a more robust peg (which I assume is the target) it would have become much worse. Therefore it should be fixed by narrowing the allowed price range.
Most of the time the DAI price from Chainlink fall within this narrow range. Obviously, flashbots are exploiting mainly then the price is not in the range.
Specification
Set the DAI PSM ceiling parameter to 1.001 (10bps max deviation from the peg allowed for price validity)
Set the DAI PSM floor parameter to 0.999 (10bps max deviation from the peg allowed for price validity)
Set the DAI PSM mintFeebasisPoints parameter to 10bps (from 25bps)
Set the DAI PSM redeemFeebasisPoints parameter to 10bps (from 25bps)
Voting Options
YES, update the DAI PriceBoundPSM contract with the specification parameters
I think you have a good point about the Chainlink DAI-USD feed being suboptimal for the currently deployed version of this mechanism
I don’t think it’s quite as simple as narrowing the parameter ranges though. the FEI peg needs to have PCV backing when the DAI Chainlink oracle falls outside of the narrow parameter range. times of high volatility is when this backing is most important and also when DAI oracle is most likely to leave the narrow range
a few possible solutions:
have either a second PSM or a second set of PSM parameters that are conditionally activated when DAI oracle falls outside of acceptable range
have a second PSM that is always active but backs FEI with a wider parameter range
peg 1 FEI == 1 DAI and remove Chainlink oracle
use an FEI-DAI AMM pair for a better balance between price stability and demand-based price elasticity
I think we should also consider a making the LUSD PSM 1:1, as DAI’s acceptance of USDC collateral places them at a higher centralization risk than LUSD. I think ideally we should be moving to remove DAI from our system as long as they deal in centralized assets.
LUSD has lower centralization risk but has a variety of other risks. this might change in the future but right now I am still a big fan of DAI. DAI’s stability is unmatched for decentralized stables so I am much more comfortable leaning into DAI for FEI’s stability mechanism
Thanks for those comments. I chose to deal only with parameters changes as it is easier. So any better solution is welcome as well.
The ideal solution is to have min(DAI price, 1) when minting FEI and max(DAI price, 1) when redeeming FEI. It’s a bit more smart contract work tho. So when DAI is 1.02 on Chainlink, you can still only mint 1 DAI = 1 FEI but if the price of DAI is down a good reason it is taken.
1:1 with the ability to pause it is probably a good option.
I’m in agreement that we should fix this as we want to hold as tight a peg as possible. I’m in favor of using a fixed price oracle valuing DAI at 1 dollar, and then using the PriceBoundPSM logic so that if DAI ever trades outside of an acceptable price band, the PSM halts so that it doesn’t buy a stablecoin that has lost its peg.
This would require some slight code changes, but it feels like the optimal solution as it allows us to peg FEI to 1 dollar, reduce our mint and redeem fees, and shield ourselves from downside risk in case DAI loses its peg.
An oracle-based solution is not optimal for the current FEI-DAI redeemer. Making FEI redeemable 1:1 with DAI would resolve this issue by not directly relying on an oracle during regular operation.
Specification
Create a new Peg Stability Module that uses a fixed price oracle and reverts if the DAI chainlink oracle price is outside of the acceptable bounds.
Lower Bound: $0.985
Upper Bound: $1.015
Keep mint fee basis points at 25
Keep redeem fee basis points at 25
Deprecate DAI PriceBoundPSM
Keep all other DAI PSM parameters the same in this new contract
An oracle-based solution is not optimal for the current FEI-DAI redeemer. Making FEI redeemable 1:1 with DAI would resolve this issue by not directly relying on an oracle during regular operation.
Specification
Create a new Peg Stability Module that uses a fixed price oracle and reverts if the DAI chainlink oracle price is outside of the acceptable bounds.
Lower Bound: $0.985
Upper Bound: $1.015
Keep mint fee basis points at 25
Keep redeem fee basis points at 25
Deprecate DAI PriceBoundPSM
Keep all other DAI PSM parameters the same in this new contract
Voting Options
YES, create this new redeemability module that allows DAI to be redeemable for FEI 1:1 and deprecate current FEI/DAI redeemability
NO, leave DAI redeemability module as is
Voting Rules
If this vote passes, this will need custom smart contracts to be written and then submit an action to the DAO for an onchain vote.
The “0bps until DAI reserves are filled” was a good call as we are now with 33M DAI in the PSM thanks to that. There is a flashbot at work to arb the price with the PSM.
From FEI perspective, it brings PR and let’s say 100M of free capital to the PCV.
From a MakerDAO perspective, 100M FEI doesn’t move any needle and would already be challenging risk-wise (25% of the non-protocol FEI).
The DAI PSM (on FEI) isn’t actually all great for MakerDAO, as you provide those to money market, you limit the ability of MakerDAO to have his own D3M taking the fees.
A module to fund a Fuse pool seems more likely to me. But I’m not sure what would make sense for everyone. I see a world where FEI provides cheaper credit but goes above DAI when the peg is under attack. This let borrower with an option (swap FEI borrowing to DAI). Or a very specific DAI Fuse pool? I don’t know.