What are MetaMask Improvement Proposals and How to Create Them

Learn about the MetaMask Improvement Proposal (MIP) process and how it empowers developers and end-users to shape the future of MetaMask Wallet API.

by Kingsley OkonkwoMarch 20, 2024
What are MetaMask Improvement Proposals and How to Create Them Image

As MetaMask evolves, we actively seek new ways to involve developers and end-users in shaping its future. The MetaMask Community Calls allow us to engage with members and gather feedback while encouraging the community to raise specific concerns and suggest improvements using GitHub Issues. This approach has been effective in fixing bugs and improving documentation. However, to ensure community involvement in making significant changes to MetaMask Wallet API, a consistent, transparent, and controlled process is necessary, and that’s precisely what MetaMask Improvement Proposals (MIPs) are.

Inspired by aspects of Ethereum Improvement Proposals (EIPs) and React RFCs, MIPs provide a structured way for the developer community to propose new features, collect technical input on issues, and document the design changes to MetaMask Wallet API over time. While minor changes can be implemented and reviewed through the usual GitHub Issues and Pull Request workflow, additions and significant modifications to the MetaMask Wallet API, require a more careful approach due to the large number of developers and diverse applications reliant on these interfaces.

Through MIPs, we aim to balance developer preferences for API designs and behaviors with considerations for user experience, privacy, and security while ensuring backward compatibility.

Who can submit a MetaMask Improvement Proposal?

To ensure inclusivity while staying true to MetaMask's unique design principles, we have divided contributors into two distinct groups:

  1. MetaMask API maintainers: This group oversees the MetaMask Wallet API and reviews and approves MIPs submitted by the community. MIPs from this group can be seen as a "request for comments" because extensive design, discussion, and experimentation have already taken place internally. Submitting these MIPs allows the community to preview the design and provide valuable feedback. You can find the list of current MetaMask API maintainers here.
  2. MetaMask community: This category encompasses everyone in the MetaMask community, including developers and end-users. MIPs submitted by this group are expected to initiate design discussions and are reviewed and approved by MetaMask API maintainers. While the MIP process can be thorough and time-consuming, we encourage community members to consider MetaMask Snaps as an initial option for extending the MetaMask Wallet API capabilities since it offers a permissionless approach without needing a review process.

How the builder community benefits from MetaMask Improvement Proposals

Benefit for developers:

  1. A structured approach to innovation: The MIP process provides a clear and organized mechanism for proposing, discussing, and implementing changes to the MetaMask Wallet API. This structure encourages developers to contribute innovative ideas and improvements, knowing maintainers will give all MIPs, comments, and feedback equal attention and consideration.
  2. A single source of truth through our API definitions in OpenRPC: Relatively unique in the industry, MIPs include API definitions in OpenRPC, ensuring that developers can effectively build against the API specifications, without the usual trial and error inherent in most APIs. Additionally, developers can create tooling around these specifications, similar to our auto-generated interactive API reference.
  3. A transparent and predictable roadmap for the MetaMask Wallet API: All proposals go through a defined lifecycle through the MIP process, from draft to implementation. This transparency ensures that developers clearly understand the status of different proposals and the future roadmap of the MetaMask Wallet API. With this visibility, developers can fully support and invest time in implementing changes.
  4. Prioritized feedback from developers integrating with MetaMask Wallet API: During the "request for comments" stage, proposals invite input from the broader developer community, particularly those actively integrating with MetaMask. This collaborative review process allows proposal authors to gain insights and perspectives from diverse developers. We can refine and create more effective API changes by incorporating this feedback.

Benefits for end-users:

  1. Emphasis on privacy and security: The proposal evaluation process prioritizes privacy and security. This ensures users benefit from a secure MetaMask Wallet API that respects their data. Maintaining trust in the MetaMask ecosystem is crucial, and privacy and security considerations are significant in achieving that goal.
  2. Community-driven enhancements: By including community feedback in the MIP process, we ensure that changes to the MetaMask Wallet API align with our user base's actual needs and preferences.

How to submit a MetaMask Improvement Proposal

If you're eager to contribute to shaping the future of the MetaMask Wallet API, the MIP process offers a clear and structured path to follow. Every proposal undergoes a consistent lifecycle, from drafting to implementation. To learn more about the entire MIP lifecycle and how to participate, check out our comprehensive guide on submitting an MIP. To explore recently proposed or implemented modifications, refer to this list.

The MetaMask Developer portal is your go-to resource for developing with MetaMask. Here, you'll find comprehensive guides, tutorials, templates, and everything you need to integrate MetaMask into your dapp seamlessly.

Receive our Newsletter