Key Takeaways
- A stuck wallet connection is usually one of four separate problems: a browser or app display issue, a stale session record, a pending transaction blocking the queue, or a live on-chain approval. Each one has a different fix.
- Disconnecting a wallet from an app is not the same as revoking a token approval. Disconnecting removes access to your account view. Revoking is a separate on-chain transaction that removes permission to move your tokens.
- Work from the least invasive step to the most invasive one. No legitimate fix ever requires your recovery phrase, and no support agent needs it either.
What a stuck wallet connection actually means
People use the phrase "stuck wallet connection" for very different situations. Before clicking anything, work out which layer is actually broken. That single step saves most of the frustration. There are four common layers.
| Layer | What you see | Common cause | Where the fix lives |
|---|---|---|---|
| Display | App says "connected" but shows no balance, or Connect does nothing | Wrong network, locked wallet, browser cache, or two wallet extensions competing | Browser and app settings |
| Session | QR fails, connection loops, or an account you removed keeps returning | A stale session record held by one side only | Wallet session list |
| Transaction | Connected, but new actions will not submit | A pending transaction is holding the account nonce | Wallet activity settings |
| Permission | Disconnected, but the app can still move tokens | An earlier token approval is still live on-chain | An approval or revoke tool |
Only the last layer is a real security issue. The first three are housekeeping.
Three safety rules before you troubleshoot
Wallet problems are a favorite hunting ground for scammers, because a frustrated user will click almost anything.
Nobody needs your recovery phrase. No connection fault, sync error, or "wallet validation" process requires your twelve or twenty four words. Any site or support agent asking for them is trying to steal your funds.
Treat a pairing link as a password. A WalletConnect pairing URI, usually starting with wc:, is secret while it is still usable. Paste it only into your own wallet, never into a chat, a form, or an AI assistant prompt.
Start from official help pages, not search ads. Reach support through the link inside your wallet app. Paid search results and social replies offering wallet support are a known phishing route.
Step by step: work from lightest to heaviest
Step 1: Confirm the connection is really broken
Check the basics. Is the wallet unlocked, on the right account, and on the network the app expects? Is a second wallet extension intercepting the connection? Reload the page once, then move on.
Step 2: Disconnect from the app side
Most apps have a wallet button in the top corner with a Disconnect option. Use it, then reload the page. This clears the app's own record of the session, a frequent cause of "connected but not really" behavior.
Step 3: Disconnect from the wallet side
Clearing one side does not always clear the other, so do both. Menus change between versions, so treat these paths as a guide.
| Wallet | Typical path |
|---|---|
| MetaMask Extension | Account view, menu in the top right, then Dapp connections, select the app, then Disconnect |
| MetaMask Mobile | Open the site in the Explore tab, tap the account icon, then Disconnect all |
| MetaMask, all apps at once | Settings, Security and Privacy, then Clear privacy data, which removes dapp connections and permissions for the selected account |
| Phantom | Settings, then Connected Apps, then remove the entry |
| Trust Wallet | Settings, then WalletConnect, then review and remove active connections |
Step 4: Clear stale sessions in bulk
If an app keeps failing, disconnect every active session in your wallet, close the tab completely, reopen it, and connect again from scratch. Wallet support teams recommend this because stale sessions are the most common cause of connection failures.
Step 5: Clear the browser layer
Clear the browser cache for the site, or open the app in a private window to force a clean session. On mobile, if tapping Connect does not open your wallet, copy the pairing link and paste it in manually. Mobile browsers increasingly block automatic app launches.
Step 6: Restart and update
Fully close the wallet app rather than backgrounding it, then reopen and update it. Some wallets drop every live session on restart or update, which resolves the problem by itself.
Step 7: Handle a pending transaction
If the wallet connects but nothing new will submit, a pending transaction is probably holding your account nonce. The nonce numbers each transaction from your address in order, so if number five never confirms, number six cannot go through.
Options, in order of preference:
- Speed up. Resubmit the same transaction with a higher fee. It reuses the nonce, so you pay one larger fee rather than two.
- Cancel. Replace it with an empty transaction at the same nonce. This still costs a fee.
- Clear local activity data. In MetaMask: Settings, Advanced, then Clear activity tab data. It resets the cached nonce and local history so the wallet resyncs from the network.
Two notes on the third option. Funds and keys are not affected, and it does not remove a transaction that already reached the network. It only clears local data, so it helps when wallet and network disagree. You may need to re-add custom tokens afterwards.
Step 8: Check what is still approved on-chain
This is the step most people skip, and the one that matters for security. Use an approval checker such as Revoke.cash, or the approval tool on the relevant block explorer, to list what your address has authorized. On Solana, wallets point users to community revoke tools for token delegates. Revoke anything you no longer recognize or use.
Disconnecting is not revoking
This is the most useful distinction a beginner can learn here.
| Disconnecting | Revoking an approval | |
|---|---|---|
| What it removes | The app's ability to see your address, balances, and activity, and to prompt you | A smart contract's standing permission to move a specific token |
| Where it happens | Locally, inside your wallet or the app | On-chain, as a transaction |
| Cost | Free | A network fee in the chain's native token |
| Lifespan if ignored | Sessions usually expire | Approvals stay active indefinitely until revoked |
| Does a hardware wallet help | Not relevant | No, because a signed approval is valid wherever the key lives |
The practical consequence: an app you disconnected months ago can still move approved tokens if it is later compromised. Wallets have been drained through approvals granted years earlier.
Some approvals are granted by signature rather than by transaction. Permit and Permit2 style approvals are signed off-chain, cost nothing at signing time, and often carry an expiry. They do not appear in a connected sites list, so check them in an approval tool that supports them.
How sessions expire on their own
Modern session protocols include time limits, so a forgotten connection does not linger forever.
| Item | Typical default |
|---|---|
| WalletConnect session lifetime | 7 days, extendable |
| Active pairing between a wallet and app | 30 days |
| Inactive pairing waiting for a scan | About 5 minutes |
| A single signing request | 5 minutes, up to 7 days if the app sets a longer window |
Expiry limits help, but they are not a security policy. Approvals do not follow the same schedule, and many never expire.
When to stop troubleshooting and start protecting funds
Switch from fixing to defending if you see unexpected outgoing transactions, tokens you never bought, an approval you do not remember signing, or a signature you approved on a site you cannot verify.
The order then is: revoke suspicious approvals, move remaining assets to a new wallet created on a clean device, and unwind staked or deposited positions carefully. Do not swap or send unknown tokens that arrived on their own, and never import a recovery phrase into a tool promising recovery.
Quick checklist
- Unlock the wallet, confirm the account and the network.
- Disconnect from the app, then reload.
- Disconnect the same app inside the wallet.
- Clear all sessions, then reconnect from scratch.
- Clear cache or use a private window.
- Restart and update the wallet.
- Speed up, cancel, or clear local activity data for a stuck transaction.
- Review and revoke on-chain approvals.
- Never share a recovery phrase or a pairing link.
FAQ
Does disconnecting a wallet remove the app's access to my tokens? No. Disconnecting removes the app's view of your account and its ability to prompt you. Any token approval you previously granted stays active on-chain until you revoke it in a separate transaction.
Is clearing activity or resetting an account risky? It clears locally stored transaction history and resets the cached nonce. Keys and balances are untouched, and the wallet resyncs from the network. You may need to re-add custom tokens or NFTs afterwards.
Why does an app still show my wallet as connected after I disconnected it? Each side keeps its own session record. Clearing one does not always clear the other. Disconnect in both places, then reload the page or restart the app.
Does revoking an approval cost money? Yes, on most networks. Revoking is an on-chain transaction, so it needs a network fee in the chain's native token. Batch revoke features may add a small service fee.
Can a hardware wallet protect me from a bad approval? No. A hardware wallet protects your private key from being stolen. An approval you signed is valid on its own, so an attacker does not need your key to use it. Reviewing approvals is still necessary.
Related terms
- Nonce. A sequential counter for transactions from a single address. A gap in the sequence stalls later transactions.
- Token approval. On-chain permission allowing a smart contract to move a set amount of a specific token from your address.
- Session. A time limited authorization record linking a wallet to an app, held by both sides.
- Pairing URI. The
wc:link or QR code used to establish a WalletConnect connection. Secret while it is usable. - Permit2. A signature based approval system that allows off-chain authorization with built in expiry, instead of a separate on-chain approval per app.
Sources
- MetaMask Help Center, How to disconnect a wallet from a dapp: https://support.metamask.io/more-web3/dapps/disconnect-wallet-from-a-dapp/
- Phantom Help Center, Disconnect your wallet from dApps and Revoke token approvals: https://help.phantom.com/hc/en-us/articles/19888567849107-How-to-Disconnect-your-Wallet-from-dApps
- WalletConnect documentation, wallet SDK best practices and session expiry: https://docs.walletconnect.network/wallet-sdk/web/best-practices
- Revoke.cash, Learn section and frequently asked questions: https://revoke.cash/learn/faq
- Flashbots documentation, Fixing stuck transactions: https://docs.flashbots.net/flashbots-protect/stuck_transactions
- Trust Wallet support, troubleshooting WalletConnect connection issues: https://support.trustwallet.com/support/solutions
More reading
- MetaMask Help Center, Manage dapp permissions: https://support.metamask.io/more-web3/dapps/manage-dapp-permissions
- Revoke.cash Learn, How to revoke token approvals and permissions: https://revoke.cash/learn/approvals/how-to-revoke-token-approvals
- WalletConnect documentation, Extended session requests and expiry limits: https://docs.walletconnect.network/custodians/extended-sessions
Disclaimer: This article is educational and does not constitute financial, legal, or security advice. Wallet menus and settings change between versions, so confirm exact steps in your wallet's official help documentation.
Not sure which problem you have?
Use the Fixing Crypto Mistakes hub to identify the transaction, wallet, network, or exchange issue before taking another action.
OPEN TROUBLESHOOTING HUB



