MetaMask is one of the most popular cryptocurrency wallets. Despite the ups and downs of the market, there are more and more users each year. MetaMask has about 21 million active users each month, 80 times more than in 2019 and significantly more than any noncustodial wallet. This article will explain why this wallet is so popular and its functions. Also, we will describe the development of a cryptocurrency wallet like MetaMask.
A Brief introduction to MetaMask
MetaMask is an open-source, straightforward, and easy-to-use cryptocurrency wallet. It functions as a web browser extension available for Chrome, Firefox, Brave, or a mobile application for iOS or Android. Initially, this wallet supported only Ether and ERC-20 tokens, and now it is compatible with ERC-721 and ERC-1155 token standards. Furthermore, MetaMask benefits include interaction with websites; hence, it can function as a connection node for various DApps on Ethereum.
Adrian Devis and Dan Finlay are the MetaMask developers. Their idea was revolutionary and straightforward; they intended to create a web browser extension that would allow managing cryptocurrency and using the browser for fast and secure access with DApps. ConsenSys Software Inc. — a development company, focusing on applications that use Ethereum’s blockchain, implemented the idea in 2016.
The solution used Ethereum’s interface and a web API called web3.js. This Ethereum library is the fundament of MetaMask since it allows the browser to interact with the local or remote blockchain nodes via HTTP, IPC, and WebSocket; also, it gained the ability to record and read data from smart contracts, transfer tokens, etc. In another way, web3.js allowed the blockchain developers to create proxy and communication bridges between MetaMask, DApps, and the user.
Adrian Devis and Dan Finlay admit that their idea was great. Yet, the technical implementation was super complicated, especially in providing security for the users (web wallets are considered the most vulnerable to hacker attacks). Nonetheless, ConsenSys succeeded, and on the 14th of July in 2016, they offered the first version of MetaMask web browser cryptocurrency wallet for Chrome. Later, they presented a version for Firefox, Brave, and other popular browsers. In 2019 they also launched the mobile version of the MetaMask cryptocurrency platform.
How does the MetaMask wallet function?
As we mentioned above, the MetaMask cryptocurrency wallet employs the web3.js library to function. This library is a part of the official Ethereum product. The library was developed focusing on the requirements of web applications that could interact with the Ethereum blockchain and take advantage of all blockchain’s benefits and functions.
MetaMask is a cryptocurrency wallet for Ethereum and an instrument that helps to interact with DApps. MetaMask connects the extension to the DApp so that to fulfill both tasks. When the application identifies the MetaMask, it creates a connection, and the user can start using all the features of a specific application.
For instance, it can assets trading, access to resources or services, or any other task within the capability of a DApp. Each action has its cost (transaction fee) that must be paid in Ethereum or any specified token. MetaMask wallet has all instruments and protocols for this purpose.
Interaction architecture of a web application and a blockchain via web3.js library. Source.
Hence, we can state that Metamask also controls the interaction of the user and DApp, and processes the operations required for specific actions, besides the function of a wallet. Reliable and secure cryptography and safe internet connection are the environments for these operations.
Furthermore, MetaMask can generate asymmetric keys, store them on a local device, and manage access to the keys. To sum up, MetaMask is a super-safe extension.
MetaMask wallet key features
Easy to use. The first and most apparent benefit of the MetaMask wallet is the ease of use. The wallet offers an intuitive and straightforward user interface that makes the management of cryptocurrencies and interaction with DApps easier than ever before.
Furthermore, it allows the creation of several wallets. When users create a new wallet, they generate new public and private keys that MetaMask users have fast access.
Integration with various DApps. MetaMask’s users can connect with numerous decentralized applications with a single tap on the screen. It allows them to exchange their tokens swiftly on Uniswap or PancakeSwap exchangers, launch blockchain games like Gods Unchained or Decentraland, buy NFTs on OpenSea or Rarible. All these actions do not require complicated processes. The only movement is connecting the MetaMask cryptocurrency wallet.
MetaMask’s simple, plain, and intuitive design. Source
Integration with other blockchains. The additional benefit of MetaMask is that you can join it to other blockchain, e.g., Avax, Polygon, Fantom, Binance Smart Chain (BSC).
Hardware wallets support. MetaMask service is compatible with hardware cryptocurrency wallets like Ledger, Nano, or Trezor. All you need is to tap the ‘connect a hardware wallet’ button. This is a significant benefit that helps to interact with applications that do not support Trezor and Ledger hardware wallets.
Swaps support. In 2021 MetaMask offered its users a relatively cheap and fast opportunity to exchange their tokens within the wallet with Swaps. This function supports several automatic marker makers (MM) that help find the best token exchange rate.
NFT support. MetaMask wallet also allows storing NFTs. When a user buys an NFT on a platform, the token is automatically displayed in the tab of collectible items in the wallet.
Main functions of a cryptocurrency wallet
To develop a cryptocurrency wallet like MetaMask, one should consider two roles of users: regular users and administrators. The average user apparently will use the wallet to store, trade, and exchange tokens. The administrators are the employees responsible for the proper functioning and management of the wallets. Often, they solve the issues of the regular users.
Here is a list of functions for regular users:
Here is a list of necessary functions for platform administrators.
- Registration. It must be easy to create a new profile. The essentials are opening an internet browser, downloading the MetaMask extension from the official website, and coming up with a complicated password. Next, the user will need to put down the seed phrase, and they are ready to go. If one already has a cryptocurrency address, one can easily connect it to the cryptocurrency wallet.
- Applicable exchange rate. MetaMask displays only the amount of tokens on the account, while other cryptocurrency wallets show the exchange rate for tokens in the investment profile. If you plan to develop a crypto wallet clone, it is a sound idea to add these features, which will enhance the user experience of your upcoming project.
- Operations with the cryptocurrency assets. The main functions of any wallet are transferring, receiving, and exchanging cryptocurrencies; hence, it is vital that these functions are straightforward so that any user is confident in using the wallet. Furthermore, it is an advantage if there is a chance to check the current balance and transaction history. If you have experience trading on an exchange, you will expect MetaMask to display the history of operations and the current balance; yet MetaMask does not offer it. Pay special attention to it if you intend to develop a wallet.
- Favorite addresses. This is another feature that MetaMask is not showing, while the other wallets do. It allows the users to make a list of addresses for fast token transfers. It is super convenient for minor regular operation fees.
- Employing other blockchains. After installing the MetaMask extension or application, the user can use only Ether and ERC-20 tokens. However, the users can connect to other blockchains. What is more, they will have a single address for all blockchains.
- NFT support. Recently, MetaMask wallet also started supporting non-fungible tokens.
- Tools panel. The administrators can use this tab to trace the current state of the platform, current issues, the number of users, transaction volume, etc.
- User management. This tab helps the administrators track the users' status and manage them: add, delete, block, communicate, verify, etc.
- Managing the fees. It helps to add, delete, or change the transaction fees.
- Payment system management. MetaMask wallet does not offer to link the credit or debit card, PayPal, or another payment system. However, if the wallet offers these functions, the administrators require instruments to manage it.
- Content management. These are the user interface management tools (changing texts, icons, links, etc.).
- Connecting Facebook, Twitter, and Instagram accounts.
- Reports and analytics.
- API documentation
Extended functions set for MetaMask clone
To help your MetaMask wallet clone become famous, you should add some advantages that highlight it from the competitors and improve the user experience.
These can be the following:
- Linking an account. Your users will find it useful to be able to buy a cryptocurrency and exchange it for fiat within the wallet. This will be possible if you develop a wallet like MetaMask and add the feature of linking bank accounts, credit/debit cards, PayPal, or other online payment systems.
- eCommerce integrations. We mean integrating the wallet with exchanges, NFT marketplaces, decentralized applications, shops, and other services that the users might find useful.
- Multilingual interface. If you focus on a market where all people speak the same language, you might neglect this aspect. However, your intentions are global, and you should add as many languages as possible to increase the target audience.
- Push notifications. The notifications will inform the users of receiving payments, ending transactions, rapid exchange rate changes in the investment account, system updates, suspicious activity, etc.
- VIP support. Numerous cryptocurrency trading platforms offer support for an additional fee. This may include 24/7 support, communication with a personal specialist, etc.
- QR scanner. This is another useful feature that allows your users to make payments even faster. Moreover, it will decrease the number of transfers done by mistake.
The process of wallet development
Step 1: Opening
It is necessary to develop the concept thoroughly before starting with the design and program code. If you intend to develop a MetaMask clone, you should develop ideas that will attract the users and make them use your extension instead of the MetaMask. Dedicated research and analyzing the market, competitors, and the target audience will help.
Step 2: Developing the architecture
According to the data collected in the first step, an information architecture of the upcoming product will be created. It is a scheme showing the functions, system components, and their interaction.
An example of the information architecture of a cryptocurrency wallet. Source
Step 3: UX/UI design development
The users will appreciate your MetaMask clone if it has a beautiful and intuitive user interface design. UX/UI designers are responsible for creating the designs. They study the project goals, business analytics, tasks, and user requirements. Based on that information, they develop the low-fidelity and high-fidelity wireframes and the prototypes of the upcoming cryptocurrency wallet.
Low-fidelity wireframes are basic sketches of the design that represent the tabs and their content. Here are a few examples:
Low-fidelity wireframes of a cryptocurrency wallet. Source
Next, the designers develop high-fidelity wireframes. This is how the users will see it. Here are several examples of high-fidelity wireframes for a cryptocurrency wallet.
High-fidelity wireframes of a cryptocurrency wallet. Source
If the client and the target audience (focus groups) like the high-fidelity wireframes, they become the interface prototypes with all animation, transfers between screens, etc., included, yet there is no wallet functionality. The prototypes allow receiving more effective feedback to optimize the design.
An example of an animated wallet prototype. Source
When the design prototypes are ready, the coding team starts implementing the technical aspect of your MetaMask clone. Backend and frontend developers use various tools (technical stack) to make the development process faster, cheaper, and simpler. The developers analyze the task, the targets, knowledge, and experience, and then select the instruments.
Step 4: writing the code
Technical stack for backend development of a MetaMask clone:
Tech stack for frontend development of a MetaMask clone:
- Smart contracts: Ethereum virtual machine or BSC.
- SQL databases: MySQL, PostgreSQL, MariaDB, MS SQL, Oracle.
- DevOps: GitLab CI, TeamCity, GoCD Jenkins, WS CodeBuild, Terraform.
- NoSQL databases: MongoDB, Cassandra, DynamoDB.
- Search engines: Apache Solr, Elasticsearch.
- Programming languages: Java, PHP, Python.
- Frameworks: Spring, Symphony, Flask.
- Cache: Redis, Memcached.
- Programming languages for web: Angular.JS, React.JS, and Vue.JS.
- Programming languages for App: Java, Kotlin for Android, and Swift for iOS.
- Architecture: MVVM for Android and MVC, MVP, MVVM, VIPER for iOS.
- IDE: Android Studio and Xcode for iOS.
- SDK: Android SDK and iOS SDK.
Step 5: product testing
To develop a wallet, you should test the product’s functionality, usability, workload, smart contract functioning, meeting the specifications, etc. QA specialists are responsible for it. A good solution is that the QA team starts testing the product right after the development launch. It will help to avoid accumulating issues. Furthermore, it requires independent analysts like Certik or Techrate to test the smart contracts of your wallet.
Step 6: deployment, release
After your MetaMask cryptocurrency wallet clone is ready and tested, it requires deployment in the cloud (AWS, Azure) or on local servers of your company. If you have a mobile version of the wallet, you should release it on Google Play, App Store, Microsoft Store, or Amazon App Store.
Step 7: product support,
In the end, you need to establish a support service for your cryptocurrency wallet, which will help users solve problems and collect feedback for future product improvements.
The cost of developing a MetaMask clone