USD++ V2 - The stablecoin basket



USD++ it’s a stable coin pool where weights are determined by volatility to the peg, trust minimization, and market risk.

This V2 is an evolution of the previous proposal which used an equally weighed allocation.


There is a variety of different stable coin on the Ethereum Network, some of those are centralized and rely on banks and custodian services, others are algorithmically managed and trust minimized.

Some stable coins, particularly the decentralized one, are often inefficient in keeping the peg to the dollar because of the soft-peg to the dollar which means they sometimes trade at a premium or at a discount compared to the price of the dollar.

For instance, on 3/18/2020 sUSD was trading al low as $0.43, holding a single stablecoin can be risky in isolation.

Stablecoin variation

The deviation can happen both sides, DAI for instance, has recently been trading at a premium on the DAI/USDC Coinbase market, sometimes up to 12% for a little while. Chart.


Deploy a USD Stablecoin Only Pie called USD++ which holds a set of different representations of USD in the Ethereum network.

The weight function of USD++ would take into consideration a number of different factors including the volatility compared to the peg of $1, trust minimization, and market risk.

In short:

  • Greater the peg > Greater the weight.
  • Greater the trust minimization > Greater the weight.
  • Greater the market volume / market cap > Greater the weight.

A combination of those different factors seems to resonate with the vast majority of the people, particularly for long term holding of a cash position.

The following section of these post presents a scoring system which aims to distill those factors in a way that can be used to determine the weights of USD++.

The Scoring System

This section aims to start a discussion about a scoring system designed to be used for the weights function of Pies.

The PieDAO DeFi Scoring System aims to be a tool of investigation regarding different aspects of tokenized assets used within a Pie.

Specifically for USD++, the focus is on Volatility, Trust minimization and Market Risk
Each of these factors is then expressed in percentage point in the final model which determines the weights of USD++. For now, it looks like this:

Inverse Volatility score 0.2
Market Risk score 0.5
Trust minimization score 0.3


Volatility for stable coin matters, it’s the main reason why the industry had to make them considering assets like Bitcoin are more volatile that any normal human being can be okay with. However, how much it matters is a function of how long you are going to hold the stable coin.

Generally speaking, considering a very short holding timeframe both trust and volatility don’t matter.

In that use case, using DAI or USDC does not make a difference, the only thing that matters is that the market for that coin is liquid enough for you to swap your positions, for this reason, USDT is currently dominating the stable coin market, even if low reputation in the industry.

As milkyway16 pointed out:

If we assume the trust leads to a fixed amount of risk of the value becoming 0$ every day and the risk of the peg almost stops increasing after a certain time.

GREEN = Total Trust risk for Time
BLUE = Expected Deviation from Peg for different periods

Medium holding timeframes is where the comparative importance of low volatility around peg vs trust (security) is the highest, as represented in the matrix below.

Trust required Low Vol to Peg
Short hold Low Low
Medium hold High High
Long hold High Mild

The Volatility Weight function used in USD++ is designed for medium/long holding of a cash position, it leaves space for normal price fluctuation of a specif stable coin as long as the peg is re-established during a reasonable timeframe (max 7days, considering to go for 3).

How does it work

  • Considered for each asset the $ distance from peg (1$) at daily closing, for Q1 2020
  • Daily values are aggregated into x’ days MA (1 to 7)
  • Each MA concurs to the computation of its annualized 90d_stdev
  • The Volatility Score is calculated for each underlying asset as the ratio between the inverse of STDEV and the sum of the inverse of STDEV of all underlying assets.

For instance, assuming a starting allocation of USDC / DAI / sUSD which relies ONLY on the Inverse Volatility Score that would look like this:

Token Total
USDC 86.96%
DAI 9.35%
sUSD 3.69%

Trust minimization

Medium / Long term holding does not only requires a tight peg, it also requires confidence that your money is not going to be seized or taken away from you. For these reasons, centralized solutions might suffer from censorship as governments are becoming more mindful about the role of such coins. The majority of stable coins are already under scrutiny by the Financial Stability Board, including popular ones as USDT, USDC, TUSD, PAX, and DAI. It’s reasonable to assume that centralized ones would be more likely to be stopped first. The less trust needed the better.

The Score Parameters proposed are very much open to discussion, I believe improving these number will be a continuous process across the PieDAO community.

