MetaMask / MetaMask/metamask-extension

[Bug]: Token balance not updating / incorrect display (BSC custom token)

Open
#39,896 5 comments 0 reactions 0 assignees View on GitHub
external-contributor regression-prod-13.14.2 Sev2-normal team-assets type-bug
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### Describe the bug

1 : Description :
MetaMask shows incorrect or zero balance for a custom BEP-20 token on BNB Smart Chain, while the correct balance is visible on BscScan and usable in transactions.

2 : Environment :
MetaMask Extension (Firefox)
Network: BNB Smart Chain
Custom token imported manually
Multiple RPC endpoints configured
Wallet restored previously
Multiple browser profiles used

3 : Steps to reproduce :
Import custom BEP-20 token
Receive tokens
Refresh wallet / reimport token
Balance displayed remains incorrect

4 : Expected result :
Token balance matches on-chain value.

5 : Actual result :
Balance partially updated
Balance frozen
Balance displayed as zero
Token usable in swaps/transfers despite incorrect display

6 : Evidence :
(Screenshots attached showing discrepancy between MetaMask and BscScan)

- https://imgur.com/a/2psGBGk
- https://imgur.com/a/hohwIgz

7 : Additional notes :
Issue reproduced across multiple wallets and persisted after:
Token reimport
RPC change
Activity reset
Browser cache clearing
Extension restart

### Expected behavior

The token balance displayed in MetaMask should accurately reflect the on-chain balance shown on BscScan and update correctly after transactions, refresh, or token re-import.

### Screenshots/Recordings

Image

Image

### Steps to reproduce

1. Install MetaMask browser extension on Firefox.

2. Add BNB Smart Chain network (default or custom RPC).

3. Import or restore a wallet.

4. Manually import a custom BEP-20 token using its contract address.

5. Receive tokens via transfer or swap (PancakeSwap).

6. Refresh MetaMask or restart browser.

7. Observe displayed token balance.

8. Compare with on-chain balance via BscScan.

9. Attempt to send or swap tokens (they remain usable despite incorrect display).

### Error messages or log output

```shell
MetaMask browser extension (Firefox desktop)

Location:
Assets tab → Token list → Custom BEP-20 token balance display

The incorrect balance appears in the wallet UI while the correct balance is visible on-chain (BscScan) and usable in transactions/swaps.
```

### Where was this bug found?

Live version (from official store)

### Version

MetaMask Extension Live Version: 13.14.2

### Build type

None

### Browser

Firefox

### Operating system

Windows

### Hardware wallet

_No response_

### Additional context

The issue was reproduced across multiple wallets and browser profiles.

Observed behaviors include :
- Token balance displayed as zero despite on-chain balance
- Balance partially updated or frozen
- Re-importing token does not refresh balance
- Changing RPC endpoints does not resolve issue
- Resetting account activity does not resolve issue
- Browser cache clearing and restart does not resolve issue

The token remains fully usable for transfers and swaps, confirming that the problem appears to be UI/indexing related rather than blockchain state related.

This behavior is highly confusing for users managing multiple wallets and funds, and could lead to incorrect financial decisions due to inaccurate balance display.

### Severity

_No response_

Contributor guide

Open the contributing guide

Research direction

No source file or test is identified. Start by reproducing the issue in the Firefox extension's Assets tab with the custom BEP-20 token, then compare the displayed balance with BscScan while testing refresh, re-import, RPC changes, and transfers. Done means the wallet display matches the on-chain balance and updates after those actions.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, typescript
Domain
blockchain, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.