Ongoing proof of reserves
As part of the Phase 3 of the wind down plan, Proof-of-Reserves of USDM backing can be found on-chain. This document describes how users can independently verify reserves at any point in time.
Overview
As of Aug 22nd, the remaining Reserves held by USDM Reserves Ltd were moved on-chain in the form of USDC and placed on a wUSDM:USDC pool on Uniswap v4 on Ethereum (link)
In order to calculate the Proof of Reserves, users need to compute the following math:
Below we explore how to calculate each of the relevant terms
1) Assets in Reserve (USDC)
Assets can be found in the wUSDM:USDC pool on Uniswap V4. Those can be seen on-chain or via the Uniswap frontend (link)

The amount of USDC in the pool represents the total "assets" backing USDM.
2) Liabilities (USDM in circulation)
Liabilities are equivalent to circulating USDM, which is (a) the total USDM in circulation minus (b) wUSDM held in the Uniswap v4 pool.
2.1) Total USDM
The total USDM is the sum of all USDM on all natively issued chains.
This can be calculated by adding the total USDM on the explorers of the below chains, using the USDM token address, as follows:
2.2) USDM held in Uniswap pool
The wUSDM held on the uniswap pool can be found by using the same link as described above to see USDC balance (link).
wUSDM balance should then be converted to USDM balances, by using the convertToAssets
function in the wUSDM smart contract (link)

Total liabilities are then the total USDM minus the USDM held in the Uniswap pool
Swapping USDM to USDC
In order to swap USDM for USDC in the above-mentioned pool, users can use various options:
Swap using the Uniswap smartcontract directly
Swap using the Uniswap.org frontend
Swap using an aggregator such as Odos (https://app.odos.xyz/) or Jumper (https://jumper.exchange/)
Note on wUSDM wrapping
Given that USDM is a rebasing token, the pool in Uniswap is built using wUSDM.
Services like Odos have integrated wrap/unwrap natively. Other services may require wrapping into wUSDM prior to swapping.
Wrapping into wUSDM can be done via:
Directly on the smart-contract (link)
Using the official Mountain Protocol resource: https://defi.mountainprotocol.com/wrap
Multi-chain assets
Users who hold USDM on other networks that are not Ethereum may have to bridge their USDM to Ethereum in order to swap their USDM. To do this, Chainlink's CCIP native bridging solution will remain open.
Users can use the CCIP native bridging using the official briging resource: https://defi.mountainprotocol.com/bridge
Last updated