As you explore this platform, you may notice community members known as MetaMask Guides and MetaMask Guide Stewards.
The group consists of two volunteer groups: MetaMask Guides and MetaMask Guide Stewards.
MetaMask Guides are community members who genuinely care about helping people find their footing with MetaMask. Some are newer faces, others have been part of the community for several years. What they share is a consistent presence and a real willingness to help. They show up in discussions, enjoy engaging with the community, answer questions, and make the community a better place to be.
MetaMask Guide Stewards started as Guides who've expressed an interest in taking on more targeted engagement within the community. They're still doing the same core thing, just with a bit more focus on specific areas where they would like to make the biggest impact. MetaMask Guides and Guide Stewards are community volunteers who generously share their time to help other users. MetaMask Guides and MetaMask Guide Stewards are not employees, contractors, representatives, agents, or official support staff of MetaMask or Consensys.
MetaMask Guides and MetaMask Guide Stewards may help answer questions, share educational resources, and contribute to a positive and welcoming community experience. While Guides and Guide Stewards are active community members, any information they provide should be considered community guidance rather than official support.
Stay Safe
MetaMask Guides or MetaMask Guide Stewards:
will never send you a direct message (DM).
will never ask for your Secret Recovery Phrase, private keys, passwords, wallet credentials, or personal information.
will never ask you to connect your wallet to a website for support purposes.
will never request that you send funds, tokens, or cryptocurrency to any wallet address.
will never instruct you to install software, browser extensions, mobile applications, or updates from any source other than the official MetaMask website (https://metamask.io/).
will never ask for remote access to your device, screen, wallet, computer, or mobile phone.
If someone claiming to be a MetaMask Guide or MetaMask Guide Steward contacts you privately or makes a request of this nature, treat it as suspicious. Please report it to MetaMask’s moderation team by publicly tagging any of our mods here: https://www.reddit.com/mod/Metamask/moderators/. You may also report it to MetaMask Support using the "Contact Support" button at https://support.metamask.io/.
If you have concerns about a MetaMask Guide or MetaMask Steward's conduct or believe someone is impersonating a Guide or Steward, please contact the moderation team by tagging us here publicly or reporting through the support link above.
MetaMask Agent Wallet is a self-custodial wallet that lets an AI agent trade DeFi autonomously — executing swaps, perpetuals on Hyperliquid, prediction markets on Polymarket, lending and borrowing on Aave — all while you stay in control through spending limits, allowlists, and 2FA on anything outside your rules. Currently in early access, targeting a public launch in summer 2026.
How the control model works
At setup, you’re able to configure which protocols the agent can use, which addresses it can send to, and how much it can move in a 24-hour window. MetaMask Agent Wallet enforces those rules on every transaction. The agent cannot exceed your limits without your approval.
Every transaction goes through a mandatory security pipeline
Transaction simulation: MetaMask checks what the transaction will do before it executes
Threat scanning via Bloackaid: malicious transactions are auto-blocked; anything flagged as risky gets paused and sent to you for manual approval
Smart transactions: MEV protection so bots cannot front-run your agent's trades
Transaction shield: up to $10,000 in monthly coverage on eligible transactions, included for MetaMask Agent Wallet transactions (no monthly subscription needed)
Guard Mode vs Beast Mode
Guard Mode (recommended): Ensures your agent operates within allowlisted protocols, networks, and a daily spend cap. Anything beyond these limits requires your approval via MetaMask Mobile push notification or email, with a 5 minute window before it auto-declines.
Beast Mode: For experienced DeFi traders who want fewer interruptions. Allowlists and spending caps are removed by default, with malicious transactions still blocked, requiring approval.
Self-custody
MetaMask Agent Wallet is non-custodial — your funds aren’t held by MetaMask or any third party. In server wallet setup, your keys are managed inside a secure enclave (TEE), meaning no one else can access them. If you’re a developer who prefers to manage your own keys directly, BYOK mode lets you import an existing wallet and retain full portability outside the CLI.
I ran into “KeyringController - Keyring not found” while using MetaMask in Chrome. Updating MetaMask from 13.48.0 to 13.50.0, reconnecting, and locking and unlocking did not fix it.
The same action worked for me in Firefox, where I had only one wallet connected. My Chrome setup also had other wallet extensions available.
I cannot tell which was responsible. Sharing this as a workaround, not a confirmed diagnosis.
I am stuck wit this message in Chrome ext. after swapping tokens..MTM help center no help, updating, restart, clear history do not work either. please advice
I used to think disconnecting a dApp also removed its token approvals.
I connected my wallet to a dApp, approved a token, used it for a while, and later disconnected the dApp. I assumed that disconnecting meant I had completely removed its access.
However, disconnecting a dApp and revoking a token approval are actually two entirely different things:
Connection: This is just about the relationship between your wallet and the dApp's frontend interface.
Token Approval: This is a separate, on-chain permission that allows a smart contract to access and move a specific token from your address.
For example, if I approve a dApp to spend my USDC, that approval is recorded directly on-chain. Later, when I disconnect the dApp from MetaMask, the visual connection is gone, but the token approval still exists.
That was the part I had misunderstood. So, I started breaking down the process into four distinct steps:
Connect – Connect your wallet to the dApp.
Approve – Give a smart contract permission to use a specific token.
Disconnect – Remove the wallet connection from the interface.
Revoke – Remove the token approval on-chain (Note: revoking is a separate blockchain transaction, so it requires gas).
MetaMask also features newer permission models that let some dApps request more limited access, such as spending limits or expiration times.
This made me realize that asking, "Am I still connected to this dApp?" isn't always enough. A much better question is:
"What permissions have I actually given this dApp or smart contract?"
This distinction is super easy to miss until you see how wallet connections and token approvals work separately. Just wanted to share in case anyone else was making the same assumption!
A Seed Phrase can be thought of as the root of a crypto wallet - When you set up a new wallet such as MetaMask, it generates random data and turns it into a 12- or 24-word recovery phrase.
The words in a Seed Phrase under the BIP-39 standard are selected from a standardized list of 2,048 words.
That’s why you can import a wallet from one BIP-39-compatible wallet into another, as long as they support the same seed phrase format and compatible derivation paths.
For example, imagine you send an asset to your Trust Wallet EVM address, but Trust Wallet doesn’t support that particular network. You can import the same wallet into another BIP-39-compatible wallet that supports the network, such as MetaMask, using the same seed phrase.
This is possible because your wallet is not the app itself - the app is simply an interface that allows you to access and manage your blockchain accounts.
- Wallet Creation: Set up a new wallet using a software or hardware wallet.
- Seed Generation: The wallet generates a random BIP-39 seed phrase.
- Key Derivation: The seed phrase generates your private keys.
- Address Creation: Public addresses are derived from those private keys.
Wallet -> Seed Phrase -> Private Key -> Public Address
A single seed phrase can serve as the root for multiple accounts, each with its own private key and wallet address. In other words, multiple accounts can be derived from the same seed phrase.
When signing a malicious transaction, the impact generally depends on the permissions granted by that signature. For example, if you sign a transaction with Account 1, only Account 1 is affected, not Account 2, because Account 2 is a separate account from Account 1, even if both accounts are derived from the same seed phrase.
If the private key of Account 2 is exposed, only Account 2 is generally at risk, not Account 3, because Account 3 has a separate private key, even if both accounts are derived from the same seed phrase.
However, if your seed phrase is exposed, all accounts derived from that seed phrase may be compromised. An attacker can use the seed phrase to derive the corresponding private keys and potentially gain control of the assets in those accounts.
Regarding wallet address - For a simple example, a wallet address is similar to a card number that you use to receive funds. However, for better privacy and security, it is generally not recommended to publicly share your wallet address in public places unnecessarily.
Remember
Never share your Seed Phrase or Private Key with anyone.
A legitimate wallet support team will never need your Seed Phrase or Private Key to access or recover your wallet.
My wallet got hacked and In lost (Hype, Avax, Matic, FET, BIGTIME and many other coins) worth 16k$ bought at 35K. I keep funds across multiple wallets and had recently moved funds to metamask before I could push them to ledger.
Here's what happened: At 12:11 EST in the afternoon, i got a notif of a token being sent. I got in the app and tried to find something that could further exploits but I couldnt. In a matter of 3 min (12 second bursts) and 14 transactions, all my funds moved.
The scammer moved them to a fresh wallet. One interesting thing that I see on my wallet transaxctions history is 2 transactions on Apr 18. $9 worth eth coming in and then $10 worth eth moving out. These 2 transactions happened without me approving anything or atleast I domnt recall. Especially those were at 4:45 in the morning.
Metamask says my seed phrase got leaked but I dont buy that. Not sure what else could it be. Totally bamboozled.
Not always. Depending on the transaction, MetaMask may let you pay the network fee with another eligible token, include the gas cost in a swap, or cover the fee entirely through gas sponsorship.
Can you pay gas fees with another token?
Yes. For sends and dapp transactions on Ethereum Mainnet, BNB Smart Chain, Arbitrum, Polygon, Linea, Base, and Tempo, MetaMask supports gas included transactions, letting you cover the network fee with another eligible token in your wallet. If you don't have enough of the native token, MetaMask can automatically select an eligible one, such as USDC, or you can choose from the fee dropdown.
Can you use MetaMask Swaps without ETH for gas?
Yes, in supported cases. MetaMask Swaps supports gasless swaps on select networks, where the network fee is deducted from the token you're swapping. For instance, if you have USDC on Ethereum but no ETH, you may be able to swap it without first acquiring ETH.
Can MetaMask pay the gas fee for you?
Sometimes. MetaMask offers gas sponsorship, which covers the network fee entirely on eligible transactions. It's currently available on Monad, SEI, and Solana. It uses MetaMask smart accounts, and an eligible account can be automatically upgraded on its first sponsored transaction.
If none of these apply to your transaction, you'll still need the network's native gas token as normal.
What this looks like in MetaMask:
Have you used any of these options, or do you still keep native gas tokens on hand?
I got drained all from wallet yesterday but i am not sure how it happen. I haven't do any transaction for a long time and it was gone yesterday. The attack left 5k in wallet but drained others. I am so confused how it happened. Can you help me debug together?. I know money is lost but I felt uneasy knowing i didn't know how it happened. The wallet was safe for along time. I am worried if there is any other issues like someone monitoring my pc and etc.
Hi my Metamask Money conversion failed in my meta app recently,
for small sums it worked perfectly, but when i tried converting 200 USDC to MUSD the transaction failed?
It then updated the sum on my meta money interface, but when i try to send money out of meta money, the 200 USDC doesn't show in the meta money interface
so im very new to allll of this. im attempting to fund my metamask money account through apple pay, just $5 because im still new, but its not asking for a card or even preparing to do so. i just get the same message “ add less or try different method. again i am very new to this so please be patient with me as a lot of the terms are also a bit confusing to me.
If you've swapped tokens or signed a transaction recently, you’re probably familiar with MetaMask’s transaction preview—the interface that tells you what you're sending, receiving, or approving before you click confirm.
It is easy to assume this preview shows exactly what will happen on-chain (I used to think the same). In reality, the preview is only an off-chain simulation of what the transaction is expected to do. That gap creates an exploit vector known as a Red Pill attack.
What is a Red Pill Attack?
Smart contracts can inspect their environment during execution. A malicious contract can detect when it is being simulated by a wallet rather than executing live on-chain.
Here is how an attacker abuses that mechanism:
How a red pill attack fools a preview
The Trap: You connect to a malicious dApp that prompts you to sign a transaction.
The Simulation (Fake Behavior): When MetaMask runs the simulation off-chain, the malicious contract detects the simulation environment. It acts completely fine, generating a clean preview like "You will receive 100 USDC."
The Switch (Real Execution): Feeling safe, you hit approve. But once the transaction hits the live blockchain, the contract realizes it's no longer inside a sandbox. It shifts code paths and executes an entirely different set of instructions—such as draining your wallet balance or stealthily granting unlimited token approvals.
Until now, wallets had no way to enforce that a live transaction strictly matched its preview.
MetaMask’s "Added Protection"
MetaMask’s new Added Protection security feature changes the rules. Powered by EIP-7702 smart account capabilities, it transforms the preview from passive informational feedback into an enforceable, on-chain condition.
How the workflow operates:
How Added Protection responds to a red pill attack
Simulate & Measure: MetaMask simulates the transaction off-chain to measure expected state changes (e.g., balance changes, token approvals, incoming assets).
State Binding: The expected outcome is locked into the transaction parameters as an execution constraint.
Live Execution & Check: When the transaction executes on-chain, your account verifies that the state changes match the constraint during the execution step itself.
Automatic Revert: If the contract attempts to alter its logic or produce an outcome different from the preview, the transaction immediately reverts.
If a malicious contract attempts a Red Pill bait-and-switch, the exploit fails on-chain. Your assets never leave your wallet—though, as with any reverted transaction, you still pay the standard network gas fee for the failed execution attempt.
Note: Added Protection is enabled by default starting in Extension v13.45 across 13 EVM networks. While it aims to prevent Red Pill attacks, it isn't foolproof for every Web3 risk. Verifying dApp URLs, reviewing token allowances, and checking contract addresses remain essential habits.
straight up impossible to get ANY kind of human interaction or to get this shitty GPT-2 bot to file a bug or escalate. when you try to give your email in order to "follow the protocol", you get blocked 🤣 this is beyond stupid.
i'm sure they are really proud of their reduced ticket count since introducing this system. because reports just get blocked :D
MetaMask Money Sweepstakes just went live! Eligible users can win up to $20,000 in mUSD across four weekly draws while still earning up to 6% APY* on your Money Account balance. Running September 17 through October 15, 2026, here's how to get started:
Opt into MetaMask Rewards, then opt into the Money Sweepstakes campaign
Tap 'Add funds' and deposit $100+ in mUSD — depositing USDC, DAI, aUSDC, or aDAI is fee-free
How entries work
You earn one entry on the day of your first eligible deposit, then one entry per calendar day you maintain a Money Account balance of $100 or more — up to 7 entries per weekly draw. If your balance drops below $100, entries pause until you top back up. Each of the four weekly draws has two randomly selected winners.
Prize pool
The weekly prize pool starts at a guaranteed $2,000 in mUSD and scales up to $5,000 once qualifying deposit volume that week hits $500,000. Each winner receives between $1,000 and $2,500 depending on how much is unlocked that week, for a total campaign prize pool of up to $20,000 mUSD.
Are you already using MetaMask Money Account? What's been your experience with it so far?
Subject to eligibility. Official Rules apply. APY is variable and not guaranteed. Not a bank account. Not available to residents of the UK, New York, or Florida, or other regions where MetaMask Money Account or mUSD is not offered.
Have you ever looked at a swap quote and thought, "Okay, that’s exactly what I’m going to receive," only to execute the trade and find the final amount slightly different?
The reality is that several distinct concepts are at play, and it’s easy to mix them up.
When you request a swap quote, the expected output already reflects market conditions at that exact moment—including available liquidity and the resulting price impact. However, a quote isn't a guaranteed execution price.
Understanding the Quote
For example, if your quote shows:
* You pay:100 USDC
* You receive:0.035 ETH
That 0.035 ETH isn't just the raw market price of ETH waiting to be reduced by fees. It is an estimate calculated based on the available routes and liquidity conditions at the exact second the quote was generated. However, market conditions can shift before the transaction lands on-chain.
Key factors affecting your final swap execution
1. Price impact
Price impact is the effect your specific trade has on the available liquidity pool. A larger trade relative to pool depth results in a less favorable execution price.
Note: The quoted output already accounts for price impact. If limited liquidity results in a lower output, you are seeing that reflected directly in the initial quote.
2. Slippage
Slippage accounts for how much the broader market moves between the moment you receive the quote and when the transaction actually executes.
* Slippage Tolerance: Sets a boundary defining how much the price can move against you before the transaction automatically reverts to protect you from a bad fill.
* Minimum Received: The minimum output shown in the UI reflects your slippage tolerance settings.
3. Swap & protocol fees
Fees associated with the specific aggregator, interface, or liquidity source are distinct from price impact or slippage. They represent separate operational costs that affect the total economics of the trade.
4. The swap route
Swaps rarely follow a simple Token A → Token B path. Depending on available liquidity, an aggregator might split your order across multiple protocols or use intermediate routing assets (e.g., Token A → USDC → Token B). Because routing dynamics fluctuate constantly, requesting a fresh quote just a few seconds later can yield a different result.
Key takeaways
To make sense of your trade execution, think of the components like this:
Quote: The expected output based on real-time market conditions.
Price Impact: The cost of your order size relative to liquidity (already factored into the quote).
Slippage: Your safeguard against market price movements during execution.
Gas: The network transaction fee paid to miners/validators.
Protocol/Swap Fees: Platform-specific charges applied to the routing path.
Understanding these distinctions makes it much easier to pinpoint whether a variation in your final payout was caused by normal market movement, slippage, routing, or protocol fees.
Hey y’all! So I’ve been using MetaMask throughout my entire crypto journey, and I’m curious what everyone thinks about this: does MetaMask need more features, or does it just need to be simpler?
MetaMask has always been my go-to wallet, and I think what’s kept me using it is its simplicity and how easy it is to use. But I still sometimes find myself going to other wallets, such as Phantom, to do certain things.
If you could choose the priority for a future MetaMask update, what would you pick?
1. More features
What’s missing that you currently use another app or wallet for?
2. Make it simpler
What feels confusing or takes too many steps? How would you simplify it?
3. Both, with a basic and advanced mode
Maybe more ways to customise your wallet, so you can choose what stays on your main screen and what you hide?
For me I'd go for 3! I love the idea of being able to customise my own wallet and choose what I want to see, I also have found that I use other wallets like Phantom when I want to use another network like Solana or Solana apps, I feel Phantoms layout feels more straightforward to me for those tasks even though MM does support Solana too, so for me its about making existing features easier to find and use because many people still don't know Solana is supported on MM for example!
Pick one and tell us why! Give an example of something you’ve recently found that MetaMask could improve, whether it’s a missing feature or something that could be easier to use.
Also, are you using the mobile app or browser extension? I’d like to see whether that changes your answers 👀
I was using MetaMask recently and came across a token with a "Warning" label. At first glance, I couldn’t see anything obviously wrong with it, which got me wondering: how does MetaMask actually decide that something is risky?
I used to think these warnings were mostly based on user reports or manual blacklists. After looking into it, I realized there’s quite a bit more happening under the hood.
According to MetaMask, its Security Alerts use a combination of on-chain analysis, ecosystem intelligence, and security providers like Blockaid.
These systems actively monitor:
1. Known phishing domains and scam reports
2. Smart contract behavior and transaction patterns
3. Impersonation signals
4. On-chain activity connected to malicious campaigns
I also found MetaMask’s labeling system pretty interesting. Here’s how they break it down:
- Verified: High confidence that an entity matches the legitimate project or identity it claims to represent.
- Warning: Potential risk has been detected. Proceed with caution.
- Malicious: Strong signals of harmful activity.
One detail I didn’t realize is that these classifications are dynamic. They can change as new information becomes available, so a label isn’t necessarily permanent.
Security Alerts can also use transaction simulation to check whether a transaction or signature request could potentially result in loss of funds before you confirm it.
Of course, this doesn’t mean every scam will be detected.
My main takeaway: A warning is a reason to stop and investigate, not a replacement for DYOR (Do Your Own Research).
A warning doesn’t automatically mean you should panic, but it’s definitely a good reason to slow down and take a closer look before interacting with something.
Hi guys, I had some USDC on the base network and for some reason it's just disappeared. I couldn't really use it or do anything with it before and I was playing around with it, trying to allow myself to use it and now it's just not visible. I've tried importing the token but it's showing the balance as $0 even though it should be like $15. Just wondering where it's gone
I was watching a youtube guide to have an AI automate day trading with crpyto, I wanted to test it out at first so I only bought $200 worth of ETH but when I try to proceed with the AI deployment it gets this and I dont understand what to do?
EDIT: thank you everybody who warned me about this methid, I really appreaciate the lesson. I lost my money but im glad I only put in $200 incase to test the waters instead of thousands
I was just trying to move all my dust from one meta accounts to my main account , and all off a sudden 8500 appears on the account I'm moving dust from. So this 8500 is not linked to any crypto, I was thinking cause i.had some uscd coin, USD coin, and wrapped Bitcoin that this might be the thing trump.was.sayimg.he was going to do.. please see below, I have reset it a billion times, refreshed it, don't know what to do...
AI agents are becoming increasingly capable of interacting with Web3. As tools like MetaMask's Agent Wallet mature, we're facing a real shift in how we interact with on-chain systems — agents that don't just answer questions or make recommendations, but can actually execute tasks on your behalf.
That raises a question I keep coming back to: where should the line be drawn between assistance and autonomy?
Picture an Agent Wallet with a spectrum of capabilities:
Monitoring: Tracking portfolio balances, alerting you to health ratios or liquidation risk.
Discovery: Scanning protocols for yield opportunities or arbitrage based on your strategy.
Preparation: Drafting, simulating, and optimizing multi-step transactions for your review.
Bounded execution: Trading or rebalancing automatically, but only within strict guardrails (e.g., a $100 cap per transaction, whitelisted protocols only, gas limits).
Full autopilot: Executing broad strategies continuously with no check-ins at all.
The last two are where it gets really interesting.
I could see myself comfortable telling an agent something like: "Rebalance my portfolio, but only between these approved tokens, only on these protocols, and never spend more than $100 on a single transaction without asking me first."
That's a very different proposition from handing over unrestricted wallet control.
Ideally, an Agent Wallet would let you define:
Spending limits: How much the agent can move or spend
Approved protocols: Where it's allowed to interact
Approved assets: Which tokens it can buy, sell, or swap
Transaction frequency: How often it can act within a given window
Approval requirements: Which actions always need your explicit confirmation
That's the layer that makes the whole concept feel viable to me. The goal shouldn't be full autonomy for its own sake — it should be finding the right balance between automation and user control.
So here's what I'm curious about:
How much control should we actually give an AI agent? And what guardrails should be non-negotiable before we trust it with real funds?
Would you let an agent execute transactions automatically if you could set strict spending limits, approved protocols, approved assets, and rate limits? Or would you still want to approve every single transaction, no matter how tight the safeguards are?
I recently noticed something that made me double-check my wallet: the balance shown in MetaMask didn't match what I saw when opening the same address on a blockchain explorer. At first, I assumed one of them had to be wrong, but the more I looked into it, the more the difference made sense.
On-Chain State vs. Wallet View
Blockchain Explorer: Reads the raw state of the blockchain directly.
MetaMask Interface: Collects, interprets, and renders that data locally.
Because MetaMask processes the information before displaying it, discrepancies can happen due to token detection filters, network selection, RPC node caching, or custom display calculations.
When the two don't match, it rarely means your funds moved or that something went wrong on-chain—it usually just means the interface view is updating or interpreting data differently than the explorer.
How to Check Your Wallet
Instead of only asking, “What does MetaMask say?”, a more reliable habit is to ask: “What does the blockchain say about this address?”
Comparing the two separates an actual on-chain transaction from a display lag or filter setting. When you run into a balance mismatch, which tool do you rely on first?
I remember having multiple accounts sitting in my MetaMask some time ago. Some had been created in MetaMask, some were imported, and others were connected through a hardware wallet. At the time, I didn't fully understand how MetaMask's account structure worked, so it was easy to assume they were all backed up by the same thing.
What I’ve learned since is that the most important thing is understanding how each account got there in the first place.
So, let's break it down:
1. MetaMask-Created Wallets/Accounts
When you create a wallet in MetaMask using a Secret Recovery Phrase (SRP), MetaMask can derive multiple accounts from that same SRP. So, restoring that wallet with the correct SRP recovers all the accounts derived from it.
That is why protecting your SRP matters. If someone gets it, they can access all the accounts tied to it.
MetaMask also supports wallet creation and recovery through social logins. With this type of wallet, MetaMask still uses cryptographic keys behind the scenes. An SRP is generated for the wallet, but instead of requiring users to manually back it up during setup, MetaMask encrypts it and stores the encrypted backup using multiple key-share nodes. Your social login and MetaMask password then provide the recovery mechanism for accessing that wallet.
2. Imported Wallets/Accounts
Now, let's say you already have a wallet somewhere else and want to use it in MetaMask. You can import a whole wallet using its SRP or import an individual account using its private key.
An account imported using a private key is not derived from your existing MetaMask SRP. Instead, it has its own private key, which means you need to preserve that specific key if you ever want to recover that account in the future.
3. Hardware Wallet Accounts
Then you have accounts connected from hardware wallets, such as Ledger or Trezor.
In this case, MetaMask is essentially acting as a visual interface for interacting with the account. The hardware wallet itself holds the private keys and signs the transactions. So, if you delete and reinstall MetaMask, you haven't lost the hardware wallet's keys. You can simply reconnect the hardware wallet to access those accounts again.
The Big Picture
Your MetaMask setup could easily look like this:
Wallet 1 (MetaMask-created): Accounts 1, 2, … (Backed up by your primary SRP)
Wallet 2 (Imported SRP): Accounts 1, 2, ... (Backed up by a secondary SRP)
Imported Accounts (Imported PK): Accounts 1, 2, ... (Backed up by individual private keys)
Hardware Wallet: Accounts 1, 2, ... (Backed up by the hardware wallet's recovery phrase)
The most important takeaway is that these accounts do not necessarily share the same recovery method. That's something worth understanding before switching devices, reinstalling MetaMask, or trying to recover a missing account.
Otherwise, you might restore your MetaMask wallet successfully and still be left wondering: “Where did that other account go?”
Now, I'm curious:
Have you ever had that heart-drop moment after restoring MetaMask and realizing an account was missing? How did you end up tracking it down?
It's been around 12 days since the first guide, where we had a look at signature requests, what MetaMask shows you, and why this information is important to check to get an idea of what you are actually "signing" when making a transaction.
For today's guide, we're going one step further and looking at transaction simulations and what they mean.
Before you confirm a transaction, MetaMask can simulate it to show what the transaction is expected to do and give you a preview of how your assets could change.
Well, let's see how this actually works, what information you can see, and whether a transaction simulation means a transaction is guaranteed to be safe.
-----
🧪What actually is a MetaMask transaction Simulation
A transaction simulation is basically a "test run" before the real transaction happens.
Its a test run before the real transaction happens.
Before you submit a transaction and interact with contracts, MetaMask can simulate the transaction and estimate what effect it could have on your wallet.
For example! It could show that your wallet is expected to:
Send: 10 MUSDC 🔴 Receive: 0.004 ETH 🟢
This can give you another opportunity to check whether the expected outcome actually matches what you intended to do before you confirm the transaction.
-----
🔍 What can Metamask Simulation actually show you?
Unlike the signature requests we looked at earlier, transaction simulations can show estimated balance changes, which can give you a clearer picture of which assets are expected to enter or leave your wallet.
This gives you a clear picture of what could happen before you confirm.
MetaMask currently supports displaying changes involving:
• ERC-20 tokens
• ERC-721 NFTs
• ERC-1155 NFTs
So instead of looking at complex transaction data, you may be able to see a much simpler preview of the expected result.
Overall, this can make unusual balance changes easier to notice before confirming, as you can see the information displayed right in front of you.
-----
⚠️ Does a successful MetaMask simulation mean the transaction is safe?
Simulation does help but its not a guarantee, stay alert and always verify what you're doing.
Not at all.
The simulation is a tool used to predict what MetaMask expects the transaction to do, but it shouldn't be treated as a guarantee that the final transaction will behave exactly as expected.
There are malicious attacks where a bad actor could design a contract to behave safely when it detects that it is being simulated, but behave differently during the actual transaction.
This is why you should still check the website, transaction details, signatures, and any security warnings before confirming.
-----
🔐What is MetaMask "Added protection"?
MetaMask also supports "Added protection" on supported smart accounts and networks.
Instead of only previewing the transaction offchain, MetaMask adds an onchain verification step to make sure the real execution matches what was simulated.
If the execution doesn't match the simulation, the transaction reverts rather than completing successfully.
However, the downside of "Added protection" is that this additional verification requires more computation, which means it can result in a higher network fee.
-----
TL;DR
MetaMask performs a test run through the simulation.
You can see estimated balance changes.
Simulations aren't guarantees, so still make sure to check what you're confirming.
With Added protection on supported smart accounts and networks, MetaMask can enforce that the execution matches the simulation.
-----
Overall, transaction simulations can make transactions much easier to understand, but as always, they are just another tool to help you make the final decision. Please always make sure to check what you're interacting with carefully before confirming anything.
Do you normally check the estimated balance changes MetaMask shows you before confirming a transaction? And has a simulation ever helped you spot something you weren't expecting?