MainStreet Project "Autopsy" Report: msUSD and msY Token Depeg Incident

Sudden Depeg
The msUSD and msY tokens issued by MainStreet experienced a depeg on June 20, 2026. The price dropped from 1 to as low as 0.04 at one point — a decline of up to 96%.

The trigger was a post from their partner @AccountableData announcing the termination of their service agreement with MainStreet, reportedly because MainStreet “failed to prove its reserve funds”.
https://x.com/AccountableData/status/2068317918031761747

Project Background
First, let’s introduce the msUSD token issued by MainStreet. It is essentially a USDC-collateralized stablecoin that also implements LayerZero cross-chain functionality. It is deployed on both Ethereum and Sonic.
msUSD: https://etherscan.io/address/0x4ba01f22827018b4772cd326c7627fb4956a7c00
Unlike typical Warp tokens, ordinary users cannot mint msUSD by directly depositing USDC. They can only purchase it on DEXes. On Ethereum, there are msUSD/USDC pools on Uniswap V3, V4, and Balancer.
https://www.geckoterminal.com/zh/eth/pools/0x536a65800167b07b9e5cabb9088b17df3f827fb2

There are two contracts with minting authority for msUSD:
- MainstreetMinter — the contract responsible for mint permission management.
- msY — the staking token contract for msUSD.

MainstreetMinter: https://etherscan.io/address/0x70C0c12fBb3acFFf8E48aBf027436971cF2Ade14
msY: https://etherscan.io/address/0x890A5122Aa1dA30fEC4286DE7904Ff808F0bd74A
The msY contract is a standard staking/yield contract. Users stake msUSD and receive msY tokens as share certificates following the ERC-4626 standard. Rewards are generated by calling msY.mintRewards(), which triggers msUSD.mint() to create “cost-free” new msUSD as yield.

From this, we can roughly understand the project’s operating logic:
The team first creates an msUSD/USDC = 1:1 liquidity pool, then launches the msY staking reward contract. Users buy msUSD on DEXes and stake it into msY to earn more msUSD rewards.
This setup allowed the project to gain traction, but it also created several issues. Since users can only acquire msUSD through DEXes:
- In the early stage, heavy buying pushes the price significantly above 1.
- Later, as msY continuously mints new msUSD as rewards and those tokens are sold, the price is pushed back down.
So how does the project maintain the msUSD/USDC = 1:1 peg?
This is where the MainstreetMinter contract’s privileged functions come into play.
MainstreetMinter maintains a whitelist. Only whitelisted addresses can perform these privileged operations:
- Mint msUSD: Whitelisted users deposit USDC → the contract uses a USDC Oracle (which always returns a static 1:1 price) to mint an equivalent amount of msUSD.
- Redeem USDC: Whitelisted users burn msUSD to request redemption. After the
claimDelayperiod, they receive USDC after fees based on the currentcoverageRatio. (BothclaimDelayandcoverageRatioare set to 0.) - USDC scheduling: The
custodianrole can withdraw USDC from MainstreetMinter to the Custody multisig for deployment in other yield strategies.
Through on-chain event analysis, there are currently 10 addresses on the whitelist.

After decompiling the contracts, all unverified contracts (addresses 2–7) turned out to be flash-loan arbitrage bots. These bots regulate the price whenever msUSD deviates from 1 USDC, bringing it back near 1 while making a profit.
When msUSD > 1 USDC (e.g., contract 0x58b9):
- Flash-loan USDC
- Call
MainstreetMinter.mint()to exchange USDC 1:1 for msUSD - Sell the msUSD on DEX (receive more USDC than spent)
- Repay the flash loan and keep the profit When msUSD < 1 USDC (e.g., contract 0xC9A4 and others):
- Flash-loan USDC
- Buy msUSD on DEX (receive more msUSD than the USDC spent)
- Call
MainstreetMinter.requestTokens()to exchange the msUSD back to USDC at 1:1 - Repay the flash loan and keep the profit
Through this two-way arbitrage mechanism, MainStreet keeps msUSD price stable around 1 USDC.
However, because msY keeps minting new msUSD as rewards, the total supply keeps growing and is constantly being sold. Over time, msUSD trading below 1 USDC becomes the norm. The low-price arbitrage step (exchanging bought msUSD back to USDC at 1:1) becomes loss-making for the protocol. The protocol needs additional USDC reserves to support these redemptions.
This is where the third function — USDC scheduling — is used. The custodian can withdraw USDC from MainstreetMinter to the Custody multisig and deploy it into external yield strategies (e.g., CME box spreads, option arbitrage, etc.). The profits from these strategies are supposed to “empower” (维持) the value of msUSD.
Protocol’s designed closed loop:
- Add liquidity to the msUSD/USDC pool (1 msUSD = 1 USDC)
- Users buy msUSD and stake into msY to earn more msUSD
- Whitelisted flash-loan bots keep the pool price near 1:1
- Custodian withdraws USDC from MainstreetMinter to off-protocol addresses (Custody multisig, etc.)
- These USDC are deployed into external yield strategies to generate profit
- Instead of distributing profits directly, the protocol uses arbitrage bots to stabilize msUSD back to 1, thereby sustaining users’ yields (while msY continues to mint new msUSD)
From the above mechanism, we can see that if MainStreet’s external investment returns fall short of expectations (long-term issue: weakening buyback pressure) or if they cannot quickly liquidate external investments during a panic sell-off of msUSD (short-term issue: bank-run depeg), then both msUSD and msY will collapse.
Borrowing and Bad Debt
To add liquidity leverage to msY and allow staked yield assets to be used while locked, AlphaPing created lending markets on Morpho where users can use msY as collateral to borrow USDC.
Links:
https://app.morpho.org/ethereum/market/0x23a7d0ff682b323363fb8ba58327ed87001f6306e09b7fd7413bbe4698e749c8/msy-usdc#market
https://app.morpho.org/ethereum/vault/0x0bF0164D17469241B6E086dA4016DCc54FEAA334/alpha-usdc-delta-v2#overview
Due to the msY depeg, the market experienced a bank run, resulting in approximately $23 million in bad debt.

Note: Searching for “msUSD” on Morpho will show other markets, but those are unrelated tokens with the same name.
Statement and Handling
https://x.com/Main_St_Finance/status/2073081791792218222
On July 4, 2026, MainStreet issued a statement claiming that the collateralization ratio remains above 100%. The current difficulties stem from investments that have not yet matured and cannot be fully redeemed. They will handle the situation after the investments mature and are redeemed:
- msY holders outside the Morpho market: Released USDC will continue to be injected into the minter to support the liquidity pool. Users can exit normally via the pool/minter process.
- USDC lenders in the Morpho market: Lenders will receive their original principal back. Any interest above the principal will be treated as bad debt and will not be fully repaid.


