Skip to content

[Bug]: Native IMX balance not recognized for gas on Immutable zkEVM (chainId 13371) #43352

@ermyas

Description

@ermyas

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:

  1. The browser console logs failed to load balance for token at 0x0 - i.e. the native-asset balance (zero address) fails to load.
  2. 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

  1. Connect MetaMask to Immutable zkEVM mainnet (chainId 13371, RPC https://rpc.immutable.com, native currency IMX, 18 decimals).
  2. Use an account that holds native IMX (verifiable at https://explorer.immutable.com).
  3. Attempt any transaction that requires gas (send / contract interaction).
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Sev2-normalNormal severity; minor loss of service or inconvenience.external-contributorregression-prod-13.33.0Regression bug that was found in production in release 13.33.0team-confirmationsPush issues to confirmations teamtype-bugSomething isn't working

    Type

    No fields configured for Bug.

    Projects

    Status
    To be triaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions