MetaMask / MetaMask/metamask-extension
[Bug]:
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### Describe the bug
Title: ETH balance in extension UI not updating after confirmed on-chain transactions (Sepolia)
Description:
The balance displayed in the MetaMask extension UI does not reflect the actual on-chain balance for my account on Sepolia testnet, even after multiple confirmed transactions and manual cache-clearing attempts.
Steps to reproduce:
Connect wallet to a local dApp interacting with a smart contract on Sepolia.
Send a transaction (e.g. funding a contract with ETH).
Confirm the transaction is mined and successful (verified via console logs and Etherscan).
Check the ETH balance shown in the MetaMask extension UI.
Expected behavior:
MetaMask UI balance should reflect the new on-chain balance after a confirmed transaction.
Actual behavior:
MetaMask UI continues to display a stale balance that does not match the balance shown on Etherscan for the same address, even after:
Toggling "Show test networks" off/on
Clearing activity and nonce data (Settings → Advanced)
Confirming the correct network (Sepolia) is selected
Environment:
Network: Sepolia
Wallet address: 0x41dbdBBB116C5eFb9c0290b9A4A61502361b5bB9
Etherscan balance (ground truth): (insert current Etherscan balance here)
MetaMask displayed balance: (insert current MetaMask balance here)
Browser: (insert your browser + version)
MetaMask version: (Settings → About → version number)
Relevant tx hashes:
0x9b966cd6a79a1b9e165e464b6a8OO9ac7b2f933...
0x0ca66750bfe21410c7a1ca02847087f9e52ff998356adac1e9e2dd069b8846f0
0x16d87deed1e91bbbd266456714ebb1536c095003ce38c34860804f42ea261109
Additional notes:
On-chain transaction history and balance confirmed correct via Etherscan; discrepancy appears isolated to the extension's cached UI state.
contact email: icmelvin134@gmail.com
### Expected behavior
_No response_
### Screenshots/Recordings
_No response_
### Steps to reproduce
On Sepolia testnet, connect a MetaMask account to a local dApp that interacts with a deployed smart contract.
Trigger a transaction from the dApp (e.g. sending ETH to fund a contract, or withdrawing ETH from it) and confirm it in MetaMask.
Wait for the transaction to be mined (verified via console logs showing a receipt/confirmation, and independently via Etherscan).
Check the account's ETH balance in the MetaMask extension UI.
Compare that balance against the same address on Sepolia Etherscan (https://sepolia.etherscan.io/address/).
Attempt to force a refresh: toggle "Show test networks" off/on, use "Clear activity and nonce data" (Settings → Advanced), confirm Sepolia is the actively selected network, and restart the browser entirely (not just the extension popup).
Recheck the MetaMask balance after each step above.
Result: Balance in MetaMask still does not match Etherscan's value even after all refresh attempts.
### Error messages or log output
```shell
```
### Where was this bug found?
Live version (from official store)
### Version
MetaMask Version 13.40.0
### Build type
None
### Browser
Chrome
### Operating system
Linux
### Hardware wallet
_No response_
### Additional context
_No response_
### Severity
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the extension UI balance refresh path for a confirmed Sepolia transaction, using the reproduction steps and the transaction hashes against Etherscan. The report does not name a source file or test and leaves the observed balances, browser version, and one transaction hash incomplete; done should mean the displayed balance matches the confirmed on-chain balance after the listed refresh attempts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100