Stuck transactions are the most common MetaMask issue. A transaction gets stuck when the gas fee you set is too low for current network conditions — validators skip it in favor of higher-paying transactions.
How to identify a stuck transaction:
Fix 1 — Speed Up:
Fix 2 — Cancel:
Fix 3 — Manual nonce replacement (advanced): If Speed Up and Cancel don't appear:
I've had to use Fix 3 about twice in a year. It works reliably but requires understanding nonces, which is an EVM concept worth learning if you're active in DeFi.
Prevention: Use the "Aggressive" gas setting in MetaMask during periods of rising gas prices. For normal conditions, "Market" is usually sufficient. On L2 networks, stuck transactions are extremely rare due to the low gas environment.
This is the most common "I lost my crypto" panic, and in most cases, your tokens are recoverable.
Scenario: Sent tokens to the right address but wrong EVM chain Example: You meant to send USDC to your MetaMask on Arbitrum but sent on Ethereum mainnet.
Solution: Your address is the same on all EVM chains. The tokens are at the correct address, just on a different chain. Switch MetaMask to the chain where you actually sent the tokens. They'll appear in your balance. No recovery needed — just a network switch.
Scenario: Sent ETH to a contract address that doesn't exist on that chain Example: You sent ETH on Arbitrum to a smart contract address that only exists on Ethereum mainnet.
Solution: If the contract address doesn't exist as a smart contract on the destination chain, you generally can't recover the funds. The tokens are sent to an address that no one controls. Be extremely careful when sending to contract addresses across chains.
Scenario: Sent to a completely wrong address (typo or scam) Solution: Blockchain transactions are irreversible. If you sent to a wrong address, there is no undo, no customer support, no chargeback. This is why I always send test transactions first and triple-check addresses.
Before panicking, run through this checklist:
1. Are you on the right network? Click MetaMask's network selector and switch through your chains. Your tokens might be on a different network than you're viewing.
2. Is the token added to MetaMask? Some tokens don't auto-display. Import the token using its contract address (get from CoinGecko or the chain's block explorer).
3. Check the block explorer: Copy your address, go to the chain's block explorer (Etherscan, Arbiscan, etc.), paste your address. If the explorer shows a balance, the tokens are there — MetaMask just isn't displaying them.
4. Did a transaction fail? Check your activity history. A failed transaction returns your tokens (minus gas). The tokens should be back in your balance.
5. Were your tokens in a DeFi protocol? If you supplied tokens to Aave, staked in Lido, or provided liquidity on Uniswap, they won't show in your MetaMask token balance. They're in the protocol's smart contract. Check the protocol's dashboard to see your deposited positions.
6. Were you scammed? If tokens genuinely disappeared and none of the above applies, check your recent transactions for unexpected outgoing transfers. If you see a transaction you didn't initiate, your wallet may be compromised — transfer remaining funds to a new wallet immediately and revoke all approvals.
Token approvals are permissions you've granted to smart contracts to spend your tokens. Old, unlimited approvals are a security risk.
How to check and revoke approvals:
What to revoke:
What to keep:
I revoke approvals monthly. A typical cleanup session takes 10 minutes and costs $2-5 in gas (on L2). It's cheap insurance against a compromised protocol draining tokens through old approvals.
Symptom: You visit a dApp, click "Connect Wallet," and nothing happens — or the dApp says "No wallet detected."
Fix 1 — Check MetaMask is unlocked: MetaMask won't respond to dApp connection requests while locked. Click the MetaMask icon and enter your password.
Fix 2 — Check for conflicting wallets: If you have multiple wallet extensions installed (MetaMask, Rabby, Coinbase Wallet), they can conflict over the window.ethereum provider. Try:
Fix 3 — Hard refresh the page: Ctrl+Shift+R (or Cmd+Shift+R on Mac) forces the page to reload without cache. Sometimes the dApp's connection script caches a stale state.
Fix 4 — Check the browser console: Right-click → Inspect → Console. Look for errors mentioning MetaMask or ethereum. This helps identify whether the issue is on the dApp's side or MetaMask's side.
Fix 5 — Reinstall MetaMask: As a last resort, export your accounts (Settings → Security → Reveal Seed Phrase), remove the extension, reinstall from metamask.io, and import your seed phrase. This resolves corrupted extension state.
MetaMask slowing down Chrome:
Extension popup not appearing:
Stuck on loading screen: Close and reopen the app. If persistent, clear app cache (Settings → Clear Browser History in MetaMask).
dApp not loading in mobile browser: MetaMask's built-in browser is based on WebView, which doesn't support all modern web features. Try:
Biometric login not working: Disable biometric in MetaMask settings, then re-enable. If your phone recently updated its OS, biometric permissions may need refreshing.
A full MetaMask reset clears all activity data, custom networks, and imported tokens (but NOT your accounts, which are derived from your seed phrase).
Reset when:
How to reset: Settings → Advanced → Reset Account → Confirm
After reset, you'll need to re-add custom networks, re-import tokens, and rebuild your configuration. Your addresses, balances, and blockchain data are unaffected — the reset is purely local.
No. MetaMask is non-custodial — no one, including MetaMask or ConsenSys, can recover your wallet without the seed phrase. If you've lost your seed phrase and also lose access to your device (browser uninstalled, computer lost), your funds are permanently inaccessible.
MetaMask's balance display can lag during network congestion or Infura outages. The block explorer shows real-time on-chain data. If they differ, the block explorer is always correct. Try refreshing MetaMask, switching networks and switching back, or resetting the account.
Once a transaction is confirmed on the blockchain, it cannot be undone. If a transaction is still pending (not yet confirmed), you can attempt to cancel it by sending a replacement transaction with the same nonce and higher gas. Once you see the confirmation checkmark and block number, the transaction is final and irreversible.