MetaMask
View on Wikipedia| MetaMask | |
|---|---|
| Developer | Consensys |
| Initial release | 2016 |
| Repository | |
| Operating system | iOS Android |
| Platform | Browser extension Mobile app |
| Type | Cryptocurrency wallet |
| License | Proprietary |
| Website | metamask |
MetaMask is a software cryptocurrency wallet used to interact with the Ethereum blockchain. It allows a user to access their Ethereum wallet through a browser extension or mobile app, which can then be used to interact with decentralized applications.[1][2] MetaMask is developed by Consensys, a blockchain software company focusing on Ethereum-based tools and infrastructure.[3][4]
Overview
[edit]MetaMask allows users to store and manage account keys, broadcast transactions, send and receive Ethereum-based cryptocurrencies and tokens, and securely connect to decentralized applications through a compatible web browser or the mobile app's built-in browser.[5][6]
Websites or other decentralized applications are able to connect, authenticate, and/or integrate other smart contract functionality with a user's MetaMask wallet (and any other similar blockchain wallet browser extensions) via JavaScript code that allows the website to send action prompts, signature requests, or transaction requests to the user through MetaMask as an intermediary.[7]
The application includes an integrated service for exchanging Ethereum tokens by aggregating several decentralized exchanges (DEXs) to find the best exchange rate. This feature, branded as MetaMask Swaps, charges a service fee of 0.875% of the transaction amount.[8]
As of November 2021[update], MetaMask's browser extension had over 21 million monthly active users, according to Bloomberg.[9]
History
[edit]MetaMask was created by Consensys in 2016 as MIT-licensed open source software.[3][10]
Prior to 2019, MetaMask had only been available as a desktop browser extension for Google Chrome and Firefox browsers. Given the popularity of MetaMask among cryptocurrency users, and its lack of an official mobile app for several years, instances of malicious software posing as MetaMask became problematic for Google in regulating its Chrome Web Store and Google Play platforms.[11][12][13] In one instance, Google Play unintentionally removed MetaMask's official beta app before reverting the decision a week later on January 1, 2020.[14]
Starting in 2019, MetaMask began releasing mobile app versions for closed beta testing, followed by their official public release for iOS and Android in September 2020.[2][5]
In August 2020, Consensys took the MetaMask software proprietary under a custom license.[10][clarification needed]
During October 2020, MetaMask Swaps, a built-in DEX aggregation service was added to the desktop extension.[clarification needed] The product became available on mobile devices in March 2021.[8]
Criticism
[edit]While MetaMask and other "Web3" focused applications claim to decentralize control over personal data and increase user privacy, critics have pointed to the default setting in MetaMask's browser extension that leaks identifiable information to data collection networks and web trackers as a fundamental privacy flaw.[3][15] Also, though the technology is touted as "decentralized", it actually uses a centralized service, now owned by Consensys, to accomplish all of its transactions.[16]
References
[edit]- ^ Johnson, Steven (2018-01-16). "Beyond the Bitcoin Bubble (Published 2018)". The New York Times. ISSN 0362-4331. Archived from the original on 2021-12-21. Retrieved 2020-11-11.
- ^ a b Schroeder, Stan (2 September 2020). "Crypto wallet MetaMask finally launches on iOS and Android, and it supports Apple Pay". Mashable. Archived from the original on 2020-09-02. Retrieved 2020-11-11.
- ^ a b c Piore, Adam (2018-11-19). "New Internet: Blockchain Technology Could Help Us Take Back Our Data from Facebook, Google and Amazon". Newsweek. Archived from the original on 2018-11-20. Retrieved 2020-11-11.
- ^ Popper, Nathaniel (2016-03-28). "Ethereum, a Virtual Currency, Enables Transactions That Rival Bitcoin's". The New York Times. ISSN 0362-4331. Archived from the original on 2016-07-24. Retrieved 2020-12-08.
- ^ a b Leising, Matthew (2 September 2020). "MetaMask's Blockchain Mobile App Opens Doors For Next-Level Web". Bloomberg News. Archived from the original on Sep 9, 2020. Retrieved 3 December 2020.
- ^ Jaffe, Justin; Dossett, Julian (29 March 2018). "How to keep your cryptocurrency safe". CNET Money. Archived from the original on 2018-04-07. Retrieved 2020-11-12.
- ^ "User Guide: Dapps". MetaMask Help Center 🦊♥️. Archived from the original on Mar 3, 2024.
- ^ a b Schroeder, Stan (2021-03-17). "Crypto wallet MetaMask now lets you swap tokens on your phone". Mashable. Archived from the original on 2021-03-17. Retrieved 2021-06-26.
- ^ "Third Point, Marshall Wace Back Crypto Firm ConsenSys". Bloomberg.com. 17 November 2021. Archived from the original on 2022-01-05. Retrieved 2022-01-05.
- ^ a b Dan Finlay (August 20, 2020). "Evolving our License for the Next Wave of MetaMask Users". Consensys. Retrieved 2024-08-04.
- ^ Goodin, Dan (2019-02-09). "Google Play caught hosting an app that steals users' cryptocurrency". Ars Technica. Archived from the original on 2019-02-09. Retrieved 2020-11-11.
- ^ Cimpanu, Catalin. "Exclusive: Google removes 49 Chrome extensions caught stealing crypto-wallet keys". ZDNet. Archived from the original on 2020-04-14. Retrieved 2020-11-11.
- ^ Varshney, Neer (2018-06-12). "Google should learn from Apple's cryptocurrency guidelines". Hard Fork | The Next Web. Archived from the original on 2018-06-16. Retrieved 2020-11-11.
- ^ Beedham, Matthew (2020-01-03). "Google lifts ban on Ethereum wallet app it thought was mining cryptocurrency". Hard Fork | The Next Web. Archived from the original on 2020-01-03. Retrieved 2020-11-11.
- ^ Canellis, David (2019-03-22). "PSA: MetaMask reveals your Ethereum address to sites you visit, here's how to hide it". Hard Fork | The Next Web. Archived from the original on 2019-03-23. Retrieved 2020-11-30.
- ^ Perez, Yessi Bello (2019-10-04). "ConsenSys acquires Infura, the centralizing tech powering Ethereum dapps". Hard Fork | The Next Web. Retrieved 2024-08-04.
MetaMask
View on GrokipediaOverview
Description and Core Purpose
MetaMask is a non-custodial software wallet that enables users to manage cryptocurrency assets on Ethereum and compatible blockchains through a self-controlled interface for private keys.[18][8] As a key entry point to Web3, it facilitates direct interaction with decentralized applications (dApps) by injecting an Ethereum provider into web browsers, allowing seamless bridging between traditional web environments and blockchain networks.[7][19] The wallet's core purpose centers on user sovereignty over digital assets, including storage of ERC-20 fungible tokens and ERC-721 non-fungible tokens (NFTs), as well as signing and broadcasting transactions without intermediary custody.[20][21] Initially released as a browser extension in 2016 for platforms like Chrome and Firefox, it prioritizes key management where users generate and retain control of their seed phrases and private keys locally, eschewing any server-side storage by the provider.[22][23] This non-custodial design contrasts sharply with centralized exchanges, where third parties hold private keys and assets, exposing users to counterparty risks such as hacks or insolvency; in MetaMask, users alone bear responsibility for key security, aligning with blockchain's emphasis on self-reliance.[24][18] Mobile applications for iOS and Android, introduced in 2020, extended these capabilities to handheld devices while preserving the same user-exclusive access model.[25][26]Role in the Web3 Ecosystem
MetaMask functions as a foundational gateway in the Web3 ecosystem, bridging traditional web users to decentralized applications (dApps), decentralized finance (DeFi) protocols, and non-fungible token (NFT) markets by enabling self-custodial interactions that bypass centralized custodians. This intermediary-free access allows individuals to manage Ethereum-based assets and execute peer-to-peer transactions directly from browser extensions or mobile apps, abstracting underlying blockchain complexities like node synchronization and cryptographic key handling.[7][21][27] Central to its ecosystem role is adherence to EIP-1193, which standardizes the JavaScript API for Ethereum provider interactions, positioning MetaMask as the de facto interface for Ethereum Virtual Machine (EVM)-compatible chains such as Ethereum, Polygon, and Linea. Developers building dApps routinely target this protocol for wallet-browser connectivity, as it supports essential functions like account access, chain switching, and transaction signing, thereby streamlining integration and expanding reach across EVM networks.[28][29][30] By mid-2025, MetaMask facilitated engagement for over 30 million monthly active users in Web3 activities, empirically correlating with surges in DeFi total value locked (TVL) and NFT trading volumes through reduced onboarding friction for non-experts. This accessibility has driven broader adoption of token swaps, lending, and digital collectible transactions, reinforcing Web3's shift toward user-sovereign financial and ownership models without third-party gatekeeping.[31][32][33]Historical Development
Founding and Initial Launch
MetaMask was developed starting in 2015 by Aaron Davis and Dan Finlay, who were employees at ConsenSys, a blockchain software firm established by Ethereum co-founder Joseph Lubin.[34][35] The initiative emerged amid Ethereum's mainnet launch earlier that year, addressing the steep learning curve of interacting with the network through command-line interfaces like Geth, which required technical expertise for key management and transaction signing.[36] Davis and Finlay, drawing from their prior collaboration since 2013 and experiences in web and software development, sought to create a browser extension that would enable seamless access to Ethereum's decentralized applications (dApps) for broader adoption.[36][37] The project's core motivation stemmed from Ethereum's promise of empowering users through tools for crowdfunding, micropayments, and modular governance, countering centralized systems amid rising concerns over social and economic inequality.[36] Unlike hardware-dependent or node-running alternatives, MetaMask was designed as a lightweight, self-custodial key manager integrated directly into browsers, prioritizing ease of use without sacrificing security fundamentals. Initial development was internally supported by ConsenSys, reflecting the company's focus on Ethereum ecosystem tools rather than external venture funding at the outset.[35] In 2016, MetaMask launched its public beta as a Chrome browser extension, licensed under the permissive MIT open-source terms to encourage community-driven enhancements from inception.[36][37] This release marked the tool's debut as an injectable provider for web3 interactions, rapidly gaining traction among developers building on Ethereum's nascent dApp landscape.[38]Key Milestones and Growth Phases
In its early growth phase from 2017 to 2018, MetaMask enhanced scalability by integrating with Infura for reliable Ethereum RPC endpoint access, reducing reliance on local nodes and enabling broader dApp interactions amid rising network demands.[33] The wallet also introduced support for hardware wallets, including Ledger devices, allowing users to connect cold storage for improved security during transactions and key management.[39] The period from 2020 to 2021 marked explosive user adoption, driven by the DeFi and NFT surges, with monthly active users (MAUs) expanding from approximately 545,000 in July 2020 to over 10 million by August 2021—a roughly 1,800% increase.[40] This growth coincided with the launch of the MetaMask mobile app in September 2020, initially for Android with iOS following, extending browser extension functionality to smartphones and facilitating on-the-go access to Ethereum-based applications.[41] From 2022 to 2023, MetaMask targeted institutional users with the launch of MetaMask Institutional in December 2020, evolving into a dedicated platform by early 2022 that provided enterprise-grade DeFi access, portfolio dashboards, and compliance tools.[42] The introduction of the Snaps ecosystem in September 2023 enabled developers to create custom extensions for enhanced wallet customization, such as non-EVM chain interactions and novel features, fostering an open plugin architecture.[43] Concurrently, expansions in multi-chain support beyond Ethereum included easier integration of EVM-compatible networks like Polygon and Binance Smart Chain via custom RPC configurations, broadening utility for cross-chain DeFi and dApps.[44]Recent Innovations and Updates
In 2024, MetaMask rolled out Smart Transactions, a feature that abstracts complex swapping and bridging processes while optimizing gas fees, enabled by default for new users to streamline cross-chain interactions and reduce friction in decentralized finance activities.[45] That year, the wallet also began issuing monthly security reports detailing emerging threats such as phishing variants, supply chain attacks, and scam trends, drawing from incident analyses to guide user protections.[46] These reports, starting from June 2024, highlighted integrations like LavaMoat, a compartmentalization tool that restricts dependency access to mitigate software supply chain vulnerabilities in the extension's codebase.[47] On July 8, 2025, MetaMask added native Solana support through its browser extension and mobile app, enabling users to send, receive, swap, bridge, and buy Solana-based tokens (SOL and SPL), as well as interact with Solana dApps, all within a single multichain interface. This integration allows direct management of SOL and SPL tokens alongside Ethereum Virtual Machine assets without requiring separate wallets or bridges, and represents Consensys' primary involvement with the Solana blockchain through its MetaMask wallet.[5] This expansion marks the beginning of adding non-EVM networks to MetaMask, broadening compatibility and facilitating seamless transactions on Solana's high-throughput network. In June 2025, ConsenSys acquired Web3Auth, integrating its authentication protocols into MetaMask to allow wallet creation and recovery via familiar web2 methods like social logins and email, reducing onboarding barriers while maintaining self-custody.[48] On August 21, 2025, MetaMask launched mUSD, its first native stablecoin, issued by Stripe's Bridge platform and backed by short-term US Treasuries via the M0 protocol, with a 1:1 peg to the US dollar and initial deployment on Ethereum and Linea.[49] This innovation positions mUSD as an on-ramp for fiat-equivalent assets directly within the wallet, minimizing reliance on external issuers for DeFi liquidity. In October 2025, MetaMask announced a $30 million rewards program allocating LINEA tokens quarterly for activities like referrals, mUSD usage, and perpetual futures trading, aimed at boosting ecosystem engagement.[50] ConsenSys confirmed in September 2025 that a governance token for MetaMask is in development, intended to decentralize platform decisions and provide user incentives, with a potential launch by year-end to align with ongoing rewards initiatives.[51] On December 15, 2025, MetaMask launched native support for the Bitcoin network, enabling users to manage BTC directly within the wallet without wrapped assets or manual network configuration. Bitcoin addresses are automatically generated for each account using the Native SegWit derivation path (with Taproot support forthcoming). Users can send, receive, buy, and swap BTC alongside assets on chains such as Ethereum and Solana, marking a further expansion of MetaMask's multichain capabilities.[1][52] On January 15, 2026, MetaMask introduced native support for the TRON network, enabling users to manage TRX and USDT directly within the wallet, trade TRON-based tokens, and stake TRX on the Mobile App to earn Bandwidth and Energy resources that substitute for transaction fees. Users must update to the latest version of the MetaMask Extension or Mobile App to enable TRON accounts, with addresses automatically generated within multichain accounts and staking limited to the mobile application. This addition further expanded MetaMask's multichain capabilities to include additional high-throughput networks.[3] MetaMask's 2025 innovations and updates emphasized multichain portfolio support and DeFi trading features but did not include implementation of direct NFT selling functionality within the wallet. To sell an NFT, users connect their MetaMask wallet to an external NFT marketplace (e.g., OpenSea), list the NFT for sale, set the price and terms, and confirm the transaction via MetaMask. After the sale, funds are received as internal transactions viewable on blockchain explorers like Etherscan.[53] These updates reflect MetaMask's shift toward enhanced interoperability, security tooling, and incentive mechanisms amid expanding Web3 adoption.[45]Technical Architecture
Underlying Mechanisms
MetaMask functions as a hierarchical deterministic (HD) wallet, utilizing the BIP-39 standard to generate a 12- or 24-word mnemonic seed phrase, from which a master seed is derived via PBKDF2 hashing with HMAC-SHA512. Private keys for Ethereum accounts are then generated deterministically using the BIP-44 derivation path m/44'/60'/0'/0, ensuring compatibility across HD wallet implementations. MetaMask stores an encrypted vault locally in the browser or device storage, where these private keys are encrypted client-side with a user-derived password using scrypt or similar key derivation functions and are not stored on MetaMask servers, emphasizing its non-custodial nature. They are stored in the browser's storage mechanism, such as Chrome's Local Storage under the extension's domain.[54][55][56] In mobile applications, private keys are managed within the device's hardware-backed secure storage, such as Android's Keystore or iOS Keychain/Secure Enclave, to isolate them from the app's runtime environment and resist extraction attempts. This local key management ensures that MetaMask retains sole control over signing operations without relying on remote servers for key generation or custody.[57] As an Ethereum provider, MetaMask injects a JavaScript object into the browser's global scope aswindow.ethereum, implementing the Ethereum Provider API to expose methods like eth_requestAccounts for wallet connection and eth_sendTransaction for initiating transfers. In addition, the API supports signing methods such as personal_sign for arbitrary messages and eth_signTypedData_v4 for structured data compliant with EIP-712. These methods allow dApps to request cryptographic signatures proving wallet address ownership without revealing private keys. When a dApp invokes such a method, MetaMask displays the message or structured data to the user for confirmation before generating the signature. The signature, message, and claimed address can then be used externally to cryptographically recover the signer's address and confirm it matches the claimed address, proving ownership. Verification is performed externally using libraries such as ethers.js or eth-sig-util, as MetaMask does not provide a built-in UI for verifying signatures. This injection occurs automatically upon extension installation and page load, allowing dApps to interface with the wallet without embedding blockchain logic. Requests are proxied to RPC endpoints for chain state queries and transaction broadcasting, defaulting to Infura's infrastructure but configurable to alternatives like Alchemy for redundancy or custom needs.[29][58][59][60][61]
Transaction handling emphasizes offline signing: upon dApp submission of an unsigned transaction object, MetaMask derives the relevant private key locally, constructs and signs the raw transaction using ECDSA over secp256k1, and performs simulation—often via libraries like ethers.js—to estimate gas costs and outcomes without network submission. The signed transaction is then forwarded solely to the RPC endpoint for propagation to the Ethereum network, minimizing exposure risks by keeping keys confined to the client device.[59][62]
Network Compatibility and Integrations
MetaMask initially focused on Ethereum and Ethereum Virtual Machine (EVM)-compatible networks, providing native support for chains such as Ethereum mainnet, Polygon, Binance Smart Chain (now BNB Chain), Arbitrum, Optimism, and Base, among others.[63][64] For Polygon specifically, users add the network via tools like ChainList or manual configuration with RPC URL https://polygon-rpc.com and Chain ID 137, then switch using the network dropdown; token balances appear in the Tokens tab after enabling autodetection in Settings > Security & Privacy or importing custom tokens by contract address, with external verification on Polygonscan and cross-network aggregation via MetaMask Portfolio.[65][66] This compatibility allows users to configure custom RPC endpoints for additional EVM-based blockchains, enabling interaction without requiring chain-specific wallets.[67][44] In 2025, MetaMask expanded beyond EVM exclusivity by integrating native support for non-EVM networks, including Solana. ConsenSys' primary involvement with the Solana blockchain is through its MetaMask wallet, which added native support for Solana, becoming accessible via the browser extension and mobile app on July 8, 2025.[5][68] This integration allows users to send, receive, swap, bridge, and buy Solana-based tokens (SOL and SPL), as well as interact with Solana dApps, all within a single multichain interface. This update permits management of SOL and SPL tokens alongside EVM assets through multichain accounts, a feature introduced on October 9, 2025, to unify views across disparate ecosystems.[69][6] On December 15, 2025, MetaMask added native support for Bitcoin, with a Bitcoin address automatically generated for each account using the Native SegWit derivation path upon updating to the latest version. No manual network addition is required, unlike custom EVM chains. Users can manage BTC directly (send, receive, buy, swap) alongside Ethereum, Solana, and other supported assets in multichain accounts.[1][70] These integrations facilitate broader blockchain interoperability while maintaining core EVM foundations.[44] The MetaMask SDK supports dApp developers by enabling secure, cross-platform connections to the wallet across web browsers, mobile applications, and embedded environments, streamlining integration for high-volume decentralized applications.[71][72] This toolkit handles provider detection, transaction signing, and chain switching, reducing development friction for multi-chain experiences.[71] MetaMask integrates with node infrastructure providers like Infura, its parent company ConsenSys's RPC service, as the default Ethereum endpoint to ensure reliable blockchain access.[73] To mitigate centralization risks from such dependencies, it supports user-configurable RPCs from alternative providers.[63] Additionally, compatibility with hardware wallets including Trezor and Ledger allows secure key storage and signing, distributing trust away from software-only solutions.[39][74] These integrations enhance resilience by avoiding sole reliance on any single service or device type.[75]Features and Functionality
Essential Wallet Capabilities
MetaMask enables secure storage of digital assets by generating and managing Ethereum Virtual Machine (EVM)-compatible wallet addresses derived from a hierarchical deterministic (HD) private key structure, supporting tokens compliant with ERC-20 for fungible assets, ERC-721 for non-fungible tokens (NFTs), and ERC-1155 for multi-token standards. MetaMask allows users to view and manage NFTs through the MetaMask Portfolio dashboard at portfolio.metamask.io, where users sign in with their wallet and access the NFTs tab to display owned NFTs.[76] However, MetaMask does not support direct selling of NFTs within the wallet itself, including following its 2025 updates which emphasized multichain portfolio support, integrated DeFi trading features such as perpetual futures and prediction markets, and other enhancements.[77] To sell an NFT, users connect MetaMask to an external NFT marketplace such as OpenSea, list the NFT for sale, set the price and terms, and confirm the transaction via MetaMask. Proceeds are often received as internal transactions that do not appear in MetaMask's activity feed but can be viewed on blockchain explorers like Etherscan under the "Internal Transactions" tab.[53][78] Since December 15, 2025, MetaMask has natively supported Bitcoin on the Bitcoin blockchain, automatically generating a Bitcoin address for each MetaMask account using the Native SegWit derivation path (with Taproot support forthcoming).[1] Since January 15, 2026, MetaMask has natively supported the TRON network, automatically generating TRON addresses starting with "T" for each account, enabling users to receive and manage TRX and TRC-20 tokens such as USDT directly.[3][4] MetaMask's essential wallet capabilities include managing assets from supported chains such as EVM-compatible networks, non-EVM chains like Solana via MetaMask Snaps, TRON natively, as well as Bitcoin natively. Users can store, send, receive, buy, and swap BTC directly in the wallet alongside Ethereum and Solana assets.[1][70] Users view account balances by initiating JSON-RPC calls, such aseth_getBalance for native ETH and contract-specific balanceOf queries for tokens, against connected blockchain nodes or providers like Infura, with optional verification through public chain explorers like Etherscan or Polygonscan for networks such as Polygon. On supported networks like Polygon, token balances require adding the network via RPC details or automated tools, switching to it, enabling enhanced token autodetection in settings, and manual import for non-auto-detected tokens using their contract addresses in the Tokens tab.[79][80] Users can also manage the visibility of custom tokens in the Tokens tab of the mobile app. Custom tokens cannot be permanently removed from the wallet, as they remain on the blockchain associated with the wallet address, but they can be hidden from the app's display without affecting the token balance or any existing token approvals and allowances. Native tokens (e.g., ETH on Ethereum or TRX on TRON) cannot be hidden or removed. In the MetaMask app on iOS, users can hide a custom token with the following steps: 1. Open the MetaMask app and go to the Tokens tab on the account page. 2. Locate the custom token to hide. 3. Tap the three dots in the top right corner of the token (or long press the token to access options). 4. Select "Hide" from the menu. Hidden tokens can be unhidden later via settings or by re-adding them using their contract address.[81] On the natively supported TRON network, balances for TRX and TRC-20 tokens such as USDT are displayed in the TRON account section. If a transferred TRC-20 token like USDT does not appear after receipt: ensure the transfer was sent to the correct MetaMask TRON address (starting with "T", separate from Ethereum "0x" addresses); update MetaMask to the latest version; check the TRON assets or account in the wallet; allow up to 10 minutes (or longer during network congestion) for synchronization; verify the transaction on Tronscan using the TRON address; and manually add the USDT token using its TRC20 contract address (TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t; confirm exact address via official sources such as the TRON website). General fixes include refreshing the wallet, restarting the app/browser, switching networks, or checking the internet connection. Sending assets to an incompatible address (such as an Ethereum "0x" address via the TRON network) may result in permanent loss of funds.[4][82]
The wallet facilitates basic blockchain interactions through transaction composition, signing, and broadcasting: users initiate sends by specifying recipient addresses, amounts, and data payloads, which MetaMask signs using the ECDSA private key without exposing it, then submits via RPC methods like eth_sendRawTransaction. Receiving assets requires only sharing the public address, as incoming transfers are validated on-chain. Gas estimation incorporates EIP-1559 parameters, calculating a network-determined base fee plus user-set priority fees (maxPriorityFeePerGas) to determine total transaction costs, enhancing fee predictability post-Ethereum's London upgrade in August 2021.[83][84]
MetaMask also enables users to sign arbitrary messages with their private key to prove ownership of their wallet address, a feature commonly used for dApp authentication, login (e.g., Sign-In with Ethereum), or authorization. When a dApp requests a signature via JSON-RPC methods such as personal_sign (for simple, human-readable messages prefixed for security) or eth_signTypedData_v4 (for structured, typed data compliant with EIP-712), MetaMask displays the message or data in a readable format for user review and requires explicit confirmation before producing the signature. The resulting signature, combined with the original message and claimed address, allows external verification by recovering the signer's address cryptographically and confirming it matches the claimed address, proving ownership without exposing the private key. MetaMask provides an interface for users to review and approve signing requests but does not include a built-in UI for verifying existing signatures; verification is performed externally using libraries such as ethers.js or eth-sig-util.[59][60][61]
MetaMask transactions may become stuck in a pending state or appear frozen on the loading screen due to low gas fees, network congestion, browser or app issues, or other factors causing delays. As an initial step, users should completely restart their browser and reopen MetaMask (or force close and reopen the mobile app). To check status, users can visit the MetaMask Activity tool at activity.metamask.io, enter the transaction hash, select the relevant network, and view the current status along with suggested resolutions. If pending, MetaMask offers "Speed Up" to resubmit with higher gas fees (using the same nonce) or "Cancel" options. For unresolved cases, replacing the transaction via custom nonce (such as sending 0 ETH to one's own address with matching nonce and higher fees) can be used after disabling smart transactions temporarily if needed. Resetting account data (clearing activity and nonce data) should only be done if explicitly recommended by MetaMask support or MetaMask Activity, as it clears transaction history.[85][86][87]
MetaMask supports purchasing cryptocurrencies directly within the wallet using integrated third-party providers. Users select the token and network during the purchase, obtain real-time quotes from providers, and choose the optimal option based on fees and payment methods available in their region. For example, users can buy BTC with debit card, credit card, Apple Pay, PayPal, or bank account, with the purchased BTC delivered directly to their MetaMask Bitcoin address. In Brazil, as of 2026, users can buy USDC directly on the Polygon network, selecting the token (USDC) and network (Polygon), with providers including Transak supporting local payment methods such as PIX. Fees vary by provider and payment method (e.g., 1-5% processing fee via Transak, plus Polygon gas fees), with real-time quotes shown for comparison, and the purchased USDC delivered directly to their MetaMask wallet address on the Polygon network.[88][89][1]
MetaMask's Gas Station feature, also known as gas included transactions, allows users to pay network fees with alternative tokens, such as stablecoins like USDC, on supported networks including Arbitrum. This applies to send and dApp transactions, where MetaMask handles the backend conversion of the selected token to the native network token (e.g., ETH on Arbitrum) using the simplest and cheapest method available. Most popular tokens are supported, eliminating the need for users to hold the native token specifically for fees.[90][83]
MetaMask uses a local password for unlocking the wallet, with no traditional username-based sign-in. To unlock (sign in to) MetaMask:
- Open the MetaMask browser extension or mobile app.
- Enter your password to unlock the wallet.
- Import using your Secret Recovery Phrase (SRP) or private key, then set a password.
- Click the account selector at the top of your wallet.
- Select "Add wallet" at the bottom of the list.
- Choose "Import an account".
- Paste your private key into the field and click "Import".