Ethereum chain ID, RPC URL and network config

Last updated:

Ethereum network identifiers

Ethereum mainnet identifiers
IdentifierValueSource
Chain ID1 (0x1)
eth_chainId returns the hex form.
EIP-155 (chain ID table)
Network ID1
Returned by net_version.
ethereum.org JSON-RPC API (net_version)
CAIP-2 IDeip155:1
The chain identifier multichain wallets and WalletConnect use.
CAIP-2 eip155 namespace
Currency symbolETHTriport chain registry

The chain ID is signed into every transaction (EIP-155); the network ID is what net_version reports. They are separate values that happen to match on most chains — see chain ID vs network ID and the chain ID glossary entry.

Ethereum RPC URLs

Ethereum mainnet RPC endpoints
Triport RPC URL (header auth)https://triport.io/eth
Triport RPC URL (keyed)https://triport.io/r/<API_KEY>/eth
Triport WebSocket URL (keyed)wss://triport.io/ws/eth/<API_KEY>
Required scopeeth:rpc
Triport keyless public URLhttps://triport.io/public/eth
10 req/s reads, 3 req/s transaction sends — one budget shared by every caller; no key, no WebSocket.
Network-run public RPCethereum.org lists no Ethereum-operated public RPC endpoint: its node-services page points to third-party providers or running your own node. ethereum.org: nodes as a service

Public-endpoint limits are as each operator publishes them, checked 23 September 2026.

Plans and per-category rate limits: pricing. Endpoint and plans: Ethereum RPC endpoint; method reference: Ethereum RPC API reference.

Add Ethereum to MetaMask, viem, Hardhat or Foundry

wallet_addEthereumChain (EIP-3085) requires only chainId, as a hex string — 0x1, not 1. The MetaMask block below also fills chainName, nativeCurrency (name, symbol, decimals) and rpcUrls, which a wallet uses to display and reach the network. A wallet cannot send the x-token header, so rpcUrls holds the keyed URL with your API key in the path — paste your key below; the placeholder URL answers 401 until you do.

Adds https://triport.io/public/eth with chain ID 0x1 through wallet_addEthereumChain (EIP-3085).

MetaMask

{
  "method": "wallet_addEthereumChain",
  "params": [{
    "chainId": "0x1",
    "chainName": "Ethereum",
    "nativeCurrency": { "name": "ETH", "symbol": "ETH", "decimals": 18 },
    "rpcUrls": ["https://triport.io/r/<API_KEY>/eth"]
  }]
}

viem

import { createPublicClient, defineChain, http } from "viem";

export const eth = defineChain({
  id: 1,
  name: "Ethereum",
  nativeCurrency: { name: "ETH", symbol: "ETH", decimals: 18 },
  rpcUrls: { default: { http: ["https://triport.io/r/<API_KEY>/eth"], webSocket: ["wss://triport.io/ws/eth/<API_KEY>"] } },
});

export const client = createPublicClient({ chain: eth, transport: http() });

ethers v6

import { JsonRpcProvider, Network } from "ethers";

const network = Network.from({ name: "eth", chainId: 1 });
export const provider = new JsonRpcProvider("https://triport.io/r/<API_KEY>/eth", network, { staticNetwork: network });

Hardhat

// hardhat.config.ts
export default {
  networks: {
    eth: { url: "https://triport.io/r/<API_KEY>/eth", chainId: 1 },
  },
};

Foundry

# foundry.toml
[rpc_endpoints]
eth = "https://triport.io/r/<API_KEY>/eth"

wagmi

import { createConfig, http } from "wagmi";
import { eth } from "./eth-chain";

export const config = createConfig({
  chains: [eth],
  transports: { [eth.id]: http("https://triport.io/r/<API_KEY>/eth") },
});

curl (header auth)

curl https://triport.io/eth \
  -H "x-token: <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

Keys in URLs vs headers

A keyed URL is the same credential as a header, in a less private place: it lands in shell history, CI logs and screenshots. Use it only where a header is impossible (wallets, hardhat.config, foundry.toml), send x-token from server code, and rotate a key that leaked.

Ethereum testnets

Ethereum testnets — official values, each with its source and check date
NetworkChain ID (dec / hex)Official RPCFaucetExplorerStatusSource
Sepolia11155111 / 0xaa36a7ethereum.org publishes no official Sepolia RPC URL; its networks page lists provider endpoints.faucets listed on ethereum.orgsepolia.etherscan.ioactiveethereum.org: networks · checked 2026-10-24
Hoodi560048 / 0x88bb0No official Hoodi RPC URL on ethereum.org.faucets listed on ethereum.org—activeethereum.org: networks · checked 2026-10-24

Sepolia: The recommended default testnet for application development (ethereum.org). Hoodi: For testing validating and staking, and protocol upgrades (ethereum.org). Triport serves mainnet only. These values are for switching your config; they are not Triport endpoints.

Deprecated and dead Ethereum endpoints

Old values that still circulate in tutorials and configs, and what replaced them
Old valueStatusWhat happens nowUse instead
Holešky (chain ID 17000)deadThe Ethereum Foundation announced on 1 September 2025 that validators shut down two weeks after Fusaka finalized on Holešky, after which no client, testing or infrastructure team supports it. Ethereum Foundation blog: Holešky shutdown (1 Sept 2025)Hoodi for staking and validator tests, Sepolia for applications.

Verify you are on Ethereum mainnet

Call eth_chainId first. It must return 0x1 — a client whose configured chain ID disagrees with the reply refuses to connect, which explains most failures when adding a network by hand.

curl https://triport.io/eth \
  -H "x-token: <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

Connected to a testnet by mistake? The same call answers 0xaa36a7 on Sepolia and 0x88bb0 on Hoodi.

Sources: the chain's own documentation and the CAIP-2 namespace specs cited in the tables above; EVM chain IDs come from Triport's chain registry and match them.

FAQ

What is the Ethereum chain ID?
1 in decimal, 0x1 in hex — eth_chainId returns the hex form. The CAIP-2 ID is eip155:1.
What is the Ethereum network ID?
net_version returns 1, the same number as the chain ID. Sign with the chain ID from eth_chainId: under EIP-155 the chain ID is part of the transaction signature, the network ID is not.
What is the Ethereum RPC URL?
On Triport: https://triport.io/eth with your API key in the x-token header, or https://triport.io/r/<API_KEY>/eth where a header is impossible (wallets, config files). WebSocket: wss://triport.io/ws/eth.
How do I add Ethereum to MetaMask?
Call wallet_addEthereumChain (EIP-3085) with chainId "0x1" — a hex string, not the decimal 1 — chainName "Ethereum", nativeCurrency ETH with 18 decimals, and your keyed RPC URL in rpcUrls. The MetaMask block on this page is the exact request.
Which Ethereum testnet should I use?
Sepolia (chain ID 11155111): The recommended default testnet for application development (ethereum.org). Hoodi (chain ID 560048): For testing validating and staking, and protocol upgrades (ethereum.org). Triport serves Ethereum mainnet only, so test work goes to the network's own testnet endpoint.
Is my API key sent to Triport when I use this page?
No. Snippets are generated in your browser: the key is never submitted, never stored and never written into the page URL, which is why this page has no shareable link.