The Curve.Fi USD Stablecoin, better known as $crvUSD, finally launched onto mainnet. This article focuses on what we learned during deployment. If you are looking to learn more about the overall mechanics of $crvUSD, we recommend reviewing our prior article:
Deployment
The entire deployment process took place over 39 transactions lasting 23 minutes, costing 3.94 ETH with gas prices ranging between 75 to 100 gwei.
Mostly it’s everything we already detailed previously, except a few outstanding details were revealed on deployment. Notably, the first collateral type supported is $sfrxETH, a nod to Frax’s central role in the Curve flywheel.
The architecture supports adding other collateral types, so it is expected this would be the first of several collateral types.
After deployment, Mich took it for a test drive from his personal address, supplying 957.5 $sfrxETH for exactly $1,000,000 in $crvUSD.
The $1MM would be apportioned into four different liquidity pools for $crvUSD, each with $250K of $crvUSD paired with $USDC, $USDT, $USDP, and $TUSD.
The above by Chago0x was part of a must-read thread that scooped the deployment and followed all subsequent developments.
Redeployment
The deployment process was so nice we’ll get to see it twice! The Controller Factory contract, which manages markets and fees, mixed up two deployment parameters. See if you can spot the subtle difference:
Fortunately it was caught before it got too far, it wouldn’t necessarily rug anybody, but it would forward fees to WETH instead of veCRV stakers.
There’s an occasional argument within the developer community about whether or not to even use constructor arguments for this exact reason. If the arguments are hard-coded into the contract then mistakes can be more easily caught by auditors, who often don’t review deployment scripts. However, hard-coding these parameters makes development a bit tougher because often times such parameters are different between staging and live versions, meaning you need to maintain multiple sets of contracts.
It’s a great reminder that $crvUSD is a highly experimental “test-in-prod” deployment, and you may want to give it some time before you ape.
That didn’t stop one enterprising chad from YOLO-ing $50K to be among the first to own $crvUSD.
So in the redeployment process the team had to hunt the user down and offer restitution.
Fortunately they’d get reimbursed in full in later transactions.
Reaction
Public interest in the $crvUSD launch has been at a fever pitch for roughly a year, so reaction was naturally jubilant.
Of course, the fast-moving team at DefiLlama were the first to support the stablecoin.
The calculation of $crvUSD total supply turns out to be a bit nuanced. Calling totalSupply
on the token gives you an amount reserved but not released.
A previously dormant crvUSDBull account sprung to life.
We also saw congratulations from other purveyors of decentralized stablecoins.
We joined Leviathan News with a livestream on the topic, walking through some of the deployment.
The team is planning to talk with other members of the Curve team on this morning’s livestream, presuming the team is not too busy with redeployment. Keep an eye on the Leviathan News Youtube Channel around 2 PM UTC.
For more resources on Curve, make sure to read the white paper and follow the repository.
With the suite deploying onto mainnet, the final step is for the UI to be hooked up and tested before public release. Remember of course that new smart contracts like this are risky, so if you plan to ape make sure to do so with caution.