The way it works is simple, specif statements are made about the system and a score is associated with that statement. If the statement holds true for a specif coin, points are assigned.

Description DAI USDC sUSD Max Score
No single admin key 1 1 1 1
More than 2 people needed to upgrade. 1 1 1 1
Requires on-chain governance vote 10 0 0 10
No governance requires at all (100% algo) 0 0 0 20
No censorship function in smart contract 20 0 20 20
No emergency shutdown function 0 0 1 1
No KYC involved at any point 5 0 5 5
No geofencing (front end) 1 1 1 1
Has not been censored before 10 10 10 10
No legal attack vector 0 0 0 5
No economic attack vector 0 5 0 5
No oracle risk 0 5 0 5
No high severity events ever 0 10 0 10
No high severity events in the last 6M 0 5 0 5
Total 48 38 39 99

A few notes on definitions:

The “legal attack vector” is represented by having a legal structure (company/foundation) which can be compelled to act by governments in combination with shutdown functions, upgradability, or whitelisting abilities.

The “High severity events” is represented by any events involving user’s funds lost. The MakerDAO Black Thursday is considered as such, as well as the Synthetix Oracle Incident.

Going back to our example before, assuming we would use only the Trust Minimization score for the allocation, it would look as such:

Token Total
USDC 30.40%
DAI 38.40%
sUSD 31.20%

DAI comes out with a smaller weight that some people might expect, as a matter of fact, without the recent Black Thursday it would have had the greater weight (>45%).

Market Score

For market score, I’m using the AAVE risk framework for the time being as I think it represents well the risk based on volume and market cap. If you didn’t yet, please learn more in their docs.

Borrowing the AAVE score:

Market risk (AAve Methodology)* DAI USDC sUSD TUSD USDT BUSD Score
MarketCAP 6 9 1 7 10 7 12
Liquidity 6 9 1 8 12 6 12
Total 12 18 2 15 22 13 24

Back to the example before, assuming we would use only the Market Score for the allocation, it would look as such:

Token Total
USDC 56.25%
DAI 37.50%
sUSD 6.25%


Below you’ll find the final allocation by putting the 3 factors together, personally I believe this model, while not perfect, it’s good enough to spin up the pool of USD++ with a first version of the weights.
Quarterly update of the index would allow enough time as a community to refine and debate the specifics of the different risk parameters and end up reaching consensus of the next version of the scoring system and therefore of the weights.

Token Total
USDC 59.64%
DAI 30.56%
sUSD 9.80%

Excel model.

Special thanks to @gabo for helping with the model :heart:


Presentation form:

1 Like

This is really through and thoughtful. It’s great to understand the detailed rationale of how you come up with the final weights proposed. Kudos!


That’s a lot to digest but I like it. TBH I like the Market Score allocation better than the final conclusion.

The Excel Model now included $BAL Rewards

1 Like


Following up on the initial idea of USD++ rebalancing to take place every 2 months, here below a proposal based on updated data (Q2 2020) of all its underlying assets, determining the updated factors of the scoring system applied (50% Volatility, 20% Trust minimization, and 30% Market Risk).


  • Considered for Q2 2020 for each asset the $ distance from 1$ peg at daily closing (aggregated into 3 days MA), to compute their annualized 90d_stdev and calculate their updated inverse volatility effect.
    Screen Shot 2020-08-09 at 15.31.14

Market Risk
Market Risk still assessed by applying the AAVE risk framework for MarketCap and Liquidity.

  • Dai & sUSD got improved marks for, respectively, MarketCap and both MarketCap & Liquidity.
  • USDC and TUSD both got a lower mark for their Liquidity vs past months.

This translates in the following scores for Market Risk:
Screen Shot 2020-08-09 at 15.32.17

Trust minimization
NO variation vs. previous assessment (note: USDC already had a 0 for their ability to censor addressed).

Summing up all factors, the new proposed allocation would result like
Screen Shot 2020-08-09 at 15.17.25

Here for reference the current allocation
Screen Shot 2020-08-09 at 15.17.07

Resulting in the following rebalancing
Screen Shot 2020-08-09 at 15.19.30

Here for reference the comprehensive spreadsheet


Great to see more DAI in this rebalancing and less USDC.

1 Like