eth_chainId - Immutable RPC Method
Get the chain ID for Immutable. Essential for transaction signing and network verification.
Returns the chain ID used for transaction signing on Immutable.
Why Immutable? Build on the gaming-optimized zkEVM with 660+ games, 5.5M+ Passport signups, and $40M TVL with first EVM chain with enforceable royalties, Polygon zkEVM technology, $2B+ ecosystem funding, and Agglayer cross-chain liquidity.
Use Cases
The eth_chainId method is essential for:
- Transaction signing - Ensure transactions are signed for the correct network
- Network verification - Confirm connection to the expected chain
- Multi-chain apps - Handle different networks programmatically
- Wallet integration - Validate network before transactions
Request Parameters
This method accepts no parameters.
Response Body
Chain ID in hexadecimal
Code Examples
curl -X POST https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": [],
"id": 1
}'import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY');
const network = await provider.getNetwork();
console.log('Chain ID:', network.chainId);
// Verify network before transaction
async function verifyNetwork(expectedChainId) {
const network = await provider.getNetwork();
if (network.chainId !== BigInt(expectedChainId)) {
throw new Error(`Wrong network. Expected ${expectedChainId}, got ${network.chainId}`);
}
return true;
}from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY'))
chain_id = w3.eth.chain_id
print(f'Chain ID: {chain_id}')
# Verify network
def verify_network(expected_chain_id):
chain_id = w3.eth.chain_id
if chain_id != expected_chain_id:
raise ValueError(f'Wrong network. Expected {expected_chain_id}, got {chain_id}')
return Truepackage main
import (
"context"
"fmt"
"log"
"github.com/ethereum/go-ethereum/ethclient"
)
func main() {
client, err := ethclient.Dial("https://api-immutable-zkevm-mainnet.n.dwellir.com/YOUR_API_KEY")
if err != nil {
log.Fatal(err)
}
chainID, err := client.ChainID(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("Chain ID: %d\n", chainID)
}Related Methods
net_version- Get network versioneth_syncing- Check sync status