RPC method

eth_chainId on Immutable zkEVM

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_chainId on Immutable zkEVM through the same endpoint customers use, and is re-measured weekly.

What eth_chainId does

Returns the chain ID (EIP-155) as a hex string. Wallets and libraries check it before signing, and the signature commits to it, so a transaction signed for one chain cannot be replayed on another.

Immutable zkEVM chain ID, as measured

net_version returns the same number as decimal text. Older tools read net_version; use eth_chainId, which is the value signatures commit to.

We sent Immutable zkEVM a legacy transaction signed without a chain ID (pre-EIP-155). Its nodes refused it: "only replay-protected (EIP-155) transactions allowed over RPC". Sign with chain ID 13371; every mainstream library does this by default.

eth_chainId0x343b (13,371)
net_version13371

Example request

curl -s https://rpc.swiftnodes.io/rpc/immutable-zkevm?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
// Check you are on Immutable zkEVM before signing
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/immutable-zkevm?key=YOUR_API_KEY"),
});

const id = await client.getChainId(); // 13371
if (id !== 13371) throw new Error(`wrong chain: ${id}`);

// Add Immutable zkEVM to a browser wallet
await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0x343b",
    chainName: "Immutable zkEVM",
    nativeCurrency: { name: "IMX", symbol: "IMX", decimals: 18 },
    rpcUrls: ["https://rpc.swiftnodes.io/rpc/immutable-zkevm?key=YOUR_API_KEY"],
  }],
});

Other methods on Immutable zkEVM

eth_chainId on other chains

Frequently asked questions

Does Immutable zkEVM support eth_chainId?

Yes. eth_chainId answered on the SwiftNodes Immutable zkEVM endpoint when our weekly probe called it through the customer path (2026-10-13).

What is the Immutable zkEVM chain ID?

13371 in decimal, 0x343b in hex, as returned by eth_chainId on 2026-10-13.

How do I add Immutable zkEVM to MetaMask?

Call wallet_addEthereumChain with chainId 0x343b, the native currency IMX with 18 decimals, and your RPC URL; the example on this page has the full object.

Immutable zkEVM endpoints, live block height and WebSocket status are on the Immutable zkEVM RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.