Skip to content

Building Your Stablecoin

M0 empowers you to tailor a digital dollar precisely to your application's needs, leveraging the security and yield of the foundational $M token while giving you full control over your stablecoin's behavior and features.

$M extensions are your own smart contract that wraps the core $M token. This allows you to define unique rules, branding, and value flows, all built upon M0's pre-determined components and robust infrastructure.

Key Design Decisions

Before writing code, consider these crucial aspects. With M0 you will be able to customize your extension to fit any needs below. Your choices will define your extension's functionality and value proposition:

1. Purpose & Branding

  • What will your stablecoin be used for (e.g., payments, in-app currency, rewards, DeFi collateral)?
  • Will it be publicly branded (e.g., YourAppUSD) or an internal/infrastructure component?

2. Access Control

  • Will your extension be permissionless (publicly accessible) or restricted to a specific whitelist of users/contracts?

M0 allows you to implement this logic within your extension.

3. Yield Distribution

  • If your extension contract (holding $M) is approved as an M0 Earner, it will accrue yield. How will this yield be distributed?
    • As rewards to token holders? (e.g., via rebasing balances or a claimable mechanism)
    • As revenue to a treasury/foundation/business?
    • Split between multiple parties? (e.g., holders and a treasury)

M0's design gives you complete flexibility to implement your desired yield flow.

4. Compliance Features

  • Do you need onchain compliance tools like blacklisting addresses or integrating with third-party solutions? (e.g., M0 supports Predicate integration on certain chains) You can build these directly into your extension.

5. Upgradability

  • Should your extension contract be immutable after deployment, or upgradeable (e.g., via a proxy pattern) to allow for future changes and feature additions?
  • If upgradeable, who will control the upgrade process?

6. Multi-Chain Deployment

  • What chains does your stablecoin need to live in? Extensions can be deployed across multiple networks. While M0 already supports off-ramping USDC on various chains, this option ensures that the extension token itself can natively exist and be held on other chains as needed.

7. Advanced Yield Management (Optional)

  • For more sophisticated use cases, partners can implement advanced yield controls, such as whitelisting eligible yield recipients, defining multiple yield tiers, or redirecting yield from LP contracts to alternate addresses.

Deeper Dive: M0 Extensions