Disconnecting a WalletConnect session ends that connection between the app and wallet; it does not automatically remove a token-spending approval already recorded onchain. Check the wallet's active connections to verify the first change and the relevant token permission to verify the second. An empty session list is evidence about sessions, not a certificate that every form of authority over the account has been removed.
Write down which connection you intend to end
Start inside the wallet you used, with the relevant account selected. Identify the app's domain, the accounts shared with it and any associated networks. Two entries with similar project names can represent different sites, while one app can have more than one connection. A Disconnect button on a web page is useful feedback, but the wallet's own connection list is the better place to check what remains active.
WalletConnect's session lifecycle documentation describes a session deletion that notifies the other peer. That is a connection-management action. It is not an ERC-20 instruction to change a token allowance. Wallet applications expose this lifecycle through their own menus, so there is no single universal sequence of taps for every WalletConnect-compatible wallet.
Keep two completion records instead of one
| Question | Where the answer lives | Evidence of completion | What it leaves unresolved |
|---|---|---|---|
| Can this session still request wallet actions? | Wallet connection/session management | The intended session is no longer active | Previously granted onchain permissions |
| Can this spender still use a token allowance? | The token's allowance state on the relevant chain | The identified allowance was reduced or cleared successfully | Other tokens, accounts and permission types |
| Did an unwanted transfer already execute? | Transaction history and current balances | A confirmed execution record | Whether any cleanup can prevent future actions |
| Does another person possess the account key? | How wallet secrets were handled | An exposure assessment and protection of remaining assets | Session deletion alone cannot replace a compromised key |
This separation avoids a common false conclusion: 'I disconnected, so the approval checker must be wrong.' Both interfaces can be correct. The wallet reports that a communication session ended, while the chain still records an earlier authorization. The ERC-20 specification defines approval and remaining allowance as token-contract state, independently of whether the original website is open.
Work through a fictional disconnection record
Suppose account A connected to an app yesterday and approved spender S for 40 units of token T on network N. Today you remove the app from the wallet's connections. The session entry disappears, but an allowance lookup still reports 40. This is not proof that the disconnect failed. You changed the session record and have not yet changed the token's permission state.
If you then successfully clear the allowance for A, T and S on N, retain that confirmation as a separate result. It does not describe a different account B, a similar-looking token or another chain. Nor does it tell you whether any of the 40 units were spent earlier. Compare the relevant transaction history when investigating an actual loss; do not label an allowance cleanup a refund.
- Identify the app origin and account in the wallet's connection list.
- End the intended session using the wallet's documented controls.
- Reopen the list and verify that this connection is no longer active.
- Separately inspect relevant existing token permissions for the same account and network.
- If a permission should be removed, use a verified management route and confirm the resulting state change.
- Record any unexplained past transfers separately; neither cleanup result proves that funds were returned.
Why a revocation can need a fee when disconnecting does not
Ordinary session deletion does not change the token contract. A conventional ERC-20 allowance update does, so it requires an onchain transaction and the applicable network fee. The Ethereum revocation guide treats these as different operations. A wallet showing a transaction for an actual allowance change is therefore not inherently contradictory to a previous fee-free disconnection.
Read what the proposed action changes rather than trusting a button named Revoke. Confirm the network, affected token, spender and intended new authority. For the full procedure, use our existing token approval removal guide. An unfamiliar site claiming you must pay it a separate activation deposit to complete a session disconnect requires independent verification; the label on a payment request does not establish what it does.
If the site still shows an address after you disconnect
A page can retain an address it already learned, and a public address's history remains publicly readable. Do not use the disappearance of a balance figure as the only test of session termination. Close the page if necessary, then inspect active connections in the wallet. Previously shared information and the current ability to submit requests through that particular session are different matters.
If the wallet still lists an active connection, check whether you removed a different account's entry or only used the website's local button. Record the exact domain and remaining entry before contacting the wallet's official support. Avoid reconnecting repeatedly just to see whether the same balance returns. That may create a new session and make it harder to distinguish the old connection from your latest test.
Do not let a session checklist hide a different compromise
The two-record method is useful for ordinary connections and token allowances. It is not a complete response to a leaked recovery phrase, malicious account delegation or every possible signed authorization. If you entered secrets into a page, describe that exposure explicitly rather than reporting only that you once connected. If you signed something you cannot identify, preserve the request details for investigation instead of assuming disconnection cancelled it. The wallet signature phishing explainer helps distinguish a connection request from an authorization you may already have signed.
A sensible finish is a short evidence note: which session ended, which permissions were checked, and which questions remain open. MetaMask's disconnect guidance explicitly warns that disconnecting does not revoke existing approvals. For a later no-account swap, read the actual order instructions independently; completing an unrelated swap is not evidence that an earlier wallet connection has been cleaned up.
FAQ
How do I disconnect a wallet from an app?
Use the wallet's connection or session controls and identify the intended app and account. Afterwards verify the active-session list rather than relying only on the site's button.
Does disconnecting revoke a token approval?
It does not automatically clear an existing onchain allowance. Session state and token permission state need separate checks.
Does revoking an approval in MetaMask remove every kind of access?
A successful revocation concerns the permission changed by that operation. Other accounts, networks, signed authorizations or exposed keys can require a different response.