mStable Improvement Proposals (MIPs) describe proposed upgrades or changes to the mStable platform, including core protocol specifications, client APIs, and contract standards.

What is a MIP?

MIPs have been adapted from the EIP (Ethereum Improvement Proposal) standard. The purpose of this process is to ensure changes to mStable are transparent and well governed. A MIP is a design document providing information to the mStable community about a proposed improvement to the system. The author is responsible for building consensus within the community and documenting opinions.


Protocol upgrades and contributions to mStable are organised into seperate MIPs to allow for easy identification and sorting of protocol changes. Anyone wanting to build on mStable should follow the steps below:

  1. Review MIP-1.

  2. Fork the repository by clicking "Fork" in the top right.

  3. Add your MIP to your fork of the repository. There is a template MIP here.

  4. Submit a Pull Request to mStable's MIPs repository.

Your first PR should be a first draft of the final MIP. It must meet the formatting criteria enforced by the build (largely, correct metadata in the header). An editor will manually review the first PR for a new MIP and assign it a number before merging it. Make sure you include a discussions-to header with the URL to a discussion forum or open GitHub issue where people can discuss the MIP as a whole.

If your MIP requires images, the image files should be included in a subdirectory of the `assets` folder for that MIP as follow: assets/mip-X (for mip X). When linking to an image in the MIP, use relative links such as ../assets/mip-X/image.png.

When you believe your MIP is mature and ready to progress past the WIP phase, you should ask to have your issue added to the next governance call where it can be discussed for inclusion in a future platform upgrade. If Meta Governors choose to approve the MIP, the state of the MIP will change to Approved.

Current and historical MIPs