Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
RPC Assistant

Sepolia Ethereum RPC: Configuración de endpoint, faucets y depuración

Resumen

Sepolia es la testnet principal de desarrollo de aplicaciones de Ethereum, y conectarse a ella requiere un endpoint JSON-RPC que coincida con su chain ID (11155111) y admita los métodos que llama tu herramienta. Esta referencia cubre la configuración exacta de la red, cómo obtener ETH de prueba y cómo depurar los fallos de conexión y transacción más comunes en Sepolia.

También explica cuándo un endpoint público de Sepolia es suficiente y cuándo tiene sentido un endpoint gestionado o dedicado para pipelines de CI, indexadores y equipos que necesitan un rendimiento predecible.

Sepolia es la testnet que la mayoría de los desarrolladores de Ethereum eligen primero. Se comporta como mainnet en la capa JSON-RPC, por lo que los contratos, wallets e indexadores que funcionan en Ethereum mainnet suelen funcionar en Sepolia con solo cambiar el chain ID y el endpoint. La fricción rara vez es el protocolo en sí: es elegir un endpoint que funcione, financiar una cuenta y diagnosticar por qué falla una solicitud.

Esta página es una referencia práctica: la configuración exacta de la cadena, una guía de decisión para elegir un tipo de endpoint, ejemplos de solicitudes que puedes pegar en una terminal y una ruta de depuración para los errores que probablemente encuentres.

¿Qué endpoint de Sepolia deberías usar?

Hay tres opciones prácticas, y la correcta depende de lo que estés haciendo, no de una preferencia personal.

  • Pruebas locales o puntuales. Un endpoint público suele ser suficiente. Envías unas pocas solicitudes, no te preocupan los límites de tasa y puedes cambiar de endpoint si uno va lento.
  • Desarrollo en equipo y staging. Una API RPC gestionada te da una clave de API, una configuración consistente entre máquinas y una vía de soporte cuando algo falla. Es la opción común para aplicaciones que eventualmente se desplegarán en mainnet.
  • Pipelines de CI, indexadores y pruebas de carga. Estos generan un volumen de solicitudes sostenido y a menudo necesitan datos de archivo o consultas de logs amplias. Un nodo dedicado elimina los efectos de vecinos ruidosos y te permite dimensionar la capacidad según tu carga de trabajo.

OnFinality proporciona Sepolia a través de su servicio de API RPC y mediante nodos dedicados cuando necesitas capacidad aislada. Puedes ver la entrada de la red en la página de RPC de Sepolia.

Si aún estás decidiendo entre infraestructura pública, gestionada y dedicada en general, la guía de selección de proveedor de RPC cubre los criterios de evaluación con más profundidad.

Configuración de la cadena Sepolia de un vistazo

Usa estos valores al agregar Sepolia a una wallet, una configuración de framework o un script de despliegue. Coinciden con la definición de red utilizada en las herramientas de Ethereum.

ConfiguraciónValor
Nombre de redEthereum Sepolia
Chain ID11155111
Símbolo de monedaETH (Sepolia test ETH)
Explorador de bloqueshttps://sepolia.etherscan.io
Transporte RPCHTTP y WebSocket, según el proveedor
Uso típicoPruebas de aplicaciones antes del despliegue en mainnet

Un endpoint público de OnFinality para Sepolia está disponible para pruebas ligeras:

https://eth-sepolia.api.onfinality.io/public

Los endpoints públicos son compartidos y están pensados para desarrollo y evaluación. Para cargas de trabajo similares a producción, usa una clave de API o un nodo dedicado para que tu tráfico no compita con otros usuarios.

Conexión desde una wallet

La mayoría de los problemas de conexión de wallet en Sepolia provienen de un chain ID que no coincide o de un endpoint obsoleto. Al agregar la red manualmente, ingresa el chain ID exactamente como 11155111, no como una cadena decimal con separadores ni como el chain ID de mainnet 1.

Si usas una wallet de navegador que admite el cambio de red programático, puedes solicitar la cadena directamente:

// Solicitar Sepolia desde una wallet inyectada
await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [{
    chainId: "0xaa36a7", // 11155111 en hexadecimal
    chainName: "Ethereum Sepolia",
    nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: ["https://eth-sepolia.api.onfinality.io/public"],
    blockExplorerUrls: ["https://sepolia.etherscan.io"]
  }]
});

Ten en cuenta que chainId en la solicitud de wallet está codificado en hexadecimal. Las llamadas JSON-RPC, en cambio, también devuelven el chain ID como una cadena hexadecimal, por lo que eth_chainId en Sepolia devuelve 0xaa36a7. Si tu aplicación compara ese valor con el decimal 11155111, la comprobación fallará: analízalo antes de comparar.

Obtener ETH de prueba de un faucet

El ETH de Sepolia no tiene valor de mercado, pero aún lo necesitas para desplegar contratos y enviar transacciones. Los faucets suelen requerir una de las siguientes cosas:

  • Una cuenta verificada en un proveedor de faucet.
  • Un pequeño saldo en mainnet, usado como señal antiabuso.
  • Un paso de prueba de trabajo o inicio de sesión social.

Notas prácticas que ahorran tiempo:

  1. Financia la dirección desde la que realmente vas a desplegar. Es fácil solicitar ETH a una dirección nueva y luego desplegar desde otra.
  2. Espera tiempos de espera. La mayoría de los faucets limitan la frecuencia con la que la misma dirección o IP puede solicitar fondos.
  3. No hagas bridge de ETH de mainnet a Sepolia. No hay una ruta de bridge compatible para eso; usa un faucet.
  4. Mantén un pequeño colchón. El despliegue de un contrato más unas pocas transacciones de prueba suele ser suficiente, pero los despliegues complejos con bytecode grande cuestan más gas.

Si una transacción de faucet queda pendiente durante mucho tiempo, revisa el explorador antes de solicitarla de nuevo: las solicitudes duplicadas a la misma dirección rara vez ayudan y pueden activar límites de tasa.

Hacer tus primeras llamadas JSON-RPC

Antes de conectar Sepolia a una aplicación, confirma que el endpoint responde y reporta la cadena esperada. Una sola llamada curl responde ambas preguntas.

curl -s https://eth-sepolia.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_chainId",
    "params": []
  }'

Una respuesta saludable se ve así:

{"jsonrpc":"2.0","id":1,"result":"0xaa36a7"}

Si ves 0x1 en su lugar, estás hablando con Ethereum mainnet, no con Sepolia. Si ves un objeto de error, el endpoint es accesible pero rechaza la solicitud: revisa el código de error antes de cambiar cualquier otra cosa.

Vale la pena ejecutar dos llamadas más durante la configuración:

# Altura actual del bloque
curl -s https://eth-sepolia.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

# Saldo de una dirección, en wei (hex)
curl -s https://eth-sepolia.api.onfinality.io/public \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getBalance","params":["0xYourAddress","latest"]}'

eth_blockNumber confirma que el nodo está sincronizado y siguiendo la cadena. eth_getBalance confirma que tu cuenta financiada es visible para el endpoint que planeas usar.

Usar Sepolia desde JavaScript

Con viem, Sepolia es una cadena integrada, por lo que solo necesitas proporcionar un transporte:

import { createPublicClient, http, formatEther } from "viem";
import { sepolia } from "viem/chains";

const client = createPublicClient({
  chain: sepolia,
  transport: http("https://eth-sepolia.api.onfinality.io/public")
});

const block = await client.getBlockNumber();
const balance = await client.getBalance({ address: "0xYourAddress" });

console.log("Sepolia block:", block);
console.log("Balance:", formatEther(balance), "ETH");

Con ethers, el patrón es similar: pasa la red Sepolia y una URL de proveedor:

import { JsonRpcProvider, formatEther } from "ethers";

const provider = new JsonRpcProvider(
  "https://eth-sepolia.api.onfinality.io/public",
  11155111
);

console.log(await provider.getBlockNumber());
console.log(formatEther(await provider.getBalance("0xYourAddress")));

Ambos ejemplos usan HTTP. Si tu aplicación depende de eth_subscribe para nuevos bloques o logs pendientes, necesitas un transporte WebSocket en su lugar, y tu proveedor debe exponerlo. Verifica la compatibilidad de transporte antes de diseñar en torno a suscripciones.

Depurar fallos comunes en Sepolia

La siguiente tabla asigna el síntoma que probablemente veas a la causa habitual y lo primero que debes revisar.

SíntomaCausa probablePrimera comprobación
eth_chainId devuelve 0x1El endpoint apunta a mainnetConfirma que la URL es el endpoint de Sepolia, no uno de mainnet
insufficient funds for gasLa cuenta no tiene ETH de SepoliaRevisa el saldo en sepolia.etherscan.io y luego usa un faucet
nonce too lowUna transacción anterior ya usó ese nonceConsulta eth_getTransactionCount con pending
Errores 429 o de límite de tasaEndpoint público compartido bajo cargaPasa a una clave de API o capacidad dedicada
method not foundEl endpoint no expone ese métodoVerifica que el método sea compatible con tu proveedor
Logs vacíos de eth_getLogsRango de bloques demasiado estrecho o dirección/tema incorrectosAmplía el rango y vuelve a revisar el filtro
La solicitud agota el tiempo de esperaEndpoint inaccesible o bloqueadoPrueba con curl desde el mismo host

Algunos de estos merecen más detalle.

Confusión de nonce en testnets. Como puedes estar enviando transacciones desde scripts, wallets y el explorador al mismo tiempo, los nonces pueden desviarse. Cuando una transacción parece atascada, consulta el nonce pendiente en lugar del último, y evita lanzar un reemplazo con un valor adivinado.

Consultas de logs que no devuelven nada. eth_getLogs es sensible al rango de bloques. En una testnet ocupada, un rango demasiado amplio puede ser rechazado, mientras que un rango demasiado estrecho no devuelve nada. Empieza con un rango modesto alrededor del bloque donde desplegaste y luego amplíalo.

Límites de tasa durante CI. Si tu pipeline ejecuta muchos trabajos en paralelo contra un endpoint público, los fallos parecerán aleatorios. Normalmente es contención, no un bug en tu código. Una clave de API o un nodo dedicado te da un presupuesto estable.

Cuándo dejar un endpoint público

Los endpoints públicos son convenientes y apropiados para el desarrollo temprano. Se convierten en un lastre cuando:

  • Tu pipeline de CI se ejecuta en cada commit y genera tráfico en ráfagas.
  • Un indexador o servicio backend hace polling continuamente.
  • Necesitas estado de archivo para consultas históricas.
  • Dependes de suscripciones WebSocket para actualizaciones en tiempo real.
  • Necesitas un canal de soporte cuando algo falla antes de un lanzamiento.

En ese punto, compara proveedores según los criterios que realmente afectan tu carga de trabajo: cobertura de métodos, disponibilidad de archivo, compatibilidad de transporte, cómo se aplican los límites y cómo funciona el failover. Los precios de RPC y la lista de redes RPC compatibles son buenos puntos de partida, y la guía de selección de proveedor recorre la evaluación en detalle.

Puntos clave

  • Sepolia usa el chain ID 11155111, que es 0xaa36a7 en las respuestas JSON-RPC.
  • Verifica siempre eth_chainId antes de depurar cualquier otra cosa: apuntar a mainnet es un error común.
  • Los faucets financian cuentas de prueba; no hay una ruta compatible para hacer bridge de ETH de mainnet a Sepolia.
  • Los endpoints públicos sirven para desarrollo ligero; CI, indexadores y aplicaciones basadas en suscripciones se benefician de capacidad gestionada o dedicada.
  • La mayoría de los errores de Sepolia se reducen a un conjunto pequeño: cadena incorrecta, sin fondos, desviación de nonce, límites de tasa o métodos no compatibles.

Preguntas frecuentes

¿Cuál es la URL RPC de Sepolia?

No hay una única URL canónica: Sepolia es una red y varios proveedores exponen endpoints para ella. Para pruebas ligeras puedes usar el endpoint público de OnFinality https://eth-sepolia.api.onfinality.io/public. Para cargas de trabajo similares a producción, usa un endpoint con clave de API o un nodo dedicado.

¿Cuál es el chain ID de Sepolia?

El chain ID de Sepolia es 11155111. JSON-RPC lo devuelve como la cadena hexadecimal 0xaa36a7.

¿Sepolia es lo mismo que Ethereum mainnet?

No. Sepolia es una testnet separada con su propio estado y su propio ETH que no tiene valor monetario. Ejecuta la misma EVM y la misma interfaz JSON-RPC, por lo que las herramientas de mainnet suelen funcionar con solo un cambio de configuración.

¿Por qué mi transacción en Sepolia dice fondos insuficientes?

Tu cuenta no tiene suficiente ETH de Sepolia para cubrir el valor de la transacción más el gas. Solicita ETH de prueba de un faucet y luego confirma el saldo en el explorador de bloques antes de reintentar.

¿Puedo usar suscripciones WebSocket en Sepolia?

Solo si tu proveedor expone un transporte WebSocket. Los endpoints HTTP no admiten eth_subscribe. Verifica la compatibilidad de transporte de tu endpoint elegido antes de construir en torno a suscripciones en tiempo real.

¿Necesito un nodo de archivo para Sepolia?

Solo si consultas estado histórico en alturas de bloque antiguas. Las consultas de estado reciente funcionan en un nodo estándar. Si tu aplicación necesita saldos históricos o trazas, confirma la disponibilidad de archivo con tu proveedor.

Base de conocimiento RPC

Detalles RPC relacionados

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar