mTokens are an ERC-20 compliant token that is used to track positions within the Moonwell protocol across markets. mTokens are transferrable and fungible, and can be redeemed for an underlying position assuming there is sufficient liquidity and that position represented by those tokens haven't been marked for use as collateral.
Each market supported by the protocol (GLMR, Frax, etc) is represented by an mToken, and the mToken is responsible for:
- Taking new deposits (minting mTokens)
- Withdrawing assets from the protocol (redeeming/burning mTokens)
- Escrowing borrow requests for a specific asset
- Handling repayments for a specific market
- Handling liquidations for specific market positions
- Calculating reserve and seize shares to increase protocol reserves
When you liquidate an underwater loan on Moonwell, you pay off a user's underwater position and are able to seize a portion or the entirety of their mTokens.