eth_chainId
curl --request POST \
--url https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}
'import requests
url = "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'eth_chainId', params: []})
};
fetch('https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_chainId',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Fantom node API
eth_chainId | Fantom
Fantom API method that returns the current chain ID. Chain ID is used to sign replay-protected transactions and verify whether a network is the desired one.
POST
/
4ab982aa70a7baead515ffdb5915df3f
eth_chainId
curl --request POST \
--url https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}
'import requests
url = "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_chainId",
"params": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({id: 1, jsonrpc: '2.0', method: 'eth_chainId', params: []})
};
fetch('https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_chainId',
'params' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://fantom-mainnet.core.chainstack.com/4ab982aa70a7baead515ffdb5915df3f")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_chainId\",\n \"params\": []\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Fantom API method that returns the current chain ID. Chain ID is used to sign replay-protected transactions and verify whether a network is the desired one. It was introduced in EIP-155.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
none
Response
quantity— EIP-155 Chain ID
Use the Chainstack EVM Knife to convert the Chain ID from Hexadecimal to Decimal.
eth_chainId code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const chainId = async () => {
// This will return the value in Hex
const chainId = await provider.send("eth_chainId");
console.log(`Hex Chain ID: ${chainId}`);
};
chainId();
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
print(web3.eth.chain_id)
Use case
One possible use case for theeth_chainId method is to determine which chain a user is connected to when using a DApp with the MetaMask browser extension. This can be useful to provide a customized user experience based on the specific chain that the user is interacting with.Last modified on June 25, 2026
Was this page helpful?