Step-by-step fix:
- Open MetaMask (extension or mobile app) and unlock the account.
- On the dApp, click the site’s "Connect wallet" button. Don’t rely on automatic requests.
- If it still fails: open MetaMask > Settings > Connected Sites and remove the site, then reconnect. See disconnect-connected-sites.
- For browser problems: disable incognito, allow the extension in incognito mode, or try a normal profile.
In my experience most "could not read your accounts from metamask try unlocking it" cases are fixed by reconnecting the site and unlocking — that’s the majority of connection failures.
"error connecting metamask" — generic connection failures
Symptoms: Nothing happens when you click Connect, or the page shows a persistent connection spinner.
Common causes and fixes:
- Browser extension disabled or blocked by privacy extensions: enable extension and retry.
- Mismatched browser profile (extension installed in one profile, site open in another): switch profiles.
- dApp-side errors (CORS, provider logic): try connecting to another trusted dApp to isolate the issue.
If you’re using a hardware wallet, make sure the device is unlocked and its Ethereum app is open (see ledger-with-metamask-guide).
"error connecting to the custom network metamask" — custom RPC failures
When adding an RPC you may see this if the RPC URL, Chain ID, or network parameters are wrong.
Checklist for custom networks:
- Verify RPC URL responds (HTTP 200 / no 4xx/5xx). If the provider rate-limits you, switch to a backup RPC.
- Confirm Chain ID matches the RPC (hex vs decimal mismatch is a frequent source of errors).
- Ensure the network uses the same native token symbol as configured.
If you need a deeper walkthrough, see custom-rpc-network-settings and developer-rpc-and-node-guide.
But if everything looks correct and the dApp still fails, try a public RPC or your own node to rule out provider-side throttling.
"error metamask message signature: error: not supported on this device" — signature problems
This exact message often appears when the requested signature method isn’t supported by the current account type or device (for instance, certain hardware wallet flows or mobile environments).
How to troubleshoot:
- Check account type: hardware, imported private key, smart-contract account (ERC-1271) — some methods are not supported by smart-contract wallets.
- Try signing the same message from the desktop extension (if you’re on mobile) or vice versa.
- Use WalletConnect as a fallback and check if the dApp requests personal_sign vs eth_signTypedData_v4.
- Update MetaMask and the connected device firmware (where applicable).
If a hardware wallet is involved, consult connect-hardware-to-metamask-mobile for pairing and known limitations.
Mobile-specific: debug metamask mobile (practical steps)
If you need to debug MetaMask on iOS/Android, follow these pragmatic steps:
- Update the app from the official store and reboot the device.
- Force-quit the app and re-open. For Android, clearing the app cache can help (OS settings).
- Reproduce the error, take screenshots, and copy the exact error text.
- If a dApp deep link fails, try opening the dApp in MetaMask's in-app browser (if available) or use WalletConnect. See walletconnect-guide and metamask-mobile-ios-android.
For developer debugging, use remote debugging tools and check the page console (if the dApp supports it). Sending logs to support (if you open a ticket) speeds resolution.
And yes — reinstalling the app can fix corrupted state, but only after you have a confirmed backup of your seed phrase. See reset-delete-and-reinstall.
Transaction and signature problems (pending txs, reset, speed-up)
Stuck transactions or nonce errors are common. Here’s a data-driven, safest-first approach:
- Use MetaMask’s "Speed up" feature to resend the same transaction with a higher priority fee (EIP-1559 priority fees apply on supported networks). See gas-fees-eip1559-l2.
- If Speed up is unavailable, submit a replacement transaction with the same nonce and higher gas (send 0 ETH to your own address with the same nonce).
- If you just want to clear the UI (not the chain): Settings → Advanced → Reset account. This clears local pending tx history but does not change on-chain state. See pending-transaction-troubleshooting.
What I’ve found: resetting the account fixes the UI quickly, but it doesn’t cancel on-chain transactions — choose the method that matches your goal.
Deleting MetaMask account — what actually happens and safe workflows
Term clarification: "deleting metamask account" can mean different actions. Here are the practical differences:
- Removing an imported account from the UI deletes only the local mapping. The funds remain on-chain. You can re-import with the private key.
- There is no way to "delete" an account that is deterministically derived from your seed phrase other than wiping the whole extension/app or removing the seed by resetting. That removes local access but not on-chain assets.
Safe delete workflow (if you intend to reinstall or hand device off):
- Confirm seed phrase backup (seed-phrase-backup-recovery).
- Export private keys for any imported accounts (export-private-keys-and-loose-accounts).
- Unlink connected sites and revoke approvals as needed (token-allowances-and-revoke).
- Uninstall or reset via reset-delete-and-reinstall. You can restore later with your seed phrase.
But if an attacker has your seed phrase, deleting the app will not protect funds. Move funds immediately to a new wallet whose seed phrase is secure.
Quick diagnostic table: error → likely cause → fastest fix
| Error message (or symptom) |
Likely cause |
Fastest fix |
| "could not read your accounts..." |
Wallet locked or site not connected |
Unlock wallet, remove & reconnect site |
| "error connecting metamask" |
Extension blocked / profile mismatch / dApp error |
Enable extension, try different browser profile |
| Custom network errors |
Bad RPC / chainId mismatch |
Verify RPC, correct chain ID (custom-rpc-network-settings) |
| Signature not supported |
Account type or device limitation |
Use desktop/hardware flow or WalletConnect |

When to escalate and advanced debugging
If the error persists after the fast fixes:
- Capture console logs and network traces (developer tools) and compare RPC responses (status codes, JSON-RPC error codes).
- Try an alternate RPC or run your own node (see developer-rpc-and-node-guide).
- If hardware-related, consult the hardware integration guide (ledger-with-metamask-guide).
- Open a support ticket and include screenshots, console logs, and steps to reproduce (support-contact).
FAQ (short answers to real questions)
Q: Is it safe to keep crypto in a hot wallet?
A: Hot wallets are designed for daily use. They trade convenience for increased exposure to phishing and device compromise. I use a hot software wallet for small, active balances and a hardware wallet for long-term holdings.
Q: How do I revoke token approvals?
A: Use the in-wallet approvals page or a revoke tool. See token-allowances-and-revoke for step-by-step instructions.
Q: What happens if I lose my phone?
A: If you have your seed phrase, restore on a new device. If you don’t, access is lost. That’s why backing up your seed phrase is non-negotiable. See seed-phrase-backup-recovery.
Q: How do I debug MetaMask mobile?
A: Update the app, reproduce the issue in the in-app browser, capture screenshots, and try WalletConnect. See metamask-mobile-ios-android and walletconnect-guide.
Conclusion & next steps
Most MetaMask errors are resolvable with a short checklist: confirm seed backups, unlock and reconnect, verify RPC settings, and update the app. If that doesn’t fix it, collect logs and escalate with the details (screenshots, console output, RPC responses). What I’ve found is that small fixes — reconnecting the site or switching RPC — solve a large share of issues.
Ready to repair a specific problem? Start with the relevant how-to: reset-delete-and-reinstall for app-level issues or custom-rpc-network-settings for network errors. If you want a guided setup first, see install-metamask-chrome-extension or metamask-mobile-ios-android.
If you need help with a stuck transaction or suspect a compromise, check pending-transaction-troubleshooting and compromised-wallet-what-to-do next.
But if you prefer, gather the error text and logs and contact support — detailed data gets things fixed faster. Good luck, and be careful with approvals and seed phrases.