Describe the bug
On Monad mainnet (chainId 143), transactions to the native staking precompile 0x0000000000000000000000000000000000001000 show the recipient as "BSC: Validator Set" in the confirmation screen.
That name belongs to the BNB Smart Chain system contract at the same address. The label seems to be applied without checking the chain, which is alarming for users: they think they're sending to a BSC contract, even though the Network row correctly says "Monad".
Expected behavior
Address names should be chain-specific. On chain 143 this address should be unlabeled, or shown as "Monad: Staking" (the Monad staking precompile, docs: https://docs.monad.xyz/developer-essentials/staking/staking-precompile).
Screenshots/Recordings
Confirmation screen shows: Sending 0 MON · To: BSC: Validator Set · Network: Monad. I'll attach a screenshot in a comment.
Steps to reproduce
- Add Monad mainnet (chainId 143) and switch to it.
- On any dApp, submit a call to
0x0000000000000000000000000000000000001000, e.g. compound(uint64) (selector 0xb34fea67).
- The confirmation shows "To: BSC: Validator Set" while "Network: Monad".
Example tx: https://monadscan.com/tx/0xb16a91fc926576aa3e7095ac87c32fb83bf1c0509f7724aff9f617368c04bd09
Error messages or log output
None — the transaction succeeds; only the recipient label is wrong.
Where was this bug found?
Live version (from official store)
Version
Latest from the store (exact version to follow in a comment)
Browser
Desktop browser on Windows 11 (details to follow in a comment)
Additional context
Every chain that exposes a precompile or system contract at a low address (0x…1000 etc.) can hit the same collision, so a per-chain lookup would fix the whole class of issues.
Describe the bug
On Monad mainnet (chainId 143), transactions to the native staking precompile
0x0000000000000000000000000000000000001000show the recipient as "BSC: Validator Set" in the confirmation screen.That name belongs to the BNB Smart Chain system contract at the same address. The label seems to be applied without checking the chain, which is alarming for users: they think they're sending to a BSC contract, even though the Network row correctly says "Monad".
Expected behavior
Address names should be chain-specific. On chain 143 this address should be unlabeled, or shown as "Monad: Staking" (the Monad staking precompile, docs: https://docs.monad.xyz/developer-essentials/staking/staking-precompile).
Screenshots/Recordings
Confirmation screen shows:
Sending 0 MON·To: BSC: Validator Set·Network: Monad. I'll attach a screenshot in a comment.Steps to reproduce
0x0000000000000000000000000000000000001000, e.g.compound(uint64)(selector0xb34fea67).Example tx: https://monadscan.com/tx/0xb16a91fc926576aa3e7095ac87c32fb83bf1c0509f7724aff9f617368c04bd09
Error messages or log output
None — the transaction succeeds; only the recipient label is wrong.
Where was this bug found?
Live version (from official store)
Version
Latest from the store (exact version to follow in a comment)
Browser
Desktop browser on Windows 11 (details to follow in a comment)
Additional context
Every chain that exposes a precompile or system contract at a low address (0x…1000 etc.) can hit the same collision, so a per-chain lookup would fix the whole class of issues.