This research was spearheaded by @Lavi_54 and @dabar_90.
Useful links:
USDD website | Docs | Blog | Coingecko | USDD Twitter | TDR Twitter
Audits
Contracts - USDD on other chains
Articles
TL;DR
This report investigates the USDD stablecoin and the risks posed to Curve LPs in the USDD/3CRV and USDD/FraxBP pools. Both pools passed votes for a gauge in May and July 2022, respectively. Original governance proposal here.
A quick TL;DR of our findings:
USDD is an over-collateralized stablecoin natively issued on the TRON blockchain. Initially launched as a copycat of UST, it pivoted to an over-collateralization model shortly after Terra’s crash.
Compared to other over-collateralized stablecoins, such as DAI, USDD is not permissionless or decentralized. The stablecoin can only enter circulation via a 5-of-7 multi-sig controlled by the seven whitelisted members of the Tron DAO Reserve (TDR). The TDR has full control over all smart contracts, custody of collateral and reserves, and minting of new USDD.
The circulating supply of USDD ($725M) hasn’t changed since early July 2022. The TRX that is backing the circulating USDD accounts for 83% of its value. However, the TDR has added reserves in BTC, USDT, and USDC to increase the backing. But all stablecoin reserves were recently emptied to defend the peg. Now, over two thirds of the collateral and reserves consists of Tron’s TRX, leaving the CR at around 147%.
USDD has two stability mechanisms: A Peg Stability Module (PSM) and four Monetary Policy Instruments (MPI). However, the PSM has always remained empty (i.e no funds to trade against) and unutilized.
Direct measures to reinforce the USDD peg are a rare occurrence. There is no sign that collateral or reserves were used to directly support USDD’s price. Consequently, USDD has extensively traded below the $1 peg for most of its existence.
The USDD team repeatedly expresses false and misleading statements. For instance, it falsely claims to be “the first over-collateralized and decentralized stablecoin”. Another example is the designation of the so-called “BurnContract”, which in reality is just a multi-sig holding the TDR collateral.
Technical security appears to be taken seriously. USDD has undergone several audits by SlowMist. All the major components were assessed. There is also an active bug bounty program.
There is no semblance of decentralized governance. There is no governance forum, nor is there snapshot voting or on-chain governance. The team behind USDD is also anonymous, with implicit ties to Justin Sun.
USDD - Introduction
Decentralized USD (USDD) is the stablecoin of the TRON ecosystem launched on May 5, 2022. USDD was initially launched as an algorithmic stablecoin inspired by the previous success of Terra's UST. As with UST, the plan was to incentivize USDD with a 30% APY. And as LUNA provided the algorithmic backing for UST, Tron’s native token TRX would serve as collateral for USDD. Following Terra's collapse, however, USDD pivoted to an over-collateralized stablecoin model that would be resilient to a similar death spiral in case of a bank run.
USDD differs from other crypto-collateralized stables like DAI in that USDD’s issuance is permissioned. USDD is minted by the Tron DAO Reserve (TDR): A group of seven whitelisted institutional members that can issue USDD by depositing collateral. Currently, the only accepted collateral is Tron’s native token TRX. In addition to the TRX backing, the TDR has also built up reserves in other currencies such as BTC, USDT, and USDC. The TDR has full control over all relevant smart contracts, including the minting of new USDD and the custody of the collateral and reserves. Current members of the TDR include Poloniex, Multichain, and Amber Group among others. The now insolvent Alameda Research was originally a member but has since been removed.
Since its inception, USDD has struggled to keep its peg at the one Dollar mark. It has traded several percentage points below the peg for most of its history.
A Dive into USDD
USDD is natively issued on the TRON blockchain and is also available on Ethereum, BSC, Avalanche, and Arbitrum. The cross-chain protocol BitTorrent Chain (BTTC) is used to transfer USDD from Tron to other chains. The BTTC smart contract is also the second largest holder of USDD on Tron.
USDD has integrations with several DeFi applications. The most significant amount of TVL (~$186M) is held by JustLend DAO, a borrowing and lending protocol on Tron. On Ethereum, USDD can be traded on Uni V3 and Curve. USDD is also traded on Binance Smart Chain’s Pancake Swap.
When launching USDD, the TRON DAO Reserve (TDR) issued and released $725M USDD from the initial smart contract. The issuance required a matching deposit of TRX from the TDR in order to execute. During the first few weeks, over 8.9B TRX tokens were deposited by TDR members, or nearly 10% of the circulating TRX supply. Almost all funding came from one single address which is tagged as a Binance address.
As of this report's publishing, the circulating supply hasn’t changed much. According to DeFi Llama, the circulating USDD supply is around $725M. Most of it is on Tron (~70%), around 17% is on Ethereum, followed by BSC with about 12%.
USDD is also listed on a handful of centralized exchanges. For instance, Poloniex, KuCoin, and Huobi (Justin Sun, founder of the Tron network, is an advisor and investor at Huobi).
Recently, USDD became an officially authorized digital currency and medium of exchange for the Commonwealth of Dominica, a small island developing state in the Caribbean. This was accomplished thanks to Mr. Sun's promotional activities. In late 2021, Justin Sun left his role as CEO at Tron to promote crypto adoption in developing states. He began wielding influence in the Caribbean and became a WTO diplomat for the state of Grenada.
USDD Issuance
There are two ways for new USDD to enter circulation.
USDD can be issued by the seven members of the TRON DAO Reserve (TDR). These whitelisted institutions can stake TRX, and withdraw USDD in return.
Anyone can permissionlessly swap USDD for other stablecoins (e.g. USDT, USDC) via the Peg Stability Module (PSM).
At launch, the TDR pre-minted $999B of USDD. These sit in the “MultiSigLocker contract”. From there, $1B was transferred to a “MultiSigAuthorizer contract”. The TDR controls both contracts via a 5-of-7 multi-sig. Once in the authorized contract, TDR members and regular users can issue or swap USDD.
USDD issued by staking TRX (TDR members only):
TDR members deposit TRX into the TRX Burning Contract (controlled by the 5-of-7 multisig of TDR members).
The TDR calculates the dollar value of TRX and transfers an equivalent dollar value of USDD from the MultiSigAuthorizer contract to the “circulation account” via multi-sig (5-of-7).
The TDR converts the TRC10 USDD in the “circulation account” into TRC20 USDD and transfers the USDD to its member.
USDD issued by swapping stablecoins (PSM):
The TDR releases the authorized and un-issued TRC10 USDD from the Authorized Contract to a SafeVault Contract (minter, owner) in the PSM.
When users swap other stablecoins for USDD, the PSM Contract converts TRC10 USDD in the SafeVault into TRC20 USDD and transfers it to users.
The Peg Stability Module supports USDD to arb its upside peg. In other words, if USDD trades above one US-Dollar, traders are incentivized to swap other stablecoins for USDD using the PSM. They can then sell USDD at another venue. Thus, making a profit and bringing down the price back to $1. However, the PSM is currently empty since USDD has not been trading above one Dollar in several months. As a result, there are no incentives to use the tool.
[Sidenote: USDD’s documentation can be misleading, as the terms “staking” and “burn contract” are used for the same interaction. The “TRX Burning Contract” is an incorrect designation. In reality, the Burning Contract just stores the TRX. The “burned” TRX can always be redeemed by the TDR multi-sig.]
Replenish the Reserves
Once the amount of USDD in the authorized contract falls below $500M, the TDR will replenish the reserves. The TDR simply releases more TRC10 from the Issuance Contract to the Authorized Contract via multi-sig. After the transaction receives five out of seven signatures, the USDD will be locked for a minimum of 10 days.
The Issuance Contract still holds $997.9B USDD of the $999B pre-minted, meaning that a single infusion of $1.1B USDD has been released to the Authorized Contract. Overall, the issuance of USDD has remained very constant. On-chain data and reports by Messari show that no new USDD was issued over the past six months.
The USDD supply has remained unchanged at around $725M. This suggests that demand for USDD did not increase since its inception. This observation is further evidenced by a slow growth rate in user adoption, i.e. the number of wallets holding USDD stayed flat in the last quarter according to Messari.
Collateral backing USDD
USDD advertizes a high collateralization ratio (CR) on its website. At the time of writing, the CR hovered around 170%. The total collateral is supposedly valued at $1.25B, with $725M USDD in circulation.
Moreover, USDD proclaims that its stablecoin is backed by “multiple mainstream digital assets” like TRX, BTC, and USDT. To confirm this statement, the website lists all wallets that contain their collateral and reserves.
A quick look into those wallets reveals that USDD is mostly backed by the TRX held in the burn contract. In addition, three reserve accounts hold extra TRX, BTC, jUSDC, and jUSDT (i.e. USDC and USDT deposited into JustLend). In summary, 65% of the total collateral and reserves consist of TRX. BTC makes up 27%, while USDC and USDT account for about 6%.
Editorial note: The previous table is outdated as of the past hectic weekend when Silicon Valley Bank failed and markets panicked, causing many stablecoins to depeg. The TDR appears to have deployed its jUSDT and jUSDC reserves ($70m) to Binance, most likely in support of the USDD peg. See most recent reserves below:
In total, $1.07B can be found by combining the collateral and the reserves (see table above). On its website, however, USDD claims that $1.17B is collateralizing its stablecoin, a difference of ~$100M.
This difference stems from an above market price calculation for TRX on the USDD website. The calculation of the above table was based on the TRX price from Coingecko ($0.0685). The USDD website, on the other hand, applies a higher price per TRX (~$0.0806), a difference of plus 17.6%.
Subsequently, the CR is also not correct. Instead of 172%, the actual ratio is 159%, including all the reserves. By only looking at the burn contract, the $725M outstanding USDD is backed by $616M worth of TRX, or a CR of merely 85%.
Overall, USDD is sufficiently backed if the collateral and reserves are counted together. There is, however, a high concentration of TRX. Furthermore, there is an ever-present dependence on the TDR to always be actively defending the peg, since they have unilateral control over the USDD backing.
USDD Cross-Chain
As mentioned earlier, USDD is supported on Tron, Ethereum, BSC, Avalanche, and Arbitrum. For cross-chain transactions, USDD utilizes the BitTorrent network. BitTorrent (BTTC) is a cross-chain bridge protocol, which was bought by Justin Sun in 2018. It relies on a PoS (Proof of Stake) consensus mechanism and multi-node validation. Currently, the BTTC network is secured by 12 validators. Among them are Binance and Huobi (another investment of Justin Sun).
The amount of USDD on Ethereum and BSC do not equal the amount in the BTTC bridge. For instance, the BTTC bridge for Ethereum contains $116M USDD, although according to Etherscan there is over $124M USDD on Ethereum (a difference of ~7M USDD). The same is true for the Binance Smart Chain. While the BSC contract on the BTTC bridge contains: $89M USDD, there is actually over $110M USDD on BSC (an even higher difference of over $21M). It’s not fully clear where the remaining amounts are coming from, but it's possible that they were transferred from a CEX.
Peg Stability Mechanism
The initial plan for maintaining the peg was based on Terra’s UST, with the following two stability mechanisms:
Short-term Arbitrage - USDD was to maintain its price around a dollar, using the basic algorithm of 1 USDD = 1 dollar worth of TRX. In this scenario, TRX had a similar role to LUNA and would have been burned/minted when swapping USDD.
Building up Reserves - A $10B reserve would be built to defend the peg. It was predicted that the TDR would raise $10B worth of highly liquid assets within six to twelve months, beginning in May 2022 (USDD release date).
However, as mentioned earlier, the USDD algo-stable model never came to fruition. It instead pivoted to an over-collateralized model and introduced additional stability mechanisms.
The PSM
A few weeks after UST collapsed, the TDR launched the Peg Stability Module (PSM): a tool that enables users to swap between USDD and USDT, without slippage and fees.
The PSM is intended to serve as an additional stability mechanism that protects against an upside depeg (i.e USDD > 1 US-Dollar). However, the PSM module is not currently active, as USDD has been suffering from a downside depeg for quite some time.
Monetary Policy Instruments (MPI)
In addition to the PSM, the TDR put in place several monetary policy instruments (MPI) to maintain USDD’s price stability. Below are the four main policy instruments applied by the TDR.
MPI 1: Setting the Interest Rate - The TDR claims to be working with its partner protocols to set USDD’s benchmark interest rates. The initial interest rate was targeted to be 30%. Today, the rates are variable and set by third-party protocols (e.g. SunSwap, JustLend), and it is unclear what role the TDR plays in setting interest rates.
MPI 2: Open Market Operations - Through Open Market Operations, the TDR performs expansion and contraction of USDD's “monetary base”. The intention is to stabilize supply and demand balance. To keep USDD pegged to $1, the TDR claims to buy or sell USDD and reserve assets (TRX, BTC, USDT, and USDC). However, there is little on-chain proof of such transaction. It is possible that such operations take place via CEXs.
MPI 3: Window Guidance - The TDR has partnered with DeFi protocols (e.g. JustLend) and centralized exchanges (e.g. Poloniex, Huobi) to more effectively control USDD. The mentioned partners have the ability to limit or pause USDD and TRX lending to protect the "USDD monetary system” from short-sellers.
MPI 4: Mint-and-Burn - As mentioned earlier, the TDR has a mint-and-burn mechanism in place. The TDR can also use additional methods such as enabling or disabling the minting process, adjusting the mint-burn ratio, and imposing upper limits on daily minting and burning activities. However, these methods have not been used since its inception.
Although the TDR outlines a toolkit of monetary policy instruments that are employed to keep USDD’s peg, there is cause for skepticism. There is little evidence of these MPI's usage to stabilize the peg. USDD has been off-peg since June 2022 and has been struggling to get back to the one Dollar mark ever since.
Risk of Providing Liquidity on Sunswap
The fourth largest holder of USDD is Tron's SunSwap. The DEX applies an AMM model based on the stable swap invariant formula (designed by Curve Finance). Currently, the USDD/USDT 2pool is the largest USDD pool.
USDD/USDT liquidity providers on SunSwap may have experienced losses because of a vulnerability that was discovered in the old Curve smart contracts. In September 2020, Peter Zeits revealed that an update to the amplification factor can expose liquidity providers to losses. If exploited, this could lead to significant losses for LPs. Curve rewarded Peter for the bug discovery and resolved the issue shortly after.
Curve subsequently implemented several recommended operational practices concerning A-factor updates: Under normal conditions when the pool is reasonably balanced, updates should happen granularly over a long time period (weeks), not excessively (adjustments by a factor of 2 or less), and with particular care when reductions to A. These measures help protect the pool from experiencing losses, which are most pronounced when reducing A to an unbalanced pool. It is questionable whether SunSwap also took preventive measures concerning these A-factor updates. On the contrary, on-chain data shows their adjustments to be excessive and erratic.
According to Sunswap’s event logs, the A-factor has been adjusted very frequently; sometimes up to three times in one day. Moreover, it was adjusted in large increments. There appears to have been a fat finger incident in July 2022 when A was increased 50x from 200 to 10000 before quickly being reduced again to 1000. This spreadsheet, created by the authors, shows in detail how the amplification factor was amended. Since contacting the team behind USDD or Sunswap was not successful, it is unknown whether they are aware of the potential negative impact such misuse of parameter adjustments can cause to their LPs.
Misleading Marketing
While conducting this report, it became evident that Tron and USDD repeatedly use false or misleading wording and designations throughout their marketing and communications. Some examples are listed below:
False Statements
USDD falsely claims to be the first over-collateralized and decentralized stablecoin (see image below). There have been many stablecoins preceding USDD with stronger claims to being over-collateralized and decentralized, as the collateral backing USDD is controlled by a consortium of 7 institutions and has a high dependency on those entities.
On the website, USDD promises multiple times to be decentralized, tamper-proof, and independent from centralized entities despite the fact that a 5-of-7 multi-sig fully controls USDD. The key holders are centralized entities and are completely responsible for maintaining stability of the system.
In its outdated docs, USDD claims to have a CR of over 319%.
The promise of being “fully backed and over-collateralized by mainstream assets” is misleading. USDD is 65% backed by Tron’s native token TRX. The actual “collateral” in the burn contract only adds up to a CR of 85%, with the rest coming from reserves voluntarily contributed by TDR members. All stablecoin backing are deposit receipts from the JustLend lending platform.
An above-market price is used to measure TRX's collateral value on the website.
Misleading Naming
The TRX deposited by the TDR to issue new USDD is not burned. Naming a simple multi-sig as a “burning contract” is misleading. This naming convention is also used at Tronscan (see image)
In their docs, the term staking is used instead of burning. However, staking would require that the assets are at risk of being slashed, and that stakers earn interest or rewards for putting their assets into a staking contract. Both do not apply to TDR members. They deposit TRX into a shared account, to which they collectively have access.
Risk Vectors
Smart Contract Risk
All relevant components of the USDD tech stack have undergone an audit. All smart contract audits were conducted by SlowMist:
The TRC-20 token audit did not find any issues. However, for the ERC-20 token audit, the report highlighted that the PREDICATE_ROLE
can mint an unlimited number of tokens. In response, the project team stated that PREDICATE_ROLE
is completely decentralized and held by the governance contract of BitTorrent Chain. BitTorrent Chain is governed by 12 validators. At least some of the validators are either controlled (e.g. Huobi) or tightly connected (e.g. Binance) to Justin Sun.
The TRX Burning Contract also passed the audit without any significant issues. The auditors concluded: “This is the MultiSigFundRaiser contract that contains the BaseMultiSigWallet section. MultiSig users can redeem their TRX tokens to mint and issue USDD. SafeMath security module is used, which is a recommended approach. The contract does not have the Overflow and the Race Conditions issue.”
Further, Slowmist looked at the Issuance Contract, the Authorized Contract, and the PSM. While the first two did not reveal any concerns. The audit report on the PSM module found five suggestion vulnerabilities. Three of them were fixed while two were ignored.
Depeg Risk
Since launch, USDD has struggled to keep its dollar peg. The reason can be partially ascribed to bad timing. As mentioned, USDD was released shortly before the UST crash, initially as a copy of Terra UST and with a peg design based on a dual-token model. In the aftermath of Terra’s crash, however, many algorithmic stablecoins struggled. USDD faced additional hardship in the wake of the Alameda Research collapse - at the time, still a member of the TDR.
Despite USDD switching its stability mechanism from an algorithmic to an over-collateralized model, it still suffered a crisis of confidence after Terra’s downfall. The figure below shows the volatility of USDD over the past 12 months.
(source: TradingView)
There are several possible contributors to USDD’s historical struggle with maintaining its peg. The most cited reasons are:
(1) The UST crash destroyed confidence in algorithmic stablecoins, especially anything associated with UST.
(2) In the aftermath of the UST crash, FTX and Alameda Research experienced a liquidity crunch. Justin Sun claimed that the depeg was caused by Alameda, as they sold USDD to cover liquidity at FTX. On-chain data shows that two whales caused a depeg by selling large amounts of USDD for USDT and USDC via the Curve USDD-3CRV metapool. This led to an imbalance (82.27% USDD share in the pool). The imbalance continued for over three months (The pool balance has since recovered).
(3) The USDD team and the TDR appear unwilling to sell off TRX collateral or any reserves in an attempt to re-establish the peg. Instead, they continue to fill the reserves, attempting to bolster confidence. To support the peg, the TDR would need to allocate funds directly (e.g. depositing into the Curve pool, market buying USDD with its collateral, or putting USDC or USDT into the PSM module).
USDD traded below peg on Huobi for almost four months. The USDD price dipped again to ~$0.97 on January 6, 2023 as Huobi announced that it was laying off 20% of its staff. That same day, Justin Sun transferred $100M in USDC and USDT from Binance to Huobi in a show of confidence.
Despite Justin Sun’s showmanship in support of the peg, Tron’s stablecoin has had a hard time recovering from its bumpy start. One of the main problems is that the stability mechanisms are governed by the TDR members, who appear unwilling to take direct action. Taking action to defend the peg would potentially compromise the treasury, whereas nothing can happen to their collateral while in the TDR-controlled contracts.
Custody Risk
All USDD reserve wallets, including the TRX “Burning” contract, are TDR member controlled by a 5-of-7 multi-sig wallet. The TRON DAO Reserve consists of the following members:
Amber Group - a crypto finance service provider that facilitates liquidity provision, trading, and asset management services.
Poloniex - a centralized cryptocurrency exchange based in the United States. Justin Sun, the founder of the Tron network, is invested in Poloniex.
Ankr - a decentralized web3 infrastructure provider that helps developers, decentralized applications, and stakers to interact easily with an array of blockchains.
Mirana - a venture, trading, and asset management firm.
Multichain - a cross-chain router protocol, that provides the infrastructure for arbitrary cross-chain interactions [see our previous article on Multichain].
FalconX - an institutional crypto trading platform built for larger financial institutions.
TPS Capital - a trading company that develops and deploys its proprietary trading algorithms to take advantage of arbitrage opportunities.
Alameda Research was one of the first members to manage the Tron DAO Reserves. After its collapse, however, its TDR membership was revoked.
Collateral Risk
In the current state, the only “official collateral” is TRX deposited into the BurnContract. This accounts for a collateralization ratio of about 85%. Although the Tron DAO Reserve website promotes that USDD is additionally backed by BTC, USDC, and USDT, the reality is a bit more complicated.
All accounts that contain USDD’s collateral and reserves are controlled by a 5-of-7 multi-sig. Hence, USDD holders must fully trust the TDR to react adequately in the event of a significant depeg (see next section). In November 2022, the TDR announced that it will purchase $1B USDT to “safeguard the crypto market”. This was done by using USDC from the USDD reserves. According to the announcement, the funds were moved to a centralized exchange, making it more difficult to follow what the funds were used for. However, as seen in the image below, reserves backing USDD shrunk drastically in Q4, 2022.
The BTC reserves are also under the control of the TDR members. In theory, those reserves will be used in case USDD depegs. However, this would require swift coordination of the five signers. It’s unclear how effective this mechanism is in case of emergency. Further, USDC and USDT reserves are rehypothecated as deposits on JustLend, which carries an additional risk.
Governance Risk
USDD is not controlled via decentralized governance. The stability mechanisms are not even permissionless. As eluded above, the TDR fully controls the issuance of USDD.
Everything else is handled by an unknown team. There’s no public information that points to the team behind USDD. Contacting them via Discord and email did not result in further insights. Hence, it can only be assumed that the team consists of Tron developers. And given Justin Sun's communication, it is very likely that he’s also deeply involved.
In summary, USDD's well-being is fully dependent on an anon team, Justin Sun, and the seven TDR members.
Conclusion
After an initial growth phase, adoption has slowed down, and USDD is still struggling with problems from its bumpy start.
The operation of USDD involves strong trust assumptions in the Tron DAO Reserve to execute its stability mechanisms. Misleading or patently false marketing claims about the project's decentralization are commonplace and downplay the custody risk inherent in its design. There is a culture that favors gratuitous symbolic gestures to bolster confidence among market participants, rather than taking action directly in support of peg stability (ie. expending the TDR's own reserves).
There are no attempts to decentralize any components. After over nine months of existence, the project is still centrally controlled by an unknown team. The only decentralized and permissionless element is the PSM, which is only useful if USDD experiences an upside depeg.
On a positive note, from a technical perspective, it appears that the team takes security seriously. The project underwent relevant measures to reduce the risks of a hack. All audit reports are public and there were no issues of high severity found.
In summary, potential concerns regarding USDD are mostly based on governance rather than technical issues. A list of red flags, of which LPs should be aware, include the intransparent project operations, anon team, control by a whitelisted group of institutional insiders, false advertising, non-diversified collateral, and a 6-month long struggle with the peg.
Resources
General
USDD website | Docs | Blog | Coingecko | USDD Twitter | TDR Twitter
Audits
Tron DAO Reserve multi-sig signers:
Contracts - USDD on other chains:
Articles