Un ID de cadena (chain ID) es un número entero que identifica de forma única una blockchain compatible con EVM, definido por EIP-155 e incluido en todas las firmas de transacción para que una transacción firmada para una red no pueda repetirse en otra. La mainnet de Ethereum es 1, Base es 8453, Arbitrum One es 42161, Polygon PoS es 137, BNB Smart Chain es 56, Optimism es 10, Avalanche C-Chain es 43114 y la testnet Sepolia es 11155111.
La lista completa de mainnets y testnets está en las secciones 2 y 3, con cada número también en hexadecimal, porque las wallets y los endpoints RPC lo muestran a menudo así (Base es 8453 en decimal y 0x2105 en hexadecimal).
Los ID de cadena (chain ID) aparecen en el peor momento: un formulario de la wallet que no se deja guardar, una dapp que dice "unsupported chain", una librería que necesita el número antes de firmar. Las listas que hay en internet te dan el número sin el significado, y las explicaciones te dan el significado sin la lista. Esta página tiene las dos cosas: qué hace ese entero, los ID de cadena de las redes que la gente usa de verdad, en decimal y hexadecimal, y cómo comprobar uno tú mismo en unos segundos.
La versión corta
- Un ID de cadena es el entero que identifica una red EVM. Ethereum es 1, Optimism 10, BNB Smart Chain 56, Polygon 137, Base 8453, Arbitrum One 42161, Avalanche 43114, Sepolia 11155111.
- Forma parte de todas las firmas desde EIP-155, así que una transacción firmada para la cadena 1 se rechaza en cualquier otra cadena. Eso es lo que impide los ataques de repetición (replay) entre redes.
- Hexadecimal y decimal son el mismo número: MetaMask muestra 0x2105, Chainlist muestra 8453, y ambos significan Base.
- El valor de referencia es el que devuelve el endpoint RPC de la red para eth_chainId. Una wallet rechaza una red personalizada cuyo ID de cadena introducido no coincide con esa respuesta.
1. ¿Qué es un ID de cadena?
Toda red EVM, desde la propia Ethereum hasta la Layer 2 más pequeña, lleva un único número entero que le dice al software con qué cadena está hablando. Ese entero es el ID de cadena (chain ID). No es una dirección, ni un contrato, ni el nombre de una red: es un simple número en el que coinciden nodos, wallets, librerías y dapps, y va incrustado en cada transacción que firmas.
El número viene de EIP-155, activado en el hard fork Spurious Dragon en el bloque 2.675.000, en 2016. Antes, una transacción de Ethereum firmada en una cadena era válida en cualquier cadena donde existiera la misma cuenta, lo que se convirtió en un problema real cuando Ethereum y Ethereum Classic se separaron compartiendo todas las direcciones. EIP-155 añadió el ID de cadena a los datos que se firman, de modo que la firma solo se verifica en la cadena para la que se hizo.
En la práctica te encuentras el ID de cadena en tres sitios: la configuración de red de una wallet, el mensaje de error de una dapp que no soporta la red en la que estás, y la configuración de cualquier librería que firme transacciones.
2. Lista de ID de cadena: mainnets
Las redes de abajo son las que la gente busca y las que sigue este sitio. Los valores proceden del registro ethereum-lists/chains sobre el que están construidos chainlist.org y chainid.network, comprobados el 18 de octubre de 2026. Cuando ChainGate tiene un gas tracker para la red, el nombre enlaza a él.
| Red | ID de cadena | Hex | Token nativo |
|---|---|---|---|
| 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 |
Algunas de estas confunden a la gente. Polygon PoS es 137 y su token nativo ahora es POL, no MATIC; Polygon zkEVM es una cadena distinta, 1101. OP Mainnet es la red que la mayoría sigue llamando Optimism. Arbitrum One (42161) es la cadena principal de Arbitrum; Arbitrum Nova (42170) es otra aparte, para juegos y aplicaciones sociales. BNB Smart Chain (56) y opBNB (204) son redes distintas con el mismo token de gas. Ethereum Classic tiene ID de red (network ID) 1, el mismo que Ethereum, pero ID de cadena 61, que es exactamente el caso para el que se escribió EIP-155.
3. Lista de ID de cadena: testnets y redes locales
Las testnets tienen sus propios ID de cadena, y una wallet puesta en la equivocada mostrará saldo cero para unos fondos que están perfectamente a salvo en la correcta.
| Red | ID de cadena | Hex | Notas |
|---|---|---|---|
| Ethereum Sepolia | 11155111 | 0xaa36a7 | Testnet recomendada de Ethereum para desarrollar aplicaciones |
| Ethereum Hoodi | 560048 | 0x88bb0 | Testnet de Ethereum para pruebas de staking y validadores |
| Ethereum Holesky | 17000 | 0x4268 | Obsoleta desde septiembre de 2025; usa Hoodi |
| Base Sepolia | 84532 | 0x14a34 | Testnet de Base |
| Arbitrum Sepolia | 421614 | 0x66eee | Testnet de Arbitrum |
| OP Sepolia | 11155420 | 0xaa37dc | Testnet de OP Mainnet |
| Polygon Amoy | 80002 | 0x13882 | Testnet de Polygon PoS |
| BNB Smart Chain Testnet | 97 | 0x61 | Testnet de BNB Smart Chain |
| Avalanche Fuji | 43113 | 0xa869 | Testnet de Avalanche C-Chain |
| Hardhat Network (local) | 31337 | 0x7a69 | Valor por defecto de una Hardhat Network local |
| Geth private chain (local) | 1337 | 0x539 | Valor por defecto de una cadena privada de Geth; la red de desarrollo de Besu también lo usa |
Los estados de las testnets de Ethereum son los de ethereum.org; el valor por defecto de Hardhat está en su referencia de redes y el de Geth en el propio EIP-155. Las cadenas locales son el único sitio donde dos herramientas distintas eligen valores por defecto distintos, así que si una wallet protesta al conectarte a un nodo local, comprueba si es 1337 o 31337.
4. ¿Por qué importa el ID de cadena?
Porque forma parte de la firma. Con EIP-155 el ID de cadena es uno de los campos a los que se aplica el hash antes de firmar, y el valor v de la firma se fija como el ID de cadena multiplicado por dos, más 35 o 36. Un nodo de la cadena 137 que recibe una transacción firmada para la cadena 1 no puede recuperar de ella un remitente válido y la descarta. La misma cuenta, el mismo nonce y el mismo destinatario existen en ambas cadenas, pero la firma solo funciona en una.
Todo lo demás se deriva de ahí. Una wallet usa el ID de cadena para mostrar el nombre de red, el símbolo de la moneda y el explorador correctos. Una dapp lo usa para elegir las direcciones de contrato a las que llamar, y por eso una dapp construida para Base se niega a funcionar cuando tu wallet está en Ethereum. Una librería lo usa para construir la firma, y por eso equivocarse con él en la configuración produce transacciones que nunca llegan a ninguna parte.
5. ID de cadena frente a ID de red
Las redes de Ethereum llevan dos identificadores, y la mayoría de las veces son el mismo número, por eso los términos se mezclan. La documentación de Hyperledger Besu resume la diferencia en una frase: la comunicación peer-to-peer entre nodos usa el ID de red, mientras que el proceso de firma de transacciones usa el ID de cadena.
Los dos divergen en unos pocos casos conocidos. Ethereum y Ethereum Classic tienen ambas ID de red 1, porque fueron una sola red hasta 2016, pero ID de cadena 1 y 61. La red de desarrollo de Besu usa ID de cadena 1337 con ID de red 2018. En la mainnet de Ethereum, Sepolia, Hoodi y todas las Layer 2 de las tablas de arriba, los dos valores coinciden, y nada de lo que hagas en una wallet te pide nunca el ID de red.
Por JSON-RPC son llamadas separadas: eth_chainId devuelve el ID de cadena como string hexadecimal, y net_version devuelve el ID de red como string decimal. Si una herramienta pide un "ID de red" en el contexto de una wallet o una dapp, casi siempre se refiere al ID de cadena.
6. ¿Cómo encuentro el ID de cadena de una red?
Cuatro formas, de la más rápida a la de mayor autoridad.
- Las tablas de esta página
- Cubren las redes que la gente usa a diario, con la forma hexadecimal junto a cada número.
- chainlist.org o chainid.network
- Ambos leen el registro ethereum-lists/chains de GitHub, que lista más de 2.800 cadenas EVM. Buscar por nombre da el ID de cadena, el token nativo y URLs RPC públicas. Las propias páginas de ayuda de MetaMask remiten a Chainlist, con la advertencia de que MetaMask no mantiene los datos que hay allí, así que revisa la entrada antes de añadir una red.
- La configuración de red de la wallet
- MetaMask, Rabby, Trust Wallet y las demás muestran el ID de cadena de cada red configurada en sus detalles. Este es el número con el que la wallet está firmando realmente.
- El propio endpoint RPC
- Llama a eth_chainId en el nodo. Lo que devuelva es, por definición, el ID de cadena de esa red, y es lo que las wallets comparan cuando añades una red personalizada:
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 BaseEl resultado está en hexadecimal. 0x2105 es 8453, así que este endpoint pertenece a Base. Cualquier proveedor JSON-RPC responde a esta llamada sin clave de API, lo que la convierte en la forma más rápida de confirmar que una URL RPC que te ha pasado alguien es de la red que dicen.
7. ¿Cómo añado una red a MetaMask con su ID de cadena?
Añadir una red personalizada consiste en rellenar los cinco campos que define EIP-3085, el estándar detrás de la llamada wallet_addEthereumChain que las dapps usan para hacer lo mismo con un clic:
- Nombre de la red
- Texto libre, solo para mostrarlo.
- URL RPC
- El endpoint JSON-RPC con el que hablará la wallet. Los públicos están en Chainlist; la URL de tu propio proveedor también sirve.
- ID de cadena
- El número de las tablas de arriba. Las wallets aceptan decimal en el formulario; las dapps lo pasan como hexadecimal con prefijo 0x en la llamada a la API.
- Símbolo de la moneda
- Cómo se llama el token nativo: ETH en Base y Arbitrum, POL en Polygon, BNB en BNB Smart Chain, AVAX en Avalanche.
- URL del explorador de bloques
- Opcional. Permite a la wallet enlazar las transacciones con el explorador.
El ID de cadena y la URL RPC tienen que coincidir. EIP-3085 exige que la wallet rechace la petición si el ID de cadena que recibió no coincide con el valor de eth_chainId del endpoint RPC, y MetaMask muestra un error en el formulario cuando eso ocurre. Si lo ves, el número está mal, la URL es de otra red o la URL es un endpoint muerto; pruébala con la llamada curl de la sección anterior.
8. ¿Por qué me sale un error de ID de cadena que no coincide o de cadena no soportada?
La redacción varía entre wallets y dapps, pero solo hay un puñado de causas:
- La URL RPC y el ID de cadena no coinciden
- Escribiste 8453 pero pegaste una URL de la mainnet de Ethereum, o al revés. La wallet preguntó al endpoint, obtuvo otra respuesta y se negó. Corrige el que esté mal.
- La dapp no soporta la red en la que estás
- "Unsupported chain" o "wrong network" significa que los contratos de la dapp están desplegados en otros ID de cadena. Cambia la wallet a una de las que lista la dapp, normalmente desde su propio botón de red.
- Una transacción se firmó para un ID de cadena distinto al del nodo
- El nodo la rechaza con un error de invalid sender o invalid chain id, porque la firma EIP-155 no puede recuperarse en esa cadena. Es un error de configuración en el software que envía, nunca una caída de la red.
- Una cadena local cambió de ID
- Reiniciar un nodo de desarrollo con un ID de cadena distinto del que MetaMask tiene guardado produce discrepancias y nonces desactualizados. Elimina la red local y vuelve a añadirla.
- Se mezclaron hexadecimal y decimal
- 0x89 es 137, pero un formulario que espera decimal trata "0x89" como texto. Usa la forma decimal en los formularios de la wallet y la hexadecimal en las llamadas a la API.
9. Decimal, hexadecimal y CAIP-2: tres formas de escribir el mismo ID
Chainlist y los formularios de las wallets muestran los ID de cadena en decimal. JSON-RPC, EIP-3085 y la configuración interna de MetaMask usan hexadecimal con prefijo 0x, así que 137 aparece como 0x89, 42161 como 0xa4b1 y 11155111 como 0xaa36a7. Son el mismo entero; las tablas de arriba dan los dos.
Las herramientas multicadena como WalletConnect añaden una tercera forma, CAIP-2, que antepone al número un espacio de nombres para que las cadenas fuera del EVM puedan compartir un mismo esquema de identificadores: la mainnet de Ethereum es eip155:1, Polygon es eip155:137, Base es eip155:8453. La parte eip155 dice "esto es un ID de cadena EVM"; el número después de los dos puntos es el mismo ID de cadena que en todas partes.
10. ¿Tienen ID de cadena Bitcoin y Solana?
No en el sentido de EIP-155. El ID de cadena es un concepto del EVM, y Bitcoin, Litecoin, Dogecoin, Solana y XRP no tienen uno, por eso una wallet nunca te lo pide cuando añades esas monedas.
Esas redes distinguen la mainnet de las redes de prueba de otras maneras. Las cadenas de la familia Bitcoin usan formatos de dirección y parámetros de red distintos para mainnet y testnet, por eso una dirección de testnet empieza de otra forma. Solana ejecuta clusters separados llamados Mainnet, Devnet y Testnet, cada uno con su propio endpoint RPC. Si un formulario te pide un "ID de cadena" al depositar Bitcoin o Solana, te está preguntando qué red usar, no un número.
11. Usar los ID de cadena en código
Cualquier librería que firme transacciones EVM necesita el ID de cadena, ya sea desde la configuración o preguntándoselo al nodo. Con el SDK de ChainGate las redes alojadas ya lo llevan, y una red EVM personalizada lo recibe como parámetro junto a la URL RPC:
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);El valor que pases debe coincidir con lo que el endpoint reporta para eth_chainId, por las razones de la sección 4. El tutorial para enviar cripto en JavaScript recorre el resto del flujo, y la documentación de ChainGate lista las URLs RPC alojadas.
12. Por dónde seguir
Con el ID de cadena resuelto, la siguiente pregunta en cualquier red es cuánto cuesta enviar en ella. El gas tracker multi-chain cubre todas las redes de la tabla de mainnets de arriba con fees en vivo, y la guía sobre las gas fees explica los números que muestra. Si una transacción ya ha salido y necesitas encontrarla, la guía sobre el hash de transacción enseña cómo buscarla en el explorador correcto. Y para wallets, transferencias y acceso RPC en todas estas cadenas desde una sola librería TypeScript, ChainGate es el SDK detrás de este sitio.
Preguntas frecuentes
¿Qué es un ID de cadena (chain ID) en cripto?
Un número entero que identifica de forma única una blockchain compatible con EVM, definido por EIP-155. Se incluye en todas las firmas de transacción para que una transacción firmada para una red sea inválida en cualquier otra. La mainnet de Ethereum es 1, Base 8453, Arbitrum One 42161, Polygon 137.
¿Cuál es el ID de cadena de la mainnet de Ethereum?
1, que en hexadecimal se escribe 0x1. Sus testnets son Sepolia (11155111) y Hoodi (560048); Holesky (17000) está obsoleta desde septiembre de 2025.
¿Cuál es el ID de cadena de Base?
8453 en decimal, 0x2105 en hexadecimal. La testnet Base Sepolia es 84532.
¿Cuál es el ID de cadena de Arbitrum?
Arbitrum One es 42161 (0xa4b1). Arbitrum Nova es una cadena aparte, 42170, y la testnet Arbitrum Sepolia es 421614.
¿Cuál es el ID de cadena de Polygon?
Polygon PoS es 137 (0x89), con POL como token nativo. Polygon zkEVM es una cadena distinta, 1101, y la testnet Polygon Amoy es 80002.
¿Cuál es la diferencia entre ID de cadena e ID de red?
El ID de red se usa para la comunicación peer-to-peer entre nodos; el ID de cadena se usa en las firmas de transacción. Son el mismo número en la mainnet de Ethereum y en todas las testnets públicas, pero Ethereum Classic tiene ID de red 1 e ID de cadena 61, y la red de desarrollo de Besu usa ID de cadena 1337 con ID de red 2018.
¿Cómo encuentro el ID de cadena de una red?
Búscalo en chainlist.org o chainid.network, léelo en la configuración de red de tu wallet, o envía una llamada JSON-RPC eth_chainId a la URL RPC de la red. La respuesta del RPC, en hexadecimal, es el valor de referencia.
¿Por qué MetaMask dice que el ID de cadena no coincide?
Porque la URL RPC que introdujiste reporta un ID de cadena distinto del que escribiste. EIP-3085 exige a las wallets rechazar esa combinación. Comprueba el número con la lista, o llama a eth_chainId en la URL para ver qué red es en realidad.
¿Es el ID de cadena lo mismo que el valor hexadecimal de MetaMask?
Sí. MetaMask y JSON-RPC usan hexadecimal con prefijo 0x mientras que Chainlist y los formularios de las wallets usan decimal, pero 0x2105 y 8453 son el mismo número. Convierte entre ellos, nunca los mezcles en un mismo campo.
Construye con ChainGate
Lleva estas ideas al código — ChainGate te ofrece wallets, transacciones y RPC gestionado para Ethereum y más de 20 blockchains con una sola librería.