チェーンIDは EVM 互換ブロックチェーンを一意に識別する整数です。EIP-155 で定義され、あるネットワーク向けに署名した取引を別のネットワークで再利用できないよう、すべての取引署名に含まれています。Ethereum メインネットは 1、Base は 8453、Arbitrum One は 42161、Polygon PoS は 137、BNB Smart Chain は 56、Optimism は 10、Avalanche C-Chain は 43114、Sepolia テストネットは 11155111 です。
メインネットとテストネットの完全な一覧はセクション 2 と 3 にあり、ウォレットや RPC エンドポイントがよくそう表示するため、各番号を 16 進数でも載せています(Base は 10 進数で 8453、16 進数で 0x2105)。
チェーンIDは最悪のタイミングで出てきます。保存できないウォレットのネットワーク追加フォーム、「unsupported chain」と言う dapp、番号がないと署名してくれないライブラリ。ネットの一覧は意味抜きで番号を、解説は番号抜きで意味を教えてくれます。このページには両方あります。この整数が何をするのか、実際に使われているネットワークのチェーンIDを 10 進数と 16 進数で、そして数秒で自分で確認する方法です。
要約
- チェーンIDは 1 つの EVM ネットワークを識別する整数です。Ethereum は 1、Optimism は 10、BNB Smart Chain は 56、Polygon は 137、Base は 8453、Arbitrum One は 42161、Avalanche は 43114、Sepolia は 11155111 です。
- EIP-155 以降はすべての署名に含まれるので、チェーン 1 向けに署名した取引は他のどのチェーンでも拒否されます。これがネットワーク間のリプレイ攻撃を防いでいます。
- 16 進数と 10 進数は同じ数です。MetaMask は 0x2105、chainlist は 8453 と表示しますが、どちらも Base を意味します。
- 正式な値は、そのネットワークの RPC エンドポイントが eth_chainId に返すものです。入力したチェーンIDがその答えと一致しないカスタムネットワークは、ウォレットに拒否されます。
1. チェーンIDとは?
Ethereum そのものから最小の Layer 2 まで、すべての EVM ネットワークは、どのチェーンと話しているかをソフトウェアに伝える 1 つの整数を持っています。その整数がチェーンIDです。アドレスでもコントラクトでもネットワーク名でもなく、ノード、ウォレット、ライブラリ、dapp のすべてが合意している単なる数字で、あなたが署名するすべての取引に組み込まれています。
この番号はEIP-155に由来し、2016 年の Spurious Dragon ハードフォークでブロック 2,675,000 から有効になりました。それ以前は、あるチェーンで署名した Ethereum の取引は同じアカウントが存在するどのチェーンでも有効で、Ethereum と Ethereum Classic が分裂してすべてのアドレスを共有したときに現実の問題になりました。EIP-155 は署名対象のデータにチェーンIDを加え、署名が作られたチェーンでしか検証が通らないようにしました。
実際にチェーンIDに出会うのは 3 つの場所です。ウォレットのネットワーク設定、今いるネットワークに対応していない dapp のエラーメッセージ、そして取引に署名するライブラリの設定です。
2. チェーンID一覧:メインネット
以下は、よく検索されるネットワークと、このサイトが追跡しているネットワークです。値は chainlist.org と chainid.network の元になっているethereum-lists/chains レジストリから取り、2026年10月18日に確認しました。ChainGate にそのネットワークのガストラッカーがある場合は、名前がそこへリンクしています。
| ネットワーク | チェーンID | 16 進数 | ネイティブトークン |
|---|---|---|---|
| Ethereum Mainnet | 1 | 0x1 | ETH |
| OP Mainnet (Optimism) | 10 | 0xa | ETH |
| Cronos | 25 | 0x19 | CRO |
| BNB Smart Chain | 56 | 0x38 | BNB |
| Syscoin | 57 | 0x39 | SYS |
| Ethereum Classic | 61 | 0x3d | ETC |
| Gnosis | 100 | 0x64 | XDAI |
| Unichain | 130 | 0x82 | ETH |
| Polygon PoS | 137 | 0x89 | POL |
| Monad | 143 | 0x8f | MON |
| Sonic | 146 | 0x92 | S |
| opBNB | 204 | 0xcc | BNB |
| Fantom Opera | 250 | 0xfa | FTM |
| zkSync Era | 324 | 0x144 | ETH |
| PulseChain | 369 | 0x171 | PLS |
| World Chain | 480 | 0x1e0 | ETH |
| Polygon zkEVM | 1101 | 0x44d | ETH |
| Moonbeam | 1284 | 0x504 | GLMR |
| Moonriver | 1285 | 0x505 | MOVR |
| Sei | 1329 | 0x531 | SEI |
| Soneium | 1868 | 0x74c | ETH |
| Ronin | 2020 | 0x7e4 | RON |
| Kava | 2222 | 0x8ae | KAVA |
| peaq | 3338 | 0xd0a | PEAQ |
| Mantle | 5000 | 0x1388 | MNT |
| Base | 8453 | 0x2105 | ETH |
| Haqq Network | 11235 | 0x2be3 | ISLM |
| Arbitrum One | 42161 | 0xa4b1 | ETH |
| Arbitrum Nova | 42170 | 0xa4ba | ETH |
| Celo | 42220 | 0xa4ec | CELO |
| Avalanche C-Chain | 43114 | 0xa86a | AVAX |
| Ink | 57073 | 0xdef1 | ETH |
| Linea | 59144 | 0xe708 | ETH |
| Berachain | 80094 | 0x138de | BERA |
| Blast | 81457 | 0x13e31 | ETH |
| Chiliz Chain | 88888 | 0x15b38 | CHZ |
| Taiko | 167000 | 0x28c58 | ETH |
| Scroll | 534352 | 0x82750 | ETH |
| Zora | 7777777 | 0x76adf1 | ETH |
いくつか引っかかりやすい点があります。Polygon PoS は 137 で、ネイティブトークンは今は MATIC ではなく POL です。Polygon zkEVM は別のチェーンで 1101 です。OP Mainnet は、多くの人がいまだに Optimism と呼んでいるネットワークです。Arbitrum One(42161)が Arbitrum の主チェーンで、Arbitrum Nova(42170)はゲームやソーシャルアプリ向けの別チェーンです。BNB Smart Chain(56)と opBNB(204)は同じガストークンを使う別々のネットワークです。Ethereum Classic のネットワークIDは Ethereum と同じ 1 ですが、チェーンIDは 61 で、これこそ EIP-155 が書かれた理由となったケースです。
3. チェーンID一覧:テストネットとローカルネットワーク
テストネットにも固有のチェーンIDがあり、間違ったものに切り替えたウォレットは、正しい方では無事なはずの資金を残高ゼロとして表示します。
| ネットワーク | チェーンID | 16 進数 | 備考 |
|---|---|---|---|
| Ethereum Sepolia | 11155111 | 0xaa36a7 | アプリケーション開発向けに Ethereum が推奨するテストネット |
| Ethereum Hoodi | 560048 | 0x88bb0 | ステーキングとバリデーターのテスト向け Ethereum テストネット |
| Ethereum Holesky | 17000 | 0x4268 | 2025 年 9 月以降非推奨。Hoodi を使用 |
| Base Sepolia | 84532 | 0x14a34 | Base のテストネット |
| Arbitrum Sepolia | 421614 | 0x66eee | Arbitrum のテストネット |
| OP Sepolia | 11155420 | 0xaa37dc | OP Mainnet のテストネット |
| Polygon Amoy | 80002 | 0x13882 | Polygon PoS のテストネット |
| BNB Smart Chain Testnet | 97 | 0x61 | BNB Smart Chain のテストネット |
| Avalanche Fuji | 43113 | 0xa869 | Avalanche C-Chain のテストネット |
| Hardhat Network (local) | 31337 | 0x7a69 | ローカルの Hardhat Network のデフォルト |
| Geth private chain (local) | 1337 | 0x539 | Geth のプライベートチェーンのデフォルト。Besu の開発ネットワークも使用 |
Ethereum テストネットのステータスはethereum.orgによるもので、Hardhat のデフォルトはそのネットワークリファレンスに、Geth のデフォルトは EIP-155 自体に記載されています。ローカルチェーンは 2 つの異なるツールが異なるデフォルトを選ぶ唯一の場所なので、ローカルノードに接続したときにウォレットが文句を言うなら、1337 なのか 31337 なのかを確認してください。
4. チェーンIDはなぜ重要?
署名の一部だからです。EIP-155 では、チェーンIDは署名前にハッシュ化されるフィールドの 1 つで、署名の v 値はチェーンIDを 2 倍して 35 または 36 を足したものになります。チェーン 1 向けに署名した取引を受け取ったチェーン 137 のノードは、そこから有効な送信者を復元できず、取引を破棄します。同じアカウント、同じ nonce、同じ受取人が両方のチェーンに存在しても、署名が通るのは片方だけです。
他のすべてはそこから導かれます。ウォレットはチェーンIDを使って正しいネットワーク名、通貨記号、エクスプローラーを表示します。dapp はチェーンIDで呼び出すコントラクトアドレスを選びます。Base 向けに作られた dapp が、ウォレットが Ethereum にあると動かないのはこのためです。ライブラリはチェーンIDで署名を組み立てます。設定で間違えると、どこにも届かない取引ができあがるのはこのためです。
5. チェーンIDとネットワークIDの違い
Ethereum のネットワークは 2 つの識別子を持ち、ほとんどの場合は同じ数なので、用語が混同されます。Hyperledger Besu のドキュメントは違いを一文にまとめています。ノード間のピアツーピア通信にはネットワークIDが使われ、取引の署名処理にはチェーンIDが使われる、というものです。
2 つが食い違う既知のケースはわずかです。Ethereum と Ethereum Classic は 2016 年まで 1 つのネットワークだったため、どちらもネットワークIDは 1 ですが、チェーンIDは 1 と 61 です。Besu の開発ネットワークはチェーンID 1337 にネットワークID 2018 を使います。Ethereum メインネット、Sepolia、Hoodi、そして上の表のすべての Layer 2 では 2 つの値は一致し、ウォレットでの操作でネットワークIDを求められることはありません。
JSON-RPC では別々の呼び出しです。eth_chainId はチェーンIDを 16 進数の文字列で返し、net_version はネットワークIDを 10 進数の文字列で返します。ウォレットや dapp の文脈でツールが「ネットワークID」を求めてきたら、ほぼ確実にチェーンIDのことです。
6. ネットワークのチェーンIDはどう調べる?
手早いものから最も正式なものまで、4 つの方法があります。
- このページの表
- 日常的に使われるネットワークを、各番号の横に 16 進数形式を添えて掲載しています。
- chainlist.org または chainid.network
- どちらも GitHub の ethereum-lists/chains レジストリを読んでおり、2,800 以上の EVM チェーンが載っています。名前で検索するとチェーンID、ネイティブトークン、公開 RPC URL がわかります。MetaMask 自身のヘルプページも Chainlist を案内していますが、そこのデータは MetaMask が管理するものではないと注記しているので、ネットワークを追加する前にエントリを確認してください。
- ウォレットのネットワーク設定
- MetaMask、Rabby、Trust Wallet をはじめとするウォレットは、設定済みの各ネットワークの詳細にチェーンIDを表示します。これがウォレットが実際に署名に使っている番号です。
- RPC エンドポイントそのもの
- ノードに対して eth_chainId を呼び出します。返ってきた値が定義上そのネットワークのチェーンIDであり、カスタムネットワークを追加するときにウォレットが比較するのもこの値です:
curl -s -X POST https://mainnet.base.org \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x2105"}
# 0x2105 = 8453, so this endpoint is Base結果は 16 進数です。0x2105 は 8453 なので、このエンドポイントは Base のものです。どの JSON-RPC プロバイダーも API キーなしでこの呼び出しに答えるので、渡された RPC URL が本当に言われたとおりのネットワークなのかを確かめる最速の方法になります。
7. チェーンIDを使って MetaMask にネットワークを追加するには?
カスタムネットワークの追加とは、EIP-3085で定義された 5 つの項目を埋めることです。EIP-3085 は、dapp がワンクリックで同じことをするために使う wallet_addEthereumChain 呼び出しの背後にある標準です:
- ネットワーク名
- 自由入力。表示専用です。
- RPC URL
- ウォレットが通信する JSON-RPC エンドポイント。公開のものは Chainlist にあり、自分のプロバイダーの URL でも構いません。
- チェーンID
- 上の表の番号。ウォレットのフォームは 10 進数を受け付け、dapp は API 呼び出しで 0x 付きの 16 進数として渡します。
- 通貨記号
- ネイティブトークンの名前。Base と Arbitrum では ETH、Polygon では POL、BNB Smart Chain では BNB、Avalanche では AVAX です。
- ブロックエクスプローラー URL
- 任意。ウォレットが取引をエクスプローラーにリンクできるようになります。
チェーンIDと RPC URL は一致していなければなりません。EIP-3085 は、渡されたチェーンIDが RPC エンドポイントの eth_chainId の値と一致しない場合、ウォレットがリクエストを拒否することを要求しており、MetaMask はその場合フォームにエラーを表示します。これが出たら、番号が間違っているか、URL が別のネットワークのものか、URL が死んだエンドポイントかのいずれかです。前のセクションの curl 呼び出しで確認してください。
8. チェーンIDの不一致や unsupported chain エラーが出るのはなぜ?
文言はウォレットや dapp によって異なりますが、原因はほんの数種類です:
- RPC URL とチェーンIDが食い違っている
- 8453 と入力したのに Ethereum メインネットの URL を貼り付けた、あるいはその逆です。ウォレットがエンドポイントに問い合わせ、違う答えが返ってきたので拒否しました。間違っている方を直してください。
- dapp が今いるネットワークに対応していない
- 「Unsupported chain」や「wrong network」は、dapp のコントラクトが別のチェーンIDにデプロイされているという意味です。たいていは dapp 自身のネットワークボタンから、dapp が挙げているネットワークにウォレットを切り替えてください。
- 取引がノードとは別のチェーンID向けに署名された
- EIP-155 の署名がそのチェーンで復元できないため、ノードは invalid-sender や invalid-chain-id のエラーで拒否します。これは送信側ソフトウェアの設定バグであって、ネットワーク障害ではありません。
- ローカルチェーンの ID が変わった
- MetaMask が保存しているものとは別のチェーンIDで開発ノードを再起動すると、不一致や古い nonce の問題が起きます。ローカルネットワークを削除して追加し直してください。
- 16 進数と 10 進数が混ざった
- 0x89 は 137 ですが、10 進数を期待するフォームは「0x89」を文字列として扱います。ウォレットのフォームでは 10 進数、API 呼び出しでは 16 進数を使ってください。
9. 10 進数、16 進数、CAIP-2:同じ ID の 3 つの書き方
Chainlist とウォレットのフォームはチェーンIDを 10 進数で表示します。JSON-RPC、EIP-3085、MetaMask の内部設定は 0x 付きの 16 進数を使うので、137 は 0x89、42161 は 0xa4b1、11155111 は 0xaa36a7 と表示されます。同じ整数であり、上の表には両方を載せています。
WalletConnect のようなマルチチェーンツールは 3 つ目の形式としてCAIP-2を加えます。番号の前に名前空間を付けることで、EVM 以外のチェーンも 1 つの識別子体系を共有できるようにしたもので、Ethereum メインネットは eip155:1、Polygon は eip155:137、Base は eip155:8453 です。eip155 の部分は「これは EVM のチェーンIDである」ことを示し、コロンの後の数字は他のどこでも使われているのと同じチェーンIDです。
10. Bitcoin と Solana にチェーンIDはある?
EIP-155 の意味ではありません。チェーンIDは EVM の概念で、Bitcoin、Litecoin、Dogecoin、Solana、XRP には存在しません。これらのコインを追加するときにウォレットがチェーンIDを求めてこないのはそのためです。
これらのネットワークはメインネットとテストネットを別の方法で区別しています。Bitcoin 系のチェーンはメインネットとテストネットで異なるアドレス形式とネットワークパラメーターを使うので、テストネットのアドレスは先頭が違います。Solana は Mainnet、Devnet、Testnet と呼ばれる別々のクラスターを運用しており、それぞれ固有の RPC エンドポイントを持ちます。Bitcoin や Solana の入金時にフォームが「チェーンID」を求めてきたら、それは番号ではなく、どのネットワークを使うかを尋ねています。
11. コードでチェーンIDを使う
EVM の取引に署名するライブラリはどれもチェーンIDを必要とし、設定から取るかノードに問い合わせます。ChainGate SDK ではホスト型ネットワークがすでにチェーンIDを持っており、カスタム EVM ネットワークでは RPC URL の隣のパラメーターとして受け取ります:
import { ChainGate, importWallet } from 'chaingate';
const cg = new ChainGate({ apiKey: process.env.CHAINGATE_API_KEY });
const wallet = importWallet({ phrase: process.env.MNEMONIC });
// Hosted networks already know their chain ID
const base = cg.connect(cg.networks.base, wallet);
// Any other EVM network: pass the RPC URL and the chain ID it reports
const scroll = cg.networks.evmRpc({
rpcUrl: 'https://rpc.scroll.io',
chainId: 534352,
name: 'Scroll',
symbol: 'ETH',
});
const scr = cg.connect(scroll, wallet);渡す値は、セクション 4 で述べた理由から、エンドポイントが eth_chainId に返すものと一致していなければなりません。残りの流れはJavaScript で暗号資産を送るチュートリアルが順を追って説明しており、ChainGate のドキュメントにはホスト型 RPC URL が載っています。
12. 次に読むもの
チェーンIDが片付いたら、どのネットワークでも次の疑問は、そこで送金するといくらかかるかです。マルチチェーンガストラッカーは上のメインネット表のすべてのネットワークをライブの手数料付きで扱っており、ガス代のガイドはそこに表示される数字を解説しています。すでに送信した取引を見つける必要があるなら、トランザクションハッシュのガイドが正しいエクスプローラーでの調べ方を示しています。そして、これらすべてのチェーンにわたるウォレット、送金、RPC アクセスを 1 つの TypeScript ライブラリから扱うなら、ChainGate がこのサイトの裏にある SDK です。
よくある質問
暗号資産のチェーンIDとは?
EIP-155 で定義された、EVM 互換ブロックチェーンを一意に識別する整数です。すべての取引署名に含まれるため、あるネットワーク向けに署名した取引は他のどのネットワークでも無効になります。Ethereum メインネットは 1、Base は 8453、Arbitrum One は 42161、Polygon は 137 です。
Ethereum メインネットのチェーンIDは?
1 で、16 進数では 0x1 と書きます。テストネットは Sepolia(11155111)と Hoodi(560048)で、Holesky(17000)は 2025 年 9 月以降非推奨です。
Base のチェーンIDは?
10 進数で 8453、16 進数で 0x2105 です。Base Sepolia テストネットは 84532 です。
Arbitrum のチェーンIDは?
Arbitrum One は 42161(0xa4b1)です。Arbitrum Nova は別チェーンで 42170、Arbitrum Sepolia テストネットは 421614 です。
Polygon のチェーンIDは?
Polygon PoS は 137(0x89)で、ネイティブトークンは POL です。Polygon zkEVM は別チェーンで 1101、Polygon Amoy テストネットは 80002 です。
チェーンIDとネットワークIDの違いは?
ネットワークIDはノード間のピアツーピア通信に使われ、チェーンIDは取引の署名に使われます。Ethereum メインネットとすべての公開テストネットでは同じ数ですが、Ethereum Classic はネットワークID 1 にチェーンID 61、Besu の開発ネットワークはチェーンID 1337 にネットワークID 2018 を使います。
ネットワークのチェーンIDはどう調べる?
chainlist.org か chainid.network で調べる、ウォレットのネットワーク設定で読む、またはそのネットワークの RPC URL に eth_chainId の JSON-RPC 呼び出しを送ります。16 進数で返ってくる RPC の答えが正式な値です。
MetaMask がチェーンIDが一致しないと言うのはなぜ?
入力した RPC URL が、入力したチェーンIDとは別のチェーンIDを返しているからです。EIP-3085 はウォレットにその組み合わせを拒否するよう求めています。番号を一覧と照らし合わせるか、その URL に eth_chainId を呼び出して本当はどのネットワークなのかを確認してください。
チェーンIDは MetaMask の 16 進数の値と同じ?
同じです。MetaMask と JSON-RPC は 0x 付きの 16 進数を、Chainlist とウォレットのフォームは 10 進数を使いますが、0x2105 と 8453 は同じ数です。相互に変換はしても、1 つの欄で混ぜてはいけません。
ChainGate で構築する
アイデアをコードに落とし込みましょう — ChainGate は Ethereum と 20 以上のブロックチェーン向けのウォレット、トランザクション、マネージド RPC を 1 つのライブラリで提供します。