Why Your MetaMask Isn’t Connecting: Complete Fix Guide
Why your MetaMask isn’t connecting usually comes down to one of a few practical causes: the wrong network is selected, the dApp has stale site permissions, the RPC endpoint is failing, another wallet extension is interfering, the browser is blocking popups or storage, WalletConnect has an old mobile session, or a hardware wallet bridge is not communicating correctly. This guide gives you a clear troubleshooting path for desktop, mobile, Ledger, Trezor, Layer 2 networks, JSON-RPC errors, stuck transactions, privacy settings, and the safety mistakes you should never make while trying to reconnect your wallet.
TL;DR
- Start with the simple fixes: reload the dApp, open MetaMask, unlock the wallet, and switch to the chain the dApp expects.
- If the dApp still cannot connect, disconnect the site from MetaMask and reconnect from the dApp’s official page.
- If only one dApp is failing, clear that site’s cookies, cache, and local storage, then reload.
- If balances or transactions are not loading, the RPC may be down, slow, blocked, or rate-limited.
- If multiple wallet extensions are installed, disable the extras or use a fresh browser profile dedicated to crypto.
- If transactions are stuck, MetaMask’s Reset Account option clears local activity and nonce tracking. It does not remove on-chain assets.
- If you use Ledger or Trezor, update firmware, open the right app on the device, check WebHID or bridge settings, and close competing apps.
- On mobile, refresh WalletConnect sessions, allow permissions, keep the app open during signing, and avoid expired QR codes.
- Never type your seed phrase into a website, form, support chat, remote desktop session, or fake wallet recovery page to “fix” a connection issue.
- When in doubt, test with a small action on a known dApp before approving tokens, bridging funds, or signing unfamiliar transactions.
MetaMask connection issues are local wallet, browser, dApp, network, RPC, or device-bridge problems. They are not solved by typing your recovery phrase into a website. Any page, support agent, bot, or “validator” asking for your seed phrase is trying to steal your wallet.
Quick diagnosis: what exactly is broken?
Before changing settings, identify the symptom. MetaMask connection problems can look similar from the outside, but the fix depends on where the connection breaks. A “Connect Wallet” button that does nothing is different from a wrong-network prompt. A stuck transaction is different from a stale WalletConnect session. A hardware wallet detection issue is different from a dApp cache problem.
Start by asking three questions: does MetaMask work on other dApps? does the same dApp work in another browser profile? does the same wallet address work on a block explorer? These three checks help separate wallet problems from website problems, browser problems, and chain problems.
Common browser symptoms
On desktop, the most common MetaMask connection issue is a broken relationship between the dApp and the browser extension. The dApp may show a spinner forever. The MetaMask popup may not appear. The wallet may connect but show the wrong account. The dApp may say you are connected but still refuse to read balances. Sometimes the page still remembers an old account that you disconnected days ago.
These issues are usually caused by stale site permissions, cached wallet state, browser storage conflicts, multiple wallet extensions fighting for the same provider, or privacy settings blocking the connection request. The good news is that most of them can be fixed without reinstalling MetaMask.
Common mobile symptoms
On mobile, the most common issues are WalletConnect sessions, expired QR codes, app permissions, frozen approval screens, background app behavior, or weak network connectivity. A dApp may show that a QR code was scanned, but MetaMask mobile never shows a session. MetaMask may open but fail to display the signing request. The dApp may wait for confirmation even after the app was closed.
Mobile signing flows are sensitive to timing. If the QR code expires, the app loses background state, or the internet connection changes during signing, the session may break. Deleting old WalletConnect sessions and starting a fresh one often fixes the problem.
Decision tree: fix MetaMask connection issues in order
Work through the fixes in order. Do not jump straight to reinstalling MetaMask or resetting your browser. Most problems are solved by refreshing the dApp, switching the correct network, clearing site permission, or using a clean browser profile.
Fast fixes that solve most cases
Reload the dApp and unlock MetaMask
First, reload the dApp tab. Then open MetaMask manually and make sure it is unlocked. Some dApps fail to trigger the popup if MetaMask is locked, hidden behind another window, or waiting for a previous request. After unlocking, return to the dApp and click Connect Wallet again.
Switch to the correct network
Many dApps only work on a specific chain. A Base dApp may reject Ethereum Mainnet. An Arbitrum app may reject Optimism. A testnet app may reject mainnet. Open MetaMask, check the active network, and switch to the chain the dApp expects.
Do not rely only on the network name. Check the chain ID when adding custom networks. For example, Base Mainnet uses chain ID 8453, while Base Sepolia uses chain ID 84532. One extra digit changes the entire environment.
Disconnect and reconnect the site
If the dApp remembers an old session, disconnect it from MetaMask. Open MetaMask, go to the connected sites section, remove the dApp, then return to the official dApp page and connect again. This refreshes account permissions and clears stale wallet state.
Clear site data for the dApp
If only one dApp fails while others work, the problem may be that website’s local storage, cookies, or cached wallet state. Clear site data for that domain only, then reload. This is safer than clearing your entire browser profile. After clearing data, reconnect MetaMask and approve the correct account.
Top root causes and exact fixes
| Root cause | How it appears | Fix | Safety note |
|---|---|---|---|
| Wrong network | dApp says switch chain or shows wrong balance | Switch MetaMask to the expected network and verify chain ID | Never approve a transaction on a chain you did not intend to use |
| Stale permission | dApp thinks wallet is connected but cannot read accounts | Disconnect the site inside MetaMask and reconnect | Reconnect only from the official dApp URL |
| Site cache issue | One dApp fails while others work | Clear cookies, cache, and local storage for that site | Do not clear seed phrase or reinstall before trying this |
| RPC outage | Balances, gas, or transaction status fail to load | Try another reputable RPC endpoint | Avoid random RPC links from unknown websites |
| Extension conflict | Multiple wallets compete or wrong wallet opens | Disable extra wallet extensions or use a clean browser profile | Keep a dedicated crypto browser profile |
| Blocked popups | MetaMask prompt never appears | Allow popups and reduce aggressive shields for the dApp | Only allow permissions for sites you trust |
| Nonce stuck | Transaction pending forever or nonce errors appear | Speed up, cancel, or reset account local activity | Reset Account does not remove on-chain assets |
| WalletConnect stale | Mobile session fails or QR code does nothing | Delete old session and scan a fresh QR code | Verify the dApp URL before scanning |
Popular network settings to verify
If the dApp asks for a network that is missing in MetaMask, add it from official documentation or a trusted network directory. Always verify the chain ID, native currency, RPC endpoint, and explorer. A wrong explorer can make you think a transaction failed when you are simply checking the wrong chain.
| Network | Chain ID | Currency | Example RPC | Explorer |
|---|---|---|---|---|
| Ethereum Mainnet | 1 | ETH | Use MetaMask default or provider endpoint | https://etherscan.io |
| Base Mainnet | 8453 | ETH | https://mainnet.base.org | https://basescan.org |
| Base Sepolia | 84532 | ETH | https://sepolia.base.org | https://sepolia.basescan.org |
| Arbitrum One | 42161 | ETH | https://arb1.arbitrum.io/rpc | https://arbiscan.io |
| Optimism | 10 | ETH | https://mainnet.optimism.io | https://optimistic.etherscan.io |
| Polygon PoS | 137 | POL or MATIC depending on wallet display | https://polygon-rpc.com | https://polygonscan.com |
| BNB Smart Chain | 56 | BNB | https://bsc-dataseed.binance.org | https://bscscan.com |
| Avalanche C-Chain | 43114 | AVAX | https://api.avax.network/ext/bc/C/rpc | https://snowtrace.io |
If a dApp is built for Base Sepolia, using Base Mainnet will not work. If a dApp is built for Ethereum Mainnet, using Sepolia will not work. Always match the dApp’s intended chain before signing.
RPC diagnostics
RPC endpoints are how MetaMask talks to a blockchain. If the RPC is down, blocked, slow, rate-limited, or misconfigured, MetaMask may fail to load balances, estimate gas, broadcast transactions, or show confirmation status. This can look like a wallet problem even when the wallet is fine.
A simple diagnostic is to switch to another reputable RPC endpoint for the same chain. If the dApp works immediately after changing RPC, the old endpoint was likely the issue. For developers, command-line checks can confirm whether the RPC responds to basic JSON-RPC methods.
# Check chain ID
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
# Check latest block number
curl -s -X POST https://arb1.arbitrum.io/rpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
If the response hangs, returns rate-limit errors, or gives server errors, try another endpoint. Do not copy random RPC links from unknown social posts. A malicious RPC may not steal your seed phrase directly, but it can mislead your wallet interface, block data, or create confusing signing conditions.
Browser and extension conflicts
MetaMask shares the browser environment with every other extension. Other wallet extensions can compete for wallet injection. Privacy blockers can block popups. Aggressive shields can block storage. Ad blockers can break scripts. Corporate browsers can block websockets. This is why a clean browser profile often fixes stubborn connection issues.
Create a dedicated crypto browser profile with only the wallet extensions you actually use. Disable unused wallet extensions. Avoid installing random trading tools, airdrop checkers, or unknown extensions in the same profile. Every extension increases attack surface.
Browser cleanup checklist
- Disable extra wallet extensions temporarily.
- Allow popups for the official dApp.
- Clear site data for the failing dApp.
- Try a fresh browser profile.
- Disable aggressive shields only for trusted sites.
- Remove unknown extensions from your crypto browser profile.
- Update browser and MetaMask extension.
Ledger fixes
Ledger connection issues usually involve firmware, the Ethereum app, browser transport, cable quality, or another app locking the device connection. If MetaMask cannot detect your Ledger, first update Ledger Live and the device firmware. Open the Ethereum app on the device before connecting through MetaMask.
If the dApp requires contract interaction, some flows may require blind signing or clear signing settings depending on the device, app, and transaction. Read the device screen carefully. If the wallet shows an unclear message, do not approve high-value transactions blindly.
Ledger checklist
- Update Ledger Live and device firmware.
- Open the Ethereum app on the Ledger before signing EVM transactions.
- Use a direct cable instead of a USB hub.
- Close Ledger Live if it is locking the USB connection.
- Use a Chromium-based browser if WebHID works better for your setup.
- Verify transaction details on the device screen.
- Do not approve unclear prompts for high-value actions.
Trezor fixes
Trezor connection issues often involve Trezor Suite, Trezor Bridge, browser permissions, USB access, or account derivation path confusion. Make sure Trezor Suite and Bridge are updated. Allow the browser to access the USB device when prompted. If MetaMask shows a different account than expected, check derivation path and account selection.
Trezor checklist
- Update Trezor Suite and Trezor Bridge.
- Allow browser USB permissions.
- Close apps that may be using the device bridge.
- Reconnect the Trezor account in MetaMask if the account path changed.
- Verify addresses on the Trezor screen before sending funds.
- Never type the Trezor seed into MetaMask or a website unless you fully understand the consequences.
MetaMask mobile and WalletConnect fixes
WalletConnect issues are common on mobile. The QR code may expire. The app may have an old session. The dApp may show a pending request that no longer exists. MetaMask may be stuck in the background. Mobile data may switch between Wi-Fi and cellular during signing.
The clean fix is to delete old WalletConnect sessions, reload the dApp, generate a fresh QR code, scan it again, and keep MetaMask open until the signature request appears. On iOS, make sure relevant permissions are allowed. On Android, make sure battery optimization is not killing the app during signing.
Mobile checklist
- Update MetaMask mobile from the official app store.
- Delete old WalletConnect sessions.
- Generate a fresh QR code from the dApp.
- Allow camera permission for QR scanning.
- Keep MetaMask open while approving or signing.
- Use stable internet during the connection flow.
- Do not approve WalletConnect sessions from unknown websites.
Common JSON-RPC errors and what they mean
| Error | What it usually means | Fix |
|---|---|---|
| Chain ID mismatch | The dApp expects a different network | Switch MetaMask to the correct chain and verify chain ID |
| Nonce too low | A newer transaction already used that nonce or local nonce tracking is stale | Reset account local activity or resync pending transactions |
| Replacement transaction underpriced | You tried to replace a pending transaction without enough fee increase | Speed up with a higher fee or cancel properly |
| Insufficient funds for gas | The wallet lacks the native gas token on that chain | Bridge or send a small amount of native gas token |
| Internal JSON-RPC error | Generic provider, RPC, or node issue | Reload, switch RPC, or wait if the network is congested |
| User rejected the request | The user closed, rejected, or missed the wallet prompt | Start the request again and approve intentionally |
| Execution reverted | The smart contract rejected the transaction | Check slippage, allowance, deadline, balance, or contract requirements |
Pending or stuck transactions
A stuck transaction can block later transactions because EVM chains process transactions from an account in nonce order. If one transaction is pending with a low fee, later transactions may wait behind it. MetaMask may show pending activity even if the explorer status is different.
Start by checking the transaction hash on the correct explorer. If the transaction is pending, you can try speeding it up with a higher fee. If you no longer want it, you can try canceling it with a replacement transaction using the same nonce. If MetaMask’s local activity is confused, Reset Account can clear local transaction history and nonce cache.
MetaMask’s Reset Account feature clears local activity and nonce tracking. Your assets live on-chain. As long as you still control the wallet keys, resetting local activity does not remove your tokens or NFTs.
Privacy, firewall, VPN, and clock issues
Sometimes the wallet is fine and the dApp is fine, but the network environment blocks the connection. VPNs, corporate firewalls, school networks, hotel Wi-Fi, browser privacy shields, and DNS filters can interfere with dApp connections, RPC calls, websockets, and WalletConnect handshakes.
If MetaMask works on mobile data but not Wi-Fi, the network may be blocking something. If it works at home but not at work, the firewall may be the issue. If WalletConnect fails repeatedly, check system time. Some authentication and session flows fail when device time is badly out of sync.
Network environment checklist
- Turn off VPN temporarily and retest.
- Try another Wi-Fi network or mobile hotspot.
- Allow websocket connections where possible.
- Complete captive portal login before opening the dApp.
- Set system clock to automatic time.
- Check whether corporate firewall rules block wallet traffic.
What not to do while fixing MetaMask
When users get frustrated, attackers take advantage. Search engines, social posts, fake Telegram admins, fake Discord support, and malicious popups often target people who are already stuck. Do not rush into the first “fix” you see. MetaMask connection issues do not require seed phrase entry, remote desktop access, wallet validation forms, token approval to a support contract, or importing your wallet into an unknown tool.
Stop immediately if someone asks you to
- Enter your seed phrase on a website.
- Share your private key.
- Install a remote desktop tool.
- Connect to a “wallet validator.”
- Approve a transaction to “unlock” MetaMask.
- Send funds to activate your wallet.
- Download a MetaMask update from a random link.
- Trust a support agent who DMs you first.
One-page checklist
MetaMask connection fix checklist
1. Reload the dApp tab.
2. Open and unlock MetaMask.
3. Confirm the active account.
4. Switch to the correct network.
5. Verify chain ID if using a custom network.
6. Disconnect the dApp from MetaMask.
7. Reconnect from the official dApp URL.
8. Clear site data for the dApp.
9. Try another reputable RPC endpoint.
10. Disable extra wallet extensions.
11. Try a clean browser profile.
12. Reset account local activity if nonce is stuck.
13. For Ledger, update firmware and open the Ethereum app.
14. For Trezor, update Suite and Bridge.
15. For mobile, delete old WalletConnect sessions and scan a fresh QR.
16. Check VPN, firewall, Wi-Fi, and system clock.
17. Never share seed phrase or private key.
18. Test with a small transaction before moving serious funds.
TokenToolHub view: wallet connection is only one layer of safety
Fixing MetaMask connection issues helps you access dApps again, but connection is not the same as safety. Once the wallet connects, the real risk begins: what are you approving? What contract are you interacting with? What chain are you on? What token can the spender move? Can the contract pause, blacklist, mint, upgrade, or change fees?
A working wallet can still sign a dangerous transaction. A connected wallet can still approve a malicious spender. A correct network can still host unsafe contracts. This is why wallet troubleshooting should be paired with contract checking.
Before approving a token, check the contract risk
TokenToolHub helps users inspect token-level risks such as ownership, mint authority, blacklist permissions, pause controls, adjustable taxes, proxy upgradeability, holder concentration, and liquidity signals before interacting.
Quick check
Does Reset Account delete my tokens?
No. Reset Account clears local activity and nonce tracking in MetaMask. Your tokens and NFTs live on-chain. You should still verify your balance on the correct explorer.
Why does a dApp show zero balance after connecting?
You may be on the wrong network, connected with the wrong account, using a stale dApp session, or the RPC may not be loading balances correctly.
Why does MetaMask not pop up?
MetaMask may be locked, popups may be blocked, another wallet extension may be interfering, or the dApp may have stale site permissions.
Can I use multiple wallet extensions?
Yes, but they can conflict. For fewer problems, use a dedicated browser profile and enable only the wallet you need for that session.
What is the safest first step when MetaMask fails?
Reload the dApp, unlock MetaMask, verify the network and account, then disconnect and reconnect the official site. Never share seed phrases or install random fixes.
Final verdict
Most MetaMask connection issues are fixable without reinstalling the wallet or touching your seed phrase. Start with the active account, active network, site permissions, and dApp cache. Then test RPC, browser profile, extension conflicts, hardware wallet bridges, and WalletConnect sessions. If the problem appears only on one dApp, treat it as a dApp or browser-state issue. If the problem appears across all dApps, check MetaMask, RPC, browser, extensions, network environment, and device setup.
The safest troubleshooting habit is slow isolation. Change one variable at a time. Use official URLs. Verify chain IDs. Check explorers. Avoid fake support. Never reveal your recovery phrase. Once MetaMask reconnects, continue with the same caution before signing transactions.
Getting MetaMask to connect is only step one. Before signing, confirm the network, dApp URL, contract address, spender, amount, and expected outcome.
Frequently asked questions
Why is MetaMask not connecting to a dApp?
Common causes include wrong network, stale site permission, dApp cache, RPC failure, blocked popup, extension conflict, locked wallet, or mobile WalletConnect session problems.
Why does MetaMask keep asking me to connect again?
The dApp may have stale local storage or MetaMask may have old permissions. Disconnect the site from MetaMask, clear site data for the dApp, reload, and reconnect.
Why are my tokens not showing after connecting MetaMask?
You may be on the wrong chain, viewing the wrong account, using an RPC that is not loading correctly, or the token may need to be imported manually using the verified contract address.
Why is my Ledger not connecting to MetaMask?
Check firmware, open the Ethereum app on the Ledger, use a reliable cable, close Ledger Live if it locks the connection, and confirm the browser transport method.
Why is WalletConnect not working on MetaMask mobile?
The QR code may have expired, old sessions may conflict, app permissions may be blocked, or the app may have gone into the background. Delete old sessions and start with a fresh QR code.
Should I reinstall MetaMask?
Reinstalling should not be the first fix. Try network switching, reconnecting the site, clearing site data, changing RPC, disabling extension conflicts, and using a fresh browser profile first. Only reinstall if you have your recovery phrase safely backed up offline.
Glossary
| Term | Meaning | Why it matters |
|---|---|---|
| RPC | Endpoint MetaMask uses to communicate with a blockchain | Bad RPCs can cause loading and transaction issues |
| Chain ID | Unique identifier for a blockchain network | Prevents confusion between mainnet, testnet, and different chains |
| Connected site | A website authorized to view wallet account information | Stale permissions can break wallet connection |
| Nonce | Transaction counter for an account | Stuck or mismatched nonce can block transactions |
| WalletConnect | Protocol used to connect mobile wallets to dApps | Old sessions or expired QR codes can cause mobile issues |
| Execution reverted | Smart contract rejected the transaction | Usually requires checking contract logic, slippage, approval, or inputs |
| Approval | Permission for a contract to spend tokens | Unsafe approvals can drain funds later |
| Hardware wallet bridge | Software or browser transport that connects a device to the wallet | Bridge problems can stop Ledger or Trezor signing |
References and further learning
- MetaMask Official Website
- MetaMask Support Center
- MetaMask Developer Documentation
- Ledger Support
- Trezor Learn
- Base Documentation
- Arbitrum Documentation
- Optimism Documentation
- Polygon Documentation
- Revoke.cash Approval Manager
- TokenToolHub Token Safety Checker
- TokenToolHub Blockchain Technology Guides
Final reminder: MetaMask connection issues are usually caused by network, dApp, browser, RPC, extension, mobile session, or hardware bridge problems. Fix them carefully, never reveal your seed phrase, and always verify the transaction before signing. This article is educational only and not financial, legal, tax, security, or investment advice.
