Describe the bug
On Immutable zkEVM mainnet (chainId 13371), MM users are currently unable to submit transactions. MetaMask reports "You do not have enough IMX in your account to pay for network fees" and blocks the confirmation button, even though the account holds sufficient native IMX to cover gas.
Observed errors alongside the blocked transaction:
- The browser console logs
failed to load balance for token at 0x0 - i.e. the native-asset balance (zero address) fails to load.
- On the confirmation screen, the transaction
to is the zero address (0x0) with calldata, triggering the warning "You're sending call data to an address that isn't a contract…" (Network: Immutable zkEVM, Address: 0x0).
The two observations above look like symptoms of the same underlying issue - the native-asset placeholder (0x0) being treated as a real token/contract rather than resolved to native IMX.
Expected behavior
MetaMask resolves the native-asset placeholder (0x0) to the real native IMX on chain 13371: it does not set the transaction to field to 0x0, it reads the native balance via eth_getBalance, estimates gas correctly, and allows the transaction when the account holds enough IMX to cover fees.
Screenshots/Recordings
No response
Steps to reproduce
- Connect MetaMask to Immutable zkEVM mainnet (chainId 13371, RPC
https://rpc.immutable.com, native currency IMX, 18 decimals).
- Use an account that holds native IMX (verifiable at https://explorer.immutable.com).
- Attempt any transaction that requires gas (send / contract interaction).
- MetaMask shows "insufficient funds for gas" and the confirm button is blocked; console logs
failed to load balance for token at 0x0000…0000.
Error messages or log output
Confirmation-screen warnings:
You're sending call data to an address that isn't a contract. This could cause you
to lose funds. Make sure you're using the correct address and network before continuing.
Network: Immutable zkEVM
Address: 0x0000...0000
You do not have enough IMX in your account to pay for network fees.
Browser console:
failed to load balance for token at 0x0000000000000000000000000000000000000000
Where was this bug found?
Live version (from official store)
Version
13.33.0
Build type
None
Browser
Chrome
Operating system
MacOS
Hardware wallet
No response
Additional context
No response
Severity
Currently preventing MM users from submitting transactions on Immutable zkEVM
Describe the bug
On Immutable zkEVM mainnet (chainId 13371), MM users are currently unable to submit transactions. MetaMask reports "You do not have enough IMX in your account to pay for network fees" and blocks the confirmation button, even though the account holds sufficient native IMX to cover gas.
Observed errors alongside the blocked transaction:
failed to load balance for token at 0x0- i.e. the native-asset balance (zero address) fails to load.tois the zero address (0x0) with calldata, triggering the warning "You're sending call data to an address that isn't a contract…" (Network: Immutable zkEVM, Address:0x0).The two observations above look like symptoms of the same underlying issue - the native-asset placeholder (
0x0) being treated as a real token/contract rather than resolved to native IMX.Expected behavior
MetaMask resolves the native-asset placeholder (
0x0) to the real native IMX on chain 13371: it does not set the transactiontofield to0x0, it reads the native balance viaeth_getBalance, estimates gas correctly, and allows the transaction when the account holds enough IMX to cover fees.Screenshots/Recordings
No response
Steps to reproduce
https://rpc.immutable.com, native currency IMX, 18 decimals).failed to load balance for token at 0x0000…0000.Error messages or log output
Where was this bug found?
Live version (from official store)
Version
13.33.0
Build type
None
Browser
Chrome
Operating system
MacOS
Hardware wallet
No response
Additional context
No response
Severity
Currently preventing MM users from submitting transactions on Immutable zkEVM