{"id":"wrappedm","title":"WrappedM","content":"**WrappedM (WM)**, also known by its ticker symbol **wM**, is an ERC-20 token that serves as a non-rebasing, wrapped representation of the M0 protocol's native yield-bearing asset, $M. Introduced by the M0 [Foundation](https://iq.wiki/wiki/foundation), its core function is to bridge the value and yield-generation capabilities of the $M token to the broader decentralized finance (DeFi) ecosystem, particularly on [Ethereum](https://iq.wiki/wiki/ethereum) and other EVM-compatible blockchains. WM maintains a stable 1:1 exchange rate with the underlying $M token, while converting the natively accrued yield into a separately claimable amount, thus ensuring compatibility with DeFi protocols that require static-balance assets. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ) [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw)\n\n## Overview\n\nWrappedM was officially announced on August 16, 2024, as a collaborative effort between the M0 [Foundation](https://iq.wiki/wiki/foundation) and M0 Labs. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ) Its development was a direct response to the compatibility challenges posed by M0's native $M token within the DeFi landscape. The native $M is a \"rebasing\" token, meaning its balance in a user's wallet automatically increases as yield is earned. While this provides a seamless yield experience for holders, this dynamic balance mechanism is incompatible with many standard DeFi protocols, such as automated market makers (AMMs) and lending platforms, which are built to operate with tokens that have a fixed, predictable balance. [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw)\n\nThe WM wrapper was designed to solve this issue by offering a \"stable balance\" alternative. It also aimed to improve upon existing stablecoin models. Unlike non-yield-bearing stablecoins such as USDT or [USDC](https://iq.wiki/wiki/usdc), WM allows holders to access the on-chain yield generated by the M0 protocol. It also differentiates itself from other yield-bearing wrapped tokens (like sDAI) that accrue value through a constantly changing exchange rate. Such models can create accounting complexities and price distortions within DeFi protocols. WM avoids this by strictly maintaining a 1:1 exchange rate with $M, where 1 WM is always redeemable for 1 $M. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\nThis design enables WM to serve as a key component of M0's B2B2C (business-to-business-to-consumer) distribution strategy. By abstracting the yield from the balance, DeFi protocols and other partners can integrate WM as a stable-priced asset and programmatically manage the distribution of the accrued yield to their end-users, such as liquidity providers or platform stakers. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\n## Technical Mechanism and Architecture\n\nThe WM token's functionality is defined by its smart contract, which manages the wrapping, unwrapping, and yield management processes. The on-chain name is \"M (Wrapped) by M0\" and it utilizes 6 decimals. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n### Wrapping and Unwrapping Process\n\nThe conversion between the native $M token and WM is a straightforward process managed by the `WrappedMToken` smart contract. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n#### Wrapping ($M to WM)\n\nTo convert $M into WM, a user interacts with the `wrap(recipient, amount)` function. The process involves two steps: first, the user must grant an ERC-20 approval to the WM contract, allowing it to spend the desired amount of their $M tokens. Second, upon calling the `wrap` function, the contract transfers the specified amount of $M from the user's wallet into its own reserve and mints an equivalent number of WM tokens to the designated recipient's address. The contract also supports gasless approvals through `wrapWithPermit` functions, which utilize EIP-2612 signatures. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n#### Unwrapping (WM to $M)\n\nTo convert WM back into the native $M token, a user calls the `unwrap(recipient, amount)` function. This action burns the specified amount of WM tokens from the user's balance, permanently removing them from circulation. In response, the smart contract releases an equivalent amount of the underlying $M token from its reserves and transfers it to the recipient's M0 wallet address. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n### Yield Generation and Management\n\nThe yield mechanism for WM is a core feature that separates a holder's principal from their earnings, a process managed through a series of smart contract functions and state conditions.\n\n#### Underlying $M Yield\n\nThe yield itself originates from the M0 protocol's native $M token. M0 governance, through a body known as the \"Two Token Governor\" (TTG), maintains a global \"Earner List\" of addresses eligible to earn yield. The yield rate, or \"Earner Rate,\" is also set by the TTG and was designed to track the US Federal Funds rate, reflecting the composition of the collateral backing $M. At its inception in August 2024, this rate was set at 5%. For an address on the Earner List to begin earning, it must call the `startEarningFor()` function on the M0 contract, after which its $M balance will begin to rebase upward. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\n#### WM Yield Accrual and Claiming\n\nWM abstracts this complex rebasing mechanism. A WM holder's balance remains static, while the yield their underlying principal generates accrues within the contract. For yield to be generated, the WM contract must first be set to an `EarningEnabled` state. Individual WM holders must also be approved as \"earners\" by a designated `earnerManager` contract and then opt-in by calling `startEarningFor(account)`. The accumulated yield does not automatically appear in the user's wallet; it must be explicitly claimed. This is done by calling the `claimFor(account)` function, which transfers the earned M tokens to a pre-set recipient address (by default, the holder's own address). This function is automatically triggered upon transferring WM and can also be called manually at any time. The amount of accrued, claimable yield can be checked using the `accruedYieldOf(account)` view function. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\nA key feature for integrators is the ability for anyone to call `startEarningFor()` or `claim()` on behalf of a smart contract address on the Earner List, such as a liquidity pool. This permissionless activation enables DeFi protocols to manage yield accrual without requiring their users to perform extra steps. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\n### Value Peg and Solvency\n\nWM is designed to maintain a strict 1:1 value peg with the underlying $M token. This is enforced by the smart contract's wrapping and unwrapping functions, which always mint or burn tokens at a 1:1 ratio. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\nTo guarantee that the contract can always meet its obligations, it is built around a \"solvency invariant.\" This principle ensures that the total balance of $M held by the WM contract is always greater than or equal to the total supply of WM in circulation plus all accrued yield owed to holders. This mathematical guarantee, expressed as `M Balance(wM contract) ≥ totalNonEarningSupply + projectedEarningSupply`, ensures that every WM token and its associated yield can be redeemed for the underlying $M at any time, protecting the system from insolvency. [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw)\n\n### Smart Contract Details\n\nThe [Solidity](https://iq.wiki/wiki/solidity) source code for the `WrappedMToken` is publicly available for review in the M0-Foundation's GitHub repository. The contract architecture includes several key state variables and administrative roles critical to its operation, including:\n\n* `mToken`: The contract address of the underlying $M token.\n* `registrar`: The address of the M0 Registrar contract, used for configuration.\n* `earnerManager`: The address of the contract that manages yield-earning eligibility.\n* `migrationAdmin`: A privileged address with the authority to perform contract upgrades.\n* `excessDestination`: The address designated to receive excess M tokens claimed from the contract.\n\nTo track user data efficiently, the contract employs a custom `Account` struct that stores a user's balance, earning status, and principal amount. The contract also emits a variety of events like `Claimed`, `StartedEarning`, and `StoppedEarning` to provide on-chain transparency for user actions. [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n## Tokenomics\n\nThe tokenomics of WM are directly linked to its function as a wrapped token, with its supply determined by user activity rather than a fixed issuance schedule.\n\n* **Supply Model:** The circulating supply of WM is dynamic and corresponds directly to the amount of the native $M asset locked in the custodial wrapper contract. The supply increases when users wrap $M and decreases when they unwrap WM. The contract transparently tracks `totalSupply` (all WM in circulation), `totalEarningSupply` (WM held by yield-earning accounts), and `totalNonEarningSupply` (WM held by non-earning accounts). [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6) [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n* **Backing and Collateralization:** The total supply of WM is always 100% collateralized by the underlying $M native asset held in reserve. The M0 protocol provides a public dashboard with a proof-of-reserve mechanism, allowing anyone to verify that the amount of locked $M matches the circulating supply of WM. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Distribution:** WM is not distributed through a public sale, Initial Coin Offering (ICO), or airdrop. Tokens are created exclusively through the wrapping process initiated by users who deposit $M. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Protocol Value Capture:** The WM contract is designed to capture value for the M0 protocol ecosystem. It accumulates \"excess\" reserves, which are generated from the yield earned on underlying $M that backs non-earning WM tokens, as well as from minor positive rounding effects during transfers. This surplus value can be claimed via the `claimExcess()` function and directed to a designated protocol address (`excessDestination`). [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw)\n\n## Utility and Use Cases\n\nThe primary utility of WM is to act as a bridge, enabling cross-chain compatibility and unlocking the value of the M0 ecosystem for the wider world of DeFi. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n\n* **Liquidity Provision:** As a stable-priced ERC-20 token, WM is well-suited for providing liquidity in pools on decentralized exchanges (DEXs) like Uniswap and Sushiswap. LPs can earn trading fees and liquidity mining rewards without the accounting issues associated with rebasing assets. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n* **Lending and Borrowing:** WM can be used as collateral on decentralized lending and borrowing platforms such as [Aave](https://iq.wiki/wiki/aave) and [Compound](https://iq.wiki/wiki/compound). This allows holders to borrow other crypto assets against their M0-based holdings without selling them. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Yield Farming:** Users can deposit WM into various yield farming strategies and protocols to generate returns on their assets. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Trading and Arbitrage:** WM can be traded freely on any exchange that supports ERC-20 tokens, creating opportunities for price discovery and arbitrage between its native chain and the [Ethereum](https://iq.wiki/wiki/ethereum) ecosystem. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n\n## Governance\n\nThe governance of the WM token is integrated into the broader M0 protocol's decentralized governance framework. Key decisions regarding the token's parameters and features are managed by the M0 DAO, also referred to as the \"Two Token Governor\" (TTG). [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6) [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\nThe TTG's responsibilities related to WM include:\n\n* Managing the global **Earner List**, which determines which addresses (including smart contracts) are eligible to earn yield.\n* Setting the protocol's **Earner Rate**.\n* Controlling the **Claim Override** feature, which allows governance to direct the yield accrued by an integrated protocol to a specific destination, enabling tailored rewards mechanisms for partners. [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)\n\nIn addition to the main DAO, WM introduces a more flexible administrative model. It allows for \"trusted admins\" who can manage the earner status of tokens for specific protocol integrations. This delegated administration streamlines partnerships by enabling certain adjustments without requiring a full governance vote. The smart contract also defines specific administrative roles, such as the `earnerManager` and `migrationAdmin`, which control key functions related to yield eligibility and contract upgrades. [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw) [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n## Security\n\nSecurity for the WM token is addressed through a combination of contract design, external audits, and operational protocols.\n\n* **Smart Contract Audits:** The WM ERC-20 smart contract has undergone multiple security audits conducted by reputable blockchain security firms. The M0 protocol has made these audit reports publicly available for community review and verification. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Custodian Security:** The reserves of the native $M asset that back the circulating supply of WM are held in an institutional-grade custody solution. This system employs a multi-signature (multi-sig) wallet configuration, which requires transaction approval from multiple independent parties, significantly reducing the risk of a single point of failure or unauthorized access to the funds. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **Transparency and Proof of Reserve:** The M0 protocol maintains a commitment to transparency through a real-time proof-of-reserve mechanism. A public dashboard allows users to monitor and verify that the total amount of $M held in the reserve contract matches the total supply of WM on-chain. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6)\n* **In-Contract Safeguards:** The contract's code includes several built-in safety measures. The solvency invariant is the primary mechanism ensuring the token remains fully collateralized. Furthermore, the use of custom errors provides clear and gas-efficient reverts for invalid transactions, and the public availability of the source code on GitHub facilitates continuous community scrutiny. [\\[2\\]](#cite-id-iCfSDR0x8x3SMGlw) [\\[3\\]](#cite-id-Z8pEsaEO1wRsDTQU)\n\n## Partnerships and Integrations\n\nWM was designed explicitly to foster integrations with a wide range of DeFi protocols. The documentation indicates that WM has been integrated with several key projects, including major DEXs and lending platforms, and that partnerships have been established with cross-chain bridges and oracle services to ensure smooth operation. While specific partner names are not detailed in all sources, the initial research paper highlighted Uniswap v3 as a prime example of a target integration, demonstrating how its yield management features could be used to reward liquidity providers. [\\[4\\]](#cite-id-kxvSWegNpQ2Ypph6) [\\[1\\]](#cite-id-0VVUpXmWpSXSPYaQ)","summary":"WrappedM (WM) is an ERC-20 token wrapper for the M0 protocol's native stablecoin, $M. It maintains a 1:1 value peg with $M and provides a static balance for DeFi compatibility, while allowing accrued yield to be claimed separately by holders.","images":[{"id":"QmXTk8SwwwsBVH1CWGnhom1HWJd4mZPkP6Hk21WKxf4L29","type":"image/jpeg, image/png"}],"categories":[{"id":"cryptocurrencies","title":"cryptocurrencies"}],"tags":[{"id":"Protocols"},{"id":"Ethereum"},{"id":"Stablecoins"},{"id":"Developers"}],"media":[{"id":"QmR1gdAh7oipRMuBPctqEP4n6amVizZyS3MuAaxaWadaEt","type":"GALLERY","source":"IPFS_IMG"},{"id":"QmNvNCg4VsWvFg7HWyoi3MuhiNAtJPQD4ZBkmpUvqTeX9Y","type":"GALLERY","source":"IPFS_IMG"},{"id":"QmVDaGV2XWmAydT1HuWjRLSpUT3R1upMigvduKDuPDPa8c","type":"GALLERY","source":"IPFS_IMG"},{"id":"QmRP5ktisqZCAxzYczzQjLrsWyS5zLDosWCJNzXzYbsosR","type":"GALLERY","source":"IPFS_IMG"},{"id":"QmNwzCV4YCg4vqrf2gbpoQL79SxA4PzdsDku7uLgu45ALe","type":"GALLERY","source":"IPFS_IMG"}],"metadata":[{"id":"references","value":"[\n {\n \"id\": \"0VVUpXmWpSXSPYaQ\",\n \"url\": \"https://research.m0.org/research/defi-meet-wrapped-m\",\n \"description\": \"M0 Research introducing WM and its purpose\",\n \"timestamp\": 1769704749837\n },\n {\n \"id\": \"iCfSDR0x8x3SMGlw\",\n \"url\": \"https://docs.m0.org/home/technical-documentations/wm-token/overview/\",\n \"description\": \"Overview of Wrapped M's design and function\",\n \"timestamp\": 1769704749837\n },\n {\n \"id\": \"Z8pEsaEO1wRsDTQU\",\n \"url\": \"https://docs.m0.org/home/technical-specifications/wrapped-m-token/\",\n \"description\": \"Technical specifications for Wrapped M Token\",\n \"timestamp\": 1769704749837\n },\n {\n \"id\": \"kxvSWegNpQ2Ypph6\",\n \"url\": \"https://coinmarketcap.com/currencies/wm/\",\n \"description\": \"Analysis summary of WM's supply model\",\n \"timestamp\": 1769704749837\n }\n]"},{"id":"website","value":"https://m0.org/"},{"id":"github_profile","value":"https://github.com/m0-foundation"},{"id":"coingecko_profile","value":"https://www.coingecko.com/en/coins/wm"},{"id":"coinmarketcap_url","value":"https://coinmarketcap.com/currencies/wm/"},{"id":"references","value":"https://docs.m0.org/home/technical-documentations/wm-token/overview/"},{"id":"website","value":"https://whitemonkey.fun/"},{"id":"twitter_profile","value":"https://twitter.com/whitemonkeyfun"},{"id":"discord_profile","value":"https://t.me/whitemonkeyportal"},{"id":"bscscan","value":"https://bscscan.com/token/0x2789033dfe80593f69d689f65892a75afa491111"},{"id":"nansen","value":"https://app.nansen.ai/token-god-mode?chain=bnb&tab=transactions&tokenAddress=0x2789033dfe80593f69d689f65892a75afa491111"},{"id":"commit-message","value":"\"Added WrappedM (WM) page\""}],"events":[{"id":"29241aec-e1c5-4921-b49f-c1bd0f6af662","date":"2024-08","title":"Wrapped M (WM) Announced","type":"CREATED","description":"The M0 Foundation and M0 Labs announced the release of the Wrapped M (WM) wrapper contracts to enable integration of the yield-bearing $M stablecoin into DeFi.","link":"https://research.m0.org/research/defi-meet-wrapped-m","multiDateStart":null,"multiDateEnd":null,"continent":null,"country":null},{"id":"f42d74cd-4cb0-484d-a61b-735269f555aa","date":"2024-08","title":"Initial Earner Rate Set at 5%","type":"DEFAULT","description":"At launch, the Earner Rate for the underlying $M token was set at 5% to track the US Federal Funds rate, managed by the Two Token Governor (TTG).","link":"https://research.m0.org/research/defi-meet-wrapped-m","multiDateStart":null,"multiDateEnd":null,"continent":null,"country":null}],"user":{"id":"0x8af7a19a26d8fbc48defb35aefb15ec8c407f889"},"author":{"id":"0x8af7a19a26d8fbc48defb35aefb15ec8c407f889"},"operator":{"id":"0x1E23b34d3106F0C1c74D17f2Cd0F65cdb039b138"},"language":"en","version":1,"linkedWikis":{"blockchains":["ethereum"],"founders":[],"speakers":[]}}