List wUSDM as a collateral on USDC/USDT markets on Arbitrum and Ethereum

General

Token Asset Name
wUSDM (Wrapped USD Mountain)

A description of the project and the token

USDM, the first product offered by Mountain Protocol, is a regulated, permissionless, and yield-bearing stablecoin, fully backed by US Treasuries. It is designed to maintain a consistent value pegged to the US dollar, making it a reliable digital asset for transactions and savings. Peg is kept by having primary customers buy/sell USDM at $1 and by the US Treasuries held as collateral for USDM on a bankruptcy remote SPV: USDM Reserves Ltd.

USDM follows a proven model used by all the well-known stablecoins, rewarding holders, currently at a 5% APY. The wrapped USDM (wUSDM), on the other hand, represents a wrapped version of the native USDM stablecoin, built as a value-appreciating token that ensures that its price increases reflect all the rewards that USDM has generated over time.

Mountain Protocol is a prudentially-regulated financial entity, Class F licensed by the Bermuda Monetary Authority (License #202302512) and following regulated entity requirements such as governance, risk management, external audits, and more.

Benefits to Compound Community

Using wUSDM as collateral allows users to arbitrage the yield on Compound when borrow rates are low, creating a virtual “floor” on yields at or about the USDM rates (5% APY).

This means that when appetite for leverage is low, lenders of USDC/USDT can still earn yield by creating an arbitrage with USDM, resulting in a more efficient market.

Resources

Website: https://mountainprotocol.com/
Twitter: x.com
Linkedin: Mountain Protocol | LinkedIn
Github: Mountain Protocol · GitHub
Documentation: https://docs.mountainprotocol.com/

The proposal author their contact info

Martin Carrica
Telegram: @mcarrica
Twitter: @mcarrica
Linkedin: Martin Carrica - Mountain Protocol | LinkedIn

The relationship between the author of the new market proposal and the token
CEO and Co-founder of Mountain Protocol

Social channels Metrics
Official media accounts can be found here: link

Market Risk Assessment

Market Cap of the token

US$ 43,276,696 USDM market cap total (as of August 7th, 2024)

US$ 4,267,638 USDM market cap on Arbitrum (as of August 7th, 2024)

Minimum and maximum market cap of the token within the last 6 months.

Total

Maximum: US$ 156.1M (April 2nd, 2024)
Minimum: US$ 43.2M (August 7th, 2024)

Ethereum

Maximum: US$ 154.7M (March 31th, 2024)

Minimum: US$ 33.7M (August 12th, 2024)

Arbitrum

Maximum: US$ 6.8M (August 13th, 2024)

Minimum: US$ 30.1k (February 14th, 2024)

The largest exchanges where the token is listed and its respective liquidity*

  • DeGate on Ethereum USDM 10,224,470.
  • Curve sDAI/USDM pool on Ethereum US$ 10,268,327.
  • Curve USDM/USDC pool on Arbitrum, total liquidity of US$ 6,094,465.
  • Curve USDM/USDC pool on Optimism, total liquidity of US$ 2,345,529.
  • Curve USDM/USDC pool on Polygon PoS, total liquidity of US$ 1,428,728.
  • Curve USDM/3crv pool on Ethereum, total liquidity of US$ 820,817
  • Curve USDM/USDC pool on Base, total liquidity of US$ 252,059.
  • Uniswap v3 wUSDM/wstETH pool on Arbitrum, total liquidity of US$ 206,525

All as of August 7th, 2024

The largest smart contracts balances of tokens and what those contracts do.

Besides the above-mentioned liquidity pools

  • Ethereum:
    • Manta wUSDM 1,992,603 - token bridge
    • Injective wUSDM 272,248 - token bridge
  • Arbitrum:
    • IPOR USDM 450,073 - hedging pool
    • Dolomite wUSDM 297,659 - lending market
    • HMX wUSDM 179,426 - perp dex
  • Base:
    • Morpho wUSDM 482,611 - lending market

Provide the volatility of the token. Rolling windows of 1,3,6 & 12 month periods would be ideal. For more info see Gauntlet’s volatility guide.

N/A (USDM is a stablecoin).

Price has been $1 with the expected volatility around $1 before arbitrage opportunities offset gas costs.

Total supply*

There is no total max supply. Supply is generated by purchase of USDM.

Emission schedule.

No schedule.

Note: Gauntlet will also pull live data to conduct their market risk assessment after the Checklist is submitted.

Decentralization

How is this asset distributed amongst token holders? List the top 10 holders, the percentage of each holder, and tag any of them if they are known.*

As of August 13th, 2024:

List all of the privileged roles in the token contract. This can include whitelisted EOAs, Multi-sigs or DAOs.*

Is it pausable?*

Yes.

Does it have a blacklist or whitelist?*

Can have a blacklist. No need to whitelist.

Smart contract risks

Codebase & On-chain Activity:

Provide a Github repository for the underlying token contracts*

Provide a test suite with code coverage.

OpenZeppelin Security Center: https://security.mountainprotocol.com/

Provide Etherscan links with verified contracts

USDM: $1.00 | Mountain Protocol USD (USDM) Token Tracker | Etherscan

wUSDM: Wrapped Mountain Protocol USD (wUSDM) Token Tracker | Etherscan

Give the age of the token in days*

On Ethereum: 353
On Arbitrum: 245

Given the number of transactions in the contract to date

USDM:

Ethereum: 6,370

Arbitrum: 29,983

wUSDM:

Ethereum: 4,050
Arbitrum: 36,629

Security Posture

What audits, if any, were performed? Provide links to the reports if they exist.*

USDM and wUSDM where independently audit by OpenZeppelin.

Does the project have an active bug bounty program?*

Provide emergency contacts with their responsiveness levels and response availabilities*

  • Matias Caricato, CTO and Co-founder, tg: @matieth (responsiveness level high - 24/7)
  • Martin Carrica, CEO and Co-founder, tg: @mcarrica (responsiveness level high - 24/7)
  • Jason Mindlin, Chief of Staff, tg: @jasonmindlin (responsiveness level medium - weekdays)
  • Mountain Protocol has an alert suite with shifts to ensure 24/7 coverage of market anomalies, such as depegs, large trades or other suspicious activity.

List additional security and formal verification tools used in development

List all monitoring services used by the token, if any.

Multi-Chain Strategy

Will the token include implementations on other networks*?

Yes. USDM is available on Ethereum Mainnet, Polygon PoS, Base, Arbitrum, and Optimism. Will be available also on Avalanche, CELO, Gnosis, Linea, Polygon zkEVM, and Scroll in the coming months.

If so, will the tokens be natively minted on the other networks or bridged across?

Above-mentioned chains are natively minted. There are some chains with bridged wUSDM, namely Manta Network and Injective, expected given the permissionless nature of USDM/wUSDM.

Are there any mitigations in the contracts in case a bridge becomes inoperable or compromised?

The contract can be paused and upgraded and/or specific addresses can be blocklisted, as per regulatory requirement.

Note that USDM and wUSDM is issued natively on multiple chains, without bridge risk (Arbitrum, Base, Ethereum, Optimism, Polygon POS)

Token contract Behavior:

Does the token have more than one address?*

No, for native USDM and wUSDM all token addresses are the same on all chains.

-USDM: 0x59d9356e565ab3a36dd77763fc0d87feaf85508c

-wUSDM: 0x57f5e098cad7a3d1eed53991d4d66c45c9af7812

Does the token use a compiler version greater than 0.8.0 or the SafeMath? If not, explain how the protocol deals with possible overflows and underflows*

Solidity version higher than 0.8.0

During the execution of the token’s functions, does the token execute external code chosen by the caller or receiver? If so, please explain the reasoning behind this decision*

Yes, during the execution of the wUSDM transfers, the token executes external code through calls to USDM.isBlocked and USDM.paused. These calls are made to ensure a unified state for both USDM and wUSDM regarding pausing and the blocklist.

How does the token contract deviate from a standard implementation of ERC20? Any additional features that the Compound DAO should know about?*

USDM (which backs the proposed wUSDM) is a rebasing token + mint/burn + blocklist + pausing.

Is it burneable?*

Yes

Does the token contract have a fallback function? If so, when does it revert?

No, the token contract wUSDM does not have a fallback function.

Does it have a fixed supply? If no, who can mint?*

No, Mountain Protocol, as the sole issuer of USDM, has the authority to mint new tokens.

Is it a rebasing token?*

The USDM is a rebasing token. The wUSDM is a value-appreciating token that has a deterministic price path based on the USDM rewards rate, using a tokenized vault standard ERC4626.

Does the token charge fees on transfers?*

No

Does it implements any transfer hooks? Or hooks on any method?*

Yes, _beforeTokenTransfer for checking pausing and blocklisting state.

Is the contract performing arbitrary delegatecalls?* If the answer is yes, indicate who can make these calls and to what contracts.

Not directly on wUSDM. Instead, it inherits this capability from the OpenZeppelin UUPSUpgradeable contract. Only the account with the UPGRADE_ROLE can make these calls, and it can specify the target contract for the delegatecall during the upgrade process.

Is it flash mintable? If yes, please provide more information on this feature*

No, given compliance requirements.

Is it flash loanable? If yes, please indicate who offers the service.*

No.

What are the typical gas costs for calling each of the standard ERC20 functions?

40-60k gas for transfer

Price Feed Behavior

Is the price feed supported by ChainLink?

Chainlink has confirmed that they will provide a price feed for wUSDM and should be up and running in a matter of weeks.

If not, what entity is responsible for posting price updates? List names and addresses which may update the price feed

Chronicle (Arbitrum): Chronicle Protocol - Cost-Efficient, Verifiable Blockchain Oracles

How often will price updates be posted?

Chronicle: >1% price difference or >24 hours

Chainlink: TBC

At what price difference threshold will price updates be posted?

Chronicle: >1%
Chainlink: TBC

Can the AggregatorV3Interface functions for this price feed ever revert when called?

Chronicle Oracle is read-protected by address whitelisting.

Chainlink: TBC

Does the bytecode of the custom price feed match an audited version?

Yes. Chronicle Oracles have been audited by ChainSecurity, ABDK & Spearbit.

Chainlink: TBC

Upgradability:

Is it upgradeable?* If so:

Yes.

Who is authorized to make an upgrade?

Role has not been assigned to any address. If it were, it would be exclusively for the Mountain Protocol team. Access is granted by Admin (4/7 multisig): 0x313d5B7EfDcd84e8a52D425282B03860e9354d74

Can an upgrade happen instantaneously or is there a time-lock delay?

No timelock, similar to other centralized stablecoins.

Which components are upgradable?

Full contract, due to regulatory requirements, similar to other centralized stablecoins.

How does the upgradeability design work? Who manages it and are how upgrades performed?

Details are not shared due to OpSec reasons. At a high level, the company uses the Admin to grant role to an upgrader using OpenZepellin Defender + safe multisig approval (4/7). All upgrades are first tested on testnet before formal upgrades.

We do not expect upgrades to the SC given how simple it is.

Does it emit an event when the implementation is updated?

Yes, Emits an Upgraded event (OZ UUPSUpgradeable).

2 Likes

Hi all! We did some back of the envelope math on the size of the impact of the addition of wUSDM as collateral in today’s market condition.

In particular, we estimate ~$60M in additional borrows simply by lifting the borrow rate to the current wUSDM reward rate.

1 Like

[Gauntlet] wUSDM Asset Listing on Compound V3 Arbitrum USDC and Ethereum USDT markets

If the community decides to list wUSDM on Compound V3 USDC/USDT markets on Arbitrum and Ethereum, Gauntlet recommends the risk parameters below.

Ethereum USDT Comet

Asset Collateral Factor Liquidation Factor Liquidation Penalty Supply Cap
USDM 88% 90% 5% 6.5M

Arbitrum USDC Comet

Asset Collateral Factor Liquidation Factor Liquidation Penalty Supply Cap
USDM 88% 90% 5% 4.5M

Analysis

The USDM token (reference) is a rebasing ERC20 token, redeemable at a pegged 1:1 USD value by primary users. USDM is a stablecoin, backed by “USDM Reserves”, which are held under custody with regulated financial institutions. The current USDM in Circulation is fully collateralized by USDM Reserves as of August 1, 2024 (reference).

USDM carries risks primarily related to depegging, where it could lose its $1 value if the collateral backing or algorithmic mechanisms fail. Additionally, there is regulatory risk, as stablecoins like USDM may face scrutiny over reserve management and compliance. Lastly, liquidity risk can arise if market conditions or platform issues reduce the ability to trade or redeem USDM at its intended value.

wUSDM stands for wrapped USDM. Wrapping and unwrapping tokens introduce risks such as smart contract vulnerabilities, centralization concerns, and liquidity issues, which can affect the safety and value of assets. Unwrapping risks also include redemption challenges and the potential for depegging, where the wrapped token may lose its value relative to the underlying asset. To mitigate these risks, it’s crucial to ensure smart contracts are audited, use decentralized custodians, and monitor market conditions closely.

Liquidity Sources

The following table summarizes the liquidity sources for wUSDM across various decentralized exchanges (DEXs) on Ethereum and Arbitrum:

pool_name Chain pool_type pool_url pool_tvl_usd
USDM / USDT 0.05% Ethereum uniswap_v3 Link $19.99M
pool_name Chain pool_type pool_url pool_tvl_usd volume_24h_usd
USDM / USDC Arbitrum curve_arbitrum Link $7.62M $121.21K

Total DEX TVL (Ethereum): $19.99M
Total DEX TVL (Arbitrum): $7.62M

wUSDM → USDC/USDT Liquidty Profile

Chain 5% Slippage 10% Slippage 25% Slippage
Ethereum 6.8M ($6.8M) 7.5M ($7.5M) 8.5M ($8.5M)
Arbitrum 4.6M ($4.6M) 5M ($5M) 5.5M ($5.5M)

Volatility Analysis

Metric Value
Min Price Change Log -0.30%
Max Price Change Log 0.37%
Daily Log Volatility 1.26%
30D Log Volatility 1.43%

The volatility metrics for wUSDM indicate that it deviates from the price of USDC/USDT with a 30-day volatility of 1.43%, indicating minimal deviations from the mean price over the past month.

Supply Cap and Liquidation Penalty (LP)

Based on the available liquidity, we recommend setting a supply cap that would cause 5% slippage, ensuring that the total slippage, should the entire supply get liquidated, remains less than the Liquidation Penalty. Given the above liquidity sources, Gauntlet recommends a supply cap of 6.5M for Ethereum USDT Comet and 4.5M for Arbitrum USDC Comet, with the optionality to increase them if the market shows demand. This level is aligned with the liquidity available and aims to balance liquidators’ incentives with minimal slippage risk.


Liquidation Factor (LF) and Collateral Factor (CF)

Gauntlet recommends setting the Liquidation Factor at 90% and the Collateral Factor at 88%. This approach aligns with the need to provide a safety margin while enabling efficient capital utilization within the protocol.

Next Steps

We welcome community feedback on the proposed risk parameters for wUSDM on Compound V3 Arbitrum USDC and Ethereum USDT markets


Note: The data provided in this document is accurate as of the publication date. Market conditions and liquidity levels may change, and it is advisable to regularly review these parameters to ensure they remain appropriate.

1 Like

#Add wUSDM to cUSDTv3 on Mainnet

PR - Add wUSDM as collateral to USDT market on Mainnet by MishaShWoof · Pull Request #930 · compound-finance/comet · GitHub

Actions

  1. Run Slither. Fails. :x:. Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  2. Forge test. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  3. Gas Profiler. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  4. Scan. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  5. mainnet-usdt Scenario. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  6. Unit tests. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  7. Eslint. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  8. Contract linter. Success.:white_check_mark: Add wUSDM as collateral to USDT market on Mainnet · woof-software/comet@c83f30f · GitHub
  9. Prepare migration. Success.:white_check_mark: Prepare Migration · woof-software/comet@c83f30f · GitHub
  10. Enact migration with impersonate. Success.:white_check_mark: Enact Migration · woof-software/comet@c83f30f · GitHub

Description we use:

Add wUSDM as collateral into cUSDTv3 on Ethereum\n\n

Proposal summary\n\n

Compound Growth Program [AlphaGrowth] proposes to add wUSDM into cUSDTv3 on Ethereum network. This proposal takes the governance steps recommended and necessary to update a Compound III USDT market on Ethereum. Simulations have confirmed the market’s readiness, as much as possible, using the Comet scenario suite. The new parameters include setting the risk parameters based off of the recommendations from Gauntlet.\n\n

Further detailed information can be found on the corresponding proposal pull request and forum discussion.\n\n\n

Proposal Actions\n\n

The first proposal action adds wUSDM asset as collateral with corresponding configurations.\n\n

The second action deploys and upgrades Comet to a new version.

Add wUSDM to cUSDCv3 on Arbitrum

PR - Add wUSDM as collateral to USDC market on Arbitrum by MishaShWoof · Pull Request #931 · compound-finance/comet · GitHub

Actions

  1. Run Slither. Fails. :x:. Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  2. Forge test. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  3. Gas Profiler. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  4. Scan. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  5. arbitrum-usdc Scenario. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  6. Unit tests. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  7. Eslint. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  8. Contract linter. Success.:white_check_mark: Add wUSDM as collateral to USDC market on Arbitrum · woof-software/comet@dc9f627 · GitHub
  9. Prepare migration. Success.:white_check_mark: Prepare Migration · woof-software/comet@dc9f627 · GitHub
  10. Enact migration with impersonate. Success.:white_check_mark: Enact Migration · woof-software/comet@dc9f627 · GitHub

Description we use:

Add wUSDM as collateral into cUSDCv3 on Arbitrum\n\n

Proposal summary\n\n

Compound Growth Program [AlphaGrowth] proposes to add wUSDM into cUSDCv3 on Arbitrum network. This proposal takes the governance steps recommended and necessary to update a Compound III USDC market on Arbitrum. Simulations have confirmed the market’s readiness, as much as possible, using the Comet scenario suite. The new parameters include setting the risk parameters based off of the recommendations from Gauntlet.\n\n

Further detailed information can be found on the corresponding proposal pull request and forum discussion.\n\n\n

Proposal Actions\n\n

The first proposal action adds wUSDM to the USDC Comet on Arbitrum. This sends the encoded addAsset and deployAndUpgradeTo calls across the bridge to the governance receiver on Arbitrum.

With apologies for the belated reflection on this proposal, I think the protocol should take a wait-and-see approach to assess the validity of Gauntlet’s assumptions about the risk profile of the recently passed proposal to list wUSDM as collateral on the Optimism USDC market.

wUSDM carries a wider diversity of risks than most collateral assets, as articulated in Gauntlet’s prior analysis. Although USDM can be freely wrapped and unwrapped in the event of a liquidity crunch, I am concerned about listing assets as collateral when the asset’s supply cap at the time of listing exceeds the value of the underlying asset locked in the wrapper contract. In a crisis situation, it seems conceivable to me that the gas costs of wrapping/unwrapping USDM could exceed the incentives the protocol offers to prevent bad debt.

Gauntlet’s recommendations for wUSDM on Optimism explicitly assume that the market’s creation would trigger an increase in the wUSDM circulating supply on Optimism. It is too early to tell if this will happen, but early signs suggest it won’t be immediate. I believe it is in the protocol’s best interests to monitor the performance of the wUSDM market on Optimism, specifically, to watch for whether available wUSDM catches up to the imposed supply cap for wUSDM on the USDC Optimism market, before moving forward with this proposal.

Again I regret the belated feedback and appreciate everyone’s effort in moving this forward, but I think we need to either see more growth of wUSDM on these chains or a further reduction of the supply caps before I would be comfortable expanding its presence as collateral to Comets on mainnet and Arbitrum.

[Gauntlet] wUSDM Asset Listing on Compound V3 Ethereum USDC markets

If the community decides to list wUSDM on Compound V3 USDC markets on Ethereum, Gauntlet recommends the risk parameters below.

Ethereum USDC Comet

Asset Collateral Factor Liquidation Factor Liquidation Penalty Supply Cap
wUSDM 88% 90% 5% 5M

Analysis

Liquidity Sources

The following table summarizes the liquidity sources for wUSDM across various decentralized exchanges (DEXs) on Ethereum:

pool_name pool_type pool_url pool_tvl_usd volume_24h_usd
sDAI / USDM curve Link $11.44M $0.00
USDM / crvUSD curve Link $996.50K $40.25K
USDM / 3Crv curve Link $807.69K $52.85K
pool_name pool_type pool_url pool_tvl_usd volume_24h_usd
HKDM / USDM 0.01% uniswap_v3 Link $103.77M $0.00
USDM / USDT 0.05% uniswap_v3 Link $20.48M $0.00

Supply Cap

Considering the available liquidity, we recommend setting a supply cap of 5,000,000, as a start, to gauge market demand.

Liquidation Factor (LF) and Collateral Factor (CF)

Gauntlet recommends setting the Liquidation Factor at 90% and the Collateral Factor at 88%, aligning with Ethereum USDT comet and Arbitrum USDC comet.

Next Steps

We welcome community feedback on the proposed risk parameters.


Note: The data provided in this document is accurate as of the publication date. Market conditions and liquidity levels may change, and it is advisable to regularly review these parameters to ensure they remain appropriate.