Resumen
Base Sepolia es la testnet de Base, una L2 de OP Stack que se asienta en Ethereum Sepolia. Para conectarte, apunta tu billetera o aplicación a un endpoint RPC de Base Sepolia y configura el ID de cadena 84532, la moneda ETH y el explorador https://sepolia.basescan.org. OnFinality proporciona un endpoint público de Base Sepolia en https://base-sepolia.api.onfinality.io/public para desarrollo y pruebas.
Los endpoints públicos son convenientes para pruebas rápidas, pero son compartidos y pueden tener límites de velocidad o congestionarse durante picos. Para pipelines de CI, entornos de staging o cualquier cosa que necesite un rendimiento estable, datos de archivo o suscripciones WebSocket, utiliza una API RPC gestionada o un nodo dedicado para que tu flujo de trabajo en testnet no dependa de un endpoint compartido de mejor esfuerzo.
Base Sepolia es la testnet que refleja la mainnet de Base. Se ejecuta en OP Stack y se asienta en Ethereum Sepolia, por lo que las herramientas que usas para la mainnet de Base en su mayoría se mantienen: los mismos métodos JSON-RPC, la misma semántica EVM y el mismo flujo de billetera. Las principales diferencias son el ID de cadena, el explorador y el hecho de que el ETH que gastas es ETH de testnet sin valor de mercado.
Si estás aquí porque necesitas un endpoint funcional ahora mismo, comienza con la configuración de la cadena a continuación, agrega la red a tu billetera y obtén ETH de testnet de un faucet. Si estás integrando Base Sepolia en un pipeline de CI o un entorno de staging, lee la sección sobre endpoints compartidos versus gestionados antes de codificar nada.
Configuración de la cadena de un vistazo
Estos son los valores que necesitas para agregar Base Sepolia a una billetera o a un cliente. Coinciden con la configuración de red de Base Sepolia.
| Configuración | Valor |
|---|---|
| Nombre de la red | Base Sepolia |
| ID de cadena | 84532 |
| Símbolo de moneda | ETH |
| Nombre de moneda | Sepolia Ether |
| Decimales | 18 |
| Explorador de bloques | https://sepolia.basescan.org |
| RPC público (OnFinality) | https://base-sepolia.api.onfinality.io/public |
| Transporte | HTTP |
Una nota rápida sobre el ID de cadena: 84532 es Base Sepolia. La mainnet de Base es 8453. Confundir estos es una de las razones más comunes por las que una transacción parece tener éxito en tus registros pero nunca aparece donde esperas.
Elegir cómo conectarte: endpoint compartido o RPC gestionado
La decisión más importante no es qué URL pegas primero, sino qué tipo de endpoint necesita tu carga de trabajo. Un endpoint público está bien para un desarrollador probando una llamada a un contrato. No es adecuado para un equipo que ejecuta pruebas de integración en cada pull request, o para una aplicación de staging que necesita respuestas consistentes durante una demostración.
Usa esta tabla para elegir la forma correcta de endpoint para tu situación.
| Tu situación | Buena opción | Por qué |
|---|---|---|
| Llamadas a contratos puntuales, aprendizaje, scripts rápidos | Endpoint público de Base Sepolia | Sin configuración, sin cuenta, funciona de inmediato |
| Pruebas de billetera, QA manual | Endpoint público o RPC gestionado | Bajo volumen, solicitudes a ritmo humano |
| Pipelines de CI que se ejecutan en cada commit | API RPC gestionada | Rendimiento predecible y una URL estable que puedes poner en secretos |
| Aplicación de staging con flujos de usuario reales | API RPC gestionada | Evita la congestión del endpoint compartido durante las demostraciones |
| Indexación de registros, reproducción de historial | RPC gestionado con acceso a archivo | Los endpoints públicos a menudo podan o limitan consultas profundas |
| Suscripciones a nuevos bloques o transacciones pendientes | RPC gestionado con WebSocket | Los endpoints públicos solo HTTP no pueden enviar eventos |
OnFinality proporciona un endpoint público de Base Sepolia para desarrollo, y un servicio de API RPC gestionado cuando necesitas más capacidad. Si tu entorno de testnet es efectivamente producción para tu equipo, un nodo dedicado elimina por completo la variable del endpoint compartido.
Agregar Base Sepolia a una billetera
La mayoría de las billeteras aceptan una red personalizada. Los campos se asignan directamente a la tabla anterior.
{
"chainId": "0x14a34",
"chainName": "Base Sepolia",
"rpcUrls": ["https://base-sepolia.api.onfinality.io/public"],
"nativeCurrency": {
"name": "Sepolia Ether",
"symbol": "ETH",
"decimals": 18
},
"blockExplorerUrls": ["https://sepolia.basescan.org"]
}
Ten en cuenta que el ID de cadena se escribe en hexadecimal aquí: 84532 en decimal es 0x14a34. Las billeteras que solicitan un ID de cadena hexadecimal rechazarán la forma decimal, y viceversa. Si una billetera se niega a guardar la red, verifica el formato antes de verificar cualquier otra cosa.
También puedes agregar la red programáticamente desde una dapp usando wallet_addEthereumChain, pasando el mismo objeto. Esto es útil cuando quieres que los usuarios lleguen a Base Sepolia sin configuración manual.
Obtener ETH de testnet de un faucet
El ETH de Base Sepolia proviene de faucets, no de exchanges. Necesitas una pequeña cantidad para desplegar contratos y enviar transacciones de prueba. La disponibilidad de los faucets cambia con el tiempo, así que trata cualquier faucet específico como un punto de partida en lugar de una dependencia permanente.
Algunas notas prácticas:
- Los faucets generalmente requieren un saldo mínimo en la mainnet o un inicio de sesión social para prevenir abusos.
- Algunos faucets entregan a una sola dirección por día. Si estás probando con un equipo, usa direcciones separadas.
- Puentea ETH de testnet desde Ethereum Sepolia si un faucet directo de Base Sepolia no está disponible. El puente oficial de Base admite Sepolia.
- Mantén una billetera de prueba dedicada. No reutilices una billetera que contenga activos en la mainnet.
Si una transacción de faucet está pendiente durante mucho tiempo, verifica el hash de la transacción en el explorador de Base Sepolia antes de asumir que el faucet falló. La congestión de la testnet suele ser temporal.
Verificar el endpoint con curl y viem
Antes de depurar el código de la aplicación, confirma que el endpoint responde. Una sola llamada a eth_chainId te dice si estás hablando con la cadena correcta.
curl -s https://base-sepolia.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
La respuesta debería ser "0x14a34", que es 84532. Si obtienes un ID de cadena diferente, estás apuntando a la red incorrecta. Si obtienes un error, el problema es el endpoint o tu ruta de red, no tu contrato.
Desde JavaScript, la misma verificación con viem se ve así:
import { createPublicClient, http } from 'viem';
import { baseSepolia } from 'viem/chains';
const client = createPublicClient({
chain: baseSepolia,
transport: http('https://base-sepolia.api.onfinality.io/public'),
});
const blockNumber = await client.getBlockNumber();
console.log('Base Sepolia head:', blockNumber);
Si getBlockNumber devuelve un número que sigue aumentando, tu ruta de lectura funciona. Lo siguiente que debes probar es una ruta de escritura: despliega un contrato trivial o envía una pequeña transferencia, luego confirma la transacción en el explorador.
Depurar fallos comunes de Base Sepolia
La mayoría de los problemas de Base Sepolia caen en un pequeño número de categorías. Relaciona el síntoma con la causa probable antes de cambiar el código.
| Síntoma | Causa probable | Qué verificar |
|---|---|---|
Error de discrepancia de chainId | Red incorrecta seleccionada | Confirma el ID de cadena 84532, no 8453 |
| Transacción atascada como pendiente | Precio de gas demasiado bajo o brecha de nonce | Verifica la secuencia de nonce y la tarifa base actual |
insufficient funds | Sin ETH de testnet | Obtén de un faucet, confirma el saldo en el explorador |
eth_getLogs no devuelve nada | Rango demasiado amplio o registros podados | Reduce el rango de bloques, prueba un endpoint con capacidad de archivo |
| Las solicitudes expiran bajo carga | Congestión del endpoint compartido | Mueve CI/staging a un endpoint RPC gestionado |
| WebSocket nunca se conecta | Endpoint solo HTTP | Usa un endpoint que admita transporte WebSocket |
| La llamada al contrato se revierte localmente pero no en la cadena | Estado obsoleto o dirección incorrecta | Vuelve a verificar la dirección desplegada y el número de bloque |
Dos de estos merecen más detalle. Primero, las brechas de nonce: si envías dos transacciones rápidamente y la primera falla, la segunda puede quedar pendiente porque el nonce está fuera de orden. Restablecer el nonce de la cuenta en tu billetera, o enviar una transacción de reemplazo con el mismo nonce y una tarifa más alta, generalmente lo soluciona. Segundo, eth_getLogs: los endpoints públicos a menudo limitan el rango de bloques o el número de resultados. Si estás indexando, solicita ventanas más pequeñas y pagina, o usa un endpoint que admita explícitamente consultas de archivo.
Qué cambia cuando pasas a la mainnet de Base
La buena noticia es que Base Sepolia y la mainnet de Base comparten la misma arquitectura, por lo que la migración es principalmente configuración. El ID de cadena cambia de 84532 a 8453, el explorador cambia de sepolia.basescan.org a basescan.org, y el ETH se vuelve real.
Lo que no cambia es la forma de tu decisión de infraestructura. Si dependías de un endpoint público compartido en la testnet y resistió, eso no es evidencia de que resistirá en la mainnet bajo tráfico real. Trata el paso a la mainnet como un buen momento para revisar tu elección de proveedor RPC y confirmar que tu endpoint admite los métodos que realmente llamas, incluidos los métodos de archivo o trace. OnFinality lista tanto Base como Base Sepolia como redes compatibles, para que puedas mantener el mismo proveedor en todos los entornos.
Lista de verificación operativa antes de lanzar
Una lista corta que atrapa la mayoría de las sorpresas de testnet a producción:
- Confirma que el endpoint responde a
eth_chainIdcon 0x14a34. - Almacena la URL RPC en variables de entorno, no en el código fuente.
- Decide si necesitas datos de archivo o WebSocket, y elige un endpoint que lo admita.
- Agrega un endpoint de respaldo para que una caída de un solo proveedor no detenga tu pipeline.
- Registra el ID de cadena al que se conecta tu aplicación al inicio, para que un entorno mal configurado sea obvio.
- Mantén la configuración de testnet y mainnet separadas y claramente nombradas.
- Revisa los precios de RPC antes de escalar el volumen de solicitudes, para que no haya sorpresas.
Puntos clave
- Base Sepolia usa el ID de cadena 84532, moneda ETH y explorador https://sepolia.basescan.org.
- El endpoint público de OnFinality es https://base-sepolia.api.onfinality.io/public sobre HTTP.
- Los endpoints públicos están bien para pruebas manuales pero no son adecuados para CI, staging o cualquier cosa que necesite acceso a archivo o WebSocket.
- Verifica la conectividad con
eth_chainIdantes de depurar el código de la aplicación. - La mayoría de los fallos se deben a un ID de cadena incorrecto, brechas de nonce, falta de ETH de testnet o límites del endpoint compartido.
- La migración a la mainnet de Base es principalmente configuración, pero es un buen momento para reevaluar tu configuración de RPC.
Preguntas frecuentes
¿Cuál es el ID de cadena de Base Sepolia?
Base Sepolia usa el ID de cadena 84532, que es 0x14a34 en hexadecimal. La mainnet de Base usa 8453.
¿Cuál es la URL RPC de Base Sepolia?
El endpoint público de OnFinality es https://base-sepolia.api.onfinality.io/public. También puedes explorar redes RPC compatibles para ver otras opciones.
¿El endpoint público de Base Sepolia tiene límite de velocidad?
Los endpoints públicos son compartidos, por lo que el rendimiento no está garantizado y el uso intenso o en ráfagas puede ser limitado. Para capacidad predecible, usa una API RPC gestionada o un nodo dedicado.
¿Cómo obtengo ETH de Base Sepolia?
Usa un faucet de Base Sepolia, o puentea ETH de testnet desde Ethereum Sepolia. La disponibilidad de los faucets cambia, así que verifica las opciones actuales antes de depender de uno.
¿Base Sepolia admite suscripciones WebSocket?
El endpoint público de OnFinality es HTTP. Si necesitas eth_subscribe para nuevos bloques o transacciones pendientes, usa un endpoint que admita transporte WebSocket.
¿Puedo usar el mismo código en la mainnet de Base?
Sí. Los métodos JSON-RPC y el comportamiento de EVM son los mismos. Cambias el ID de cadena, el explorador y la URL RPC, y usas ETH real.