Chain ID (ID цепочки) представляет собой целое число, которое однозначно идентифицирует EVM-совместимый блокчейн. Он определён в EIP-155 и входит в подпись каждой транзакции, чтобы транзакцию, подписанную для одной сети, нельзя было повторить в другой. У основной сети Ethereum chain ID 1, у Base 8453, у Arbitrum One 42161, у Polygon PoS 137, у BNB Smart Chain 56, у Optimism 10, у Avalanche C-Chain 43114, а у тестнета Sepolia 11155111.
Полный список основных сетей и тестнетов приведён в разделах 2 и 3, и каждое число дано ещё и в hex, потому что кошельки и RPC-эндпоинты часто показывают его именно так (Base в десятичной записи 8453, в hex 0x2105).
Chain ID всплывает в самый неподходящий момент: форма в кошельке не сохраняется, dapp пишет «unsupported chain», библиотека требует число, прежде чем подписать транзакцию. Списки в интернете дают число без смысла, а объяснения дают смысл без списка. На этой странице есть и то и другое: что делает это целое число, chain ID сетей, которыми люди реально пользуются, в десятичной и hex-записи, и как проверить любой из них самостоятельно за несколько секунд.
Коротко
- Chain ID (ID цепочки) представляет собой целое число, которое идентифицирует одну EVM-сеть. У Ethereum это 1, у Optimism 10, у BNB Smart Chain 56, у Polygon 137, у Base 8453, у Arbitrum One 42161, у Avalanche 43114, у Sepolia 11155111.
- Начиная с EIP-155 он входит в каждую подпись, поэтому транзакция, подписанная для цепочки 1, отклоняется в любой другой цепочке. Именно это останавливает replay-атаки между сетями.
- Hex и десятичная запись обозначают одно и то же число: MetaMask показывает 0x2105, chainlist показывает 8453, и оба значения означают Base.
- Авторитетное значение то, которое RPC-эндпоинт сети возвращает на eth_chainId. Кошелёк отклоняет пользовательскую сеть, если введённый chain ID не совпадает с этим ответом.
1. Что такое chain ID?
Каждая EVM-сеть, от самого Ethereum до самого маленького Layer 2, несёт одно целое число, по которому софт понимает, с какой цепочкой он разговаривает. Это число и есть chain ID (ID цепочки). Это не адрес, не контракт и не название сети: это обычное число, о котором договорились узлы, кошельки, библиотеки и dapp, и оно зашито в каждую транзакцию, которую вы подписываете.
Число пришло из EIP-155, активированного в хардфорке Spurious Dragon на блоке 2 675 000 в 2016 году. До него транзакция Ethereum, подписанная в одной цепочке, была действительна в любой цепочке, где существовал тот же аккаунт, и это стало настоящей проблемой, когда Ethereum и Ethereum Classic разделились, сохранив все адреса общими. EIP-155 добавил chain ID в подписываемые данные, поэтому подпись проверяется только в той цепочке, для которой её создали.
На практике chain ID встречается в трёх местах: в настройках сети в кошельке, в сообщении об ошибке от dapp, которое не поддерживает сеть, где вы находитесь, и в конфигурации любой библиотеки, которая подписывает транзакции.
2. Список chain ID: основные сети
Ниже перечислены сети, которые люди ищут и которые отслеживает этот сайт. Значения взяты из реестра ethereum-lists/chains, на котором построены chainlist.org и chainid.network, и сверены 18 октября 2026 года. Там, где у ChainGate есть трекер газа для сети, её название ведёт на него.
| Сеть | Chain ID | Hex | Нативный токен |
|---|---|---|---|
| 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 chain ID 137, а его нативный токен теперь POL, а не MATIC; Polygon zkEVM считается другой цепочкой, с номером 1101. OP Mainnet: так называется сеть, которую большинство по-прежнему зовёт Optimism. Arbitrum One (42161) является основной цепочкой Arbitrum, а Arbitrum Nova (42170) выделена в отдельную цепочку для игр и социальных приложений. BNB Smart Chain (56) и opBNB (204) это разные сети с одним и тем же токеном для газа. У Ethereum Classic network ID 1, как у Ethereum, но chain ID 61, и это ровно тот случай, ради которого написали EIP-155.
3. Список chain ID: тестнеты и локальные сети
У тестнетов свои chain ID, и кошелёк, переключённый не на тот, покажет нулевой баланс для средств, которые в полной сохранности лежат на правильном.
| Сеть | Chain ID | Hex | Примечания |
|---|---|---|---|
| Ethereum Sepolia | 11155111 | 0xaa36a7 | Рекомендуемый тестнет Ethereum для разработки приложений |
| Ethereum Hoodi | 560048 | 0x88bb0 | Тестнет Ethereum для тестирования стейкинга и валидаторов |
| Ethereum Holesky | 17000 | 0x4268 | Устарел с сентября 2025 года; используйте 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; dev-сеть Besu использует его же |
Статусы тестнетов Ethereum взяты с ethereum.org; значение по умолчанию для Hardhat указано в его справочнике по сетям, а для Geth в самом EIP-155. Локальные цепочки остаются единственным местом, где два разных инструмента выбирают разные значения по умолчанию, поэтому если кошелёк жалуется при подключении к локальному узлу, проверьте, 1337 это или 31337.
4. Почему chain ID важен?
Потому что он часть подписи. По EIP-155 chain ID входит в поля, которые хешируются перед подписанием, а значение v в подписи равно chain ID, умноженному на два, плюс 35 или 36. Узел в цепочке 137, получивший транзакцию, подписанную для цепочки 1, не может восстановить из неё корректного отправителя и отбрасывает её. Тот же аккаунт, тот же nonce и тот же получатель существуют в обеих цепочках, но подпись работает только в одной.
Всё остальное следует из этого. Кошелёк использует chain ID, чтобы показать правильное название сети, символ валюты и обозреватель. Dapp использует его, чтобы выбрать адреса контрактов для вызова, и поэтому dapp, построенное для Base, отказывается работать, когда ваш кошелёк находится в Ethereum. Библиотека использует его, чтобы построить подпись, и поэтому ошибка в конфигурации даёт транзакции, которые никуда не попадают.
5. Chain ID и network ID
У сетей Ethereum два идентификатора, и чаще всего это одно и то же число, из-за чего термины путают. Документация Hyperledger Besu укладывает разницу в одно предложение: для одноранговой (peer-to-peer) связи между узлами используется network ID (идентификатор сети для p2p), а в процессе подписания транзакций используется chain ID.
Эти значения расходятся в нескольких известных случаях. У Ethereum и Ethereum Classic network ID 1 у обоих, потому что до 2016 года это была одна сеть, но chain ID 1 и 61. Dev-сеть Besu использует chain ID 1337 с network ID 2018. У основной сети Ethereum, Sepolia, Hoodi и каждого Layer 2 из таблиц выше оба значения совпадают, и ничто из того, что вы делаете в кошельке, никогда не спрашивает network ID.
В JSON-RPC это отдельные вызовы: eth_chainId возвращает chain ID как hex-строку, а net_version возвращает network ID как десятичную строку. Если инструмент просит «network ID» в контексте кошелька или dapp, почти всегда имеется в виду chain ID.
6. Как узнать chain ID сети?
Четыре способа, от самого быстрого до самого авторитетного.
- Таблицы на этой странице
- Покрывают сети, которыми пользуются каждый день, и рядом с каждым числом указана hex-форма.
- chainlist.org или chainid.network
- Оба читают реестр ethereum-lists/chains на GitHub, в котором перечислено более 2 800 EVM-цепочек. Поиск по названию даёт chain ID, нативный токен и публичные RPC URL. Собственные страницы справки MetaMask ссылаются на Chainlist с оговоркой, что MetaMask не поддерживает данные там, поэтому проверяйте запись перед добавлением сети.
- Настройки сети в кошельке
- MetaMask, Rabby, Trust Wallet и остальные показывают chain ID каждой настроенной сети в её деталях. Это число, с которым кошелёк на самом деле подписывает.
- Сам RPC-эндпоинт
- Вызовите eth_chainId на узле. Что бы он ни вернул, это по определению chain 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Результат в hex. 0x2105 это 8453, значит, этот эндпоинт принадлежит Base. Любой JSON-RPC-провайдер отвечает на этот вызов без API-ключа, и это самый быстрый способ убедиться, что RPC URL, который вам кто-то дал, ведёт в ту сеть, которую заявляют.
7. Как добавить сеть в MetaMask по её chain ID?
Добавить пользовательскую сеть означает заполнить пять полей, определённых в EIP-3085, стандарте, который стоит за вызовом wallet_addEthereumChain, с помощью которого dapp делают то же самое в один клик:
- Название сети
- Произвольный текст, только для отображения.
- RPC URL
- JSON-RPC-эндпоинт, с которым будет общаться кошелёк. Публичные есть на Chainlist; URL вашего собственного провайдера тоже подойдёт.
- Chain ID
- Число из таблиц выше. Кошельки принимают в форме десятичную запись; dapp передают его в API-вызове как hex с префиксом 0x.
- Символ валюты
- Как называется нативный токен: ETH в Base и Arbitrum, POL в Polygon, BNB в BNB Smart Chain, AVAX в Avalanche.
- URL обозревателя блоков
- Необязательно. Позволяет кошельку давать ссылки на транзакции в обозревателе.
Chain ID и RPC URL должны согласовываться. EIP-3085 требует, чтобы кошелёк отклонил запрос, если переданный chain ID не совпадает со значением eth_chainId от RPC-эндпоинта, и MetaMask в этом случае показывает ошибку в форме. Если вы её видите, значит, число неверное, URL относится к другой сети или URL ведёт на мёртвый эндпоинт; проверьте его вызовом curl из предыдущего раздела.
8. Почему я получаю ошибку несовпадения chain ID или unsupported chain?
Формулировки у кошельков и dapp разные, но причин всего несколько:
- RPC URL и chain ID не согласуются
- Вы ввели 8453, но вставили URL основной сети Ethereum, или наоборот. Кошелёк спросил эндпоинт, получил другой ответ и отказал. Исправьте то, что неверно.
- Dapp не поддерживает сеть, в которой вы находитесь
- «Unsupported chain» или «wrong network» означает, что контракты dapp развёрнуты на других chain ID. Переключите кошелёк на одну из сетей, которые перечисляет dapp, обычно через его собственную кнопку выбора сети.
- Транзакция подписана для chain ID, отличного от chain ID узла
- Узел отклоняет её с ошибкой invalid sender или invalid chain id, потому что подпись EIP-155 не может быть восстановлена в этой цепочке. Это ошибка конфигурации в отправляющем софте и никогда не сбой сети.
- Локальная цепочка сменила ID
- Перезапуск dev-узла с другим chain ID, чем тот, что сохранил MetaMask, даёт несовпадения и устаревшие nonce. Удалите локальную сеть и добавьте её заново.
- Перепутаны hex и десятичная запись
- 0x89 это 137, но форма, ожидающая десятичное число, воспринимает «0x89» как текст. В формах кошелька используйте десятичную запись, в API-вызовах hex.
9. Десятичная запись, hex и CAIP-2: три способа записать один ID
Chainlist и формы кошельков показывают chain ID в десятичной записи. JSON-RPC, EIP-3085 и внутренние настройки MetaMask используют шестнадцатеричную запись с префиксом 0x, поэтому 137 выглядит как 0x89, 42161 как 0xa4b1, а 11155111 как 0xaa36a7. Это одно и то же целое число; в таблицах выше даны обе формы.
Мультичейн-инструменты вроде WalletConnect добавляют третью форму, CAIP-2, которая ставит перед числом пространство имён, чтобы цепочки за пределами EVM могли использовать единую схему идентификаторов: основная сеть Ethereum это eip155:1, Polygon eip155:137, Base eip155:8453. Часть eip155 говорит «это chain ID EVM-сети», а число после двоеточия совпадает с chain ID, который используется везде.
10. Есть ли chain ID у Bitcoin и Solana?
В смысле EIP-155 нет. Chain ID относится к миру EVM, и у Bitcoin, Litecoin, Dogecoin, Solana и XRP его нет, поэтому кошелёк никогда не спрашивает его, когда вы добавляете эти монеты.
Эти сети различают основную и тестовые сети иначе. Цепочки семейства Bitcoin используют разные форматы адресов и сетевые параметры для mainnet и testnet, поэтому адрес в testnet начинается по-другому. Solana запускает отдельные кластеры с названиями Mainnet, Devnet и Testnet, у каждого свой RPC-эндпоинт. Если форма просит у вас «chain ID» при депозите Bitcoin или Solana, она спрашивает, какую сеть использовать, а не число.
11. Chain ID в коде
Любой библиотеке, которая подписывает EVM-транзакции, нужен chain ID, либо из конфигурации, либо запросом к узлу. В SDK ChainGate хостируемые сети уже несут его, а пользовательская 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);Переданное значение должно совпадать с тем, что эндпоинт сообщает на eth_chainId, по причинам из раздела 4. Руководство по отправке криптовалюты на JavaScript проходит остальную часть процесса, а документация ChainGate перечисляет хостируемые RPC URL.
12. Куда дальше
Когда chain ID определён, следующий вопрос в любой сети: сколько там стоит отправка. Мультичейн-трекер газа покрывает каждую сеть из таблицы основных сетей выше с комиссиями в реальном времени, а руководство по gas fees объясняет цифры, которые он показывает. Если транзакция уже ушла и её нужно найти, руководство по хешу транзакции показывает, как найти её в нужном обозревателе. А если вам нужны кошельки, переводы и доступ к RPC во всех этих цепочках из одной TypeScript-библиотеки, ChainGate и есть SDK, на котором работает этот сайт.
Частые вопросы
Что такое chain ID в крипте?
Целое число, которое однозначно идентифицирует EVM-совместимый блокчейн; определено в EIP-155. Оно входит в подпись каждой транзакции, поэтому транзакция, подписанная для одной сети, недействительна во всех остальных. У основной сети Ethereum это 1, у Base 8453, у Arbitrum One 42161, у Polygon 137.
Какой chain ID у основной сети Ethereum?
1, в hex записывается как 0x1. Её тестнеты Sepolia (11155111) и Hoodi (560048); Holesky (17000) устарел с сентября 2025 года.
Какой chain ID у Base?
8453 в десятичной записи, 0x2105 в hex. У тестнета Base Sepolia 84532.
Какой chain ID у Arbitrum?
У Arbitrum One 42161 (0xa4b1). Arbitrum Nova выделена в отдельную цепочку с номером 42170, а у тестнета Arbitrum Sepolia 421614.
Какой chain ID у Polygon?
У Polygon PoS 137 (0x89), нативный токен POL. Polygon zkEVM считается другой цепочкой, с номером 1101, а у тестнета Polygon Amoy 80002.
В чём разница между chain ID и network ID?
Network ID используется для одноранговой связи между узлами; chain ID используется в подписях транзакций. В основной сети Ethereum и в каждом публичном тестнете это одно и то же число, но у Ethereum Classic network ID 1 и chain ID 61, а dev-сеть Besu использует chain ID 1337 с network ID 2018.
Как узнать chain ID сети?
Посмотрите его на chainlist.org или chainid.network, прочитайте в настройках сети вашего кошелька или отправьте JSON-RPC-вызов eth_chainId на RPC URL сети. Ответ RPC, в hex, является авторитетным значением.
Почему MetaMask пишет, что chain ID не совпадает?
Потому что введённый вами RPC URL сообщает другой chain ID, а не тот, что вы ввели. EIP-3085 требует от кошельков отклонять такую комбинацию. Сверьте число со списком или вызовите eth_chainId на этом URL, чтобы узнать, какая это сеть на самом деле.
Chain ID и hex-значение в MetaMask: это одно и то же?
Да. MetaMask и JSON-RPC используют hex с префиксом 0x, а Chainlist и формы кошельков десятичную запись, но 0x2105 и 8453 одно и то же число. Переводите одно в другое, но никогда не смешивайте их в одном поле.
Создавай с ChainGate
Превращай идеи в код — ChainGate даёт кошельки, транзакции и управляемый RPC для Ethereum и 20+ блокчейнов в одной библиотеке.