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

¿Qué RPC URL deberías usar para BNB Smart Chain?

Resumen

La RPC URL para BNB Smart Chain mainnet es https://bnb.api.onfinality.io/public, con chain ID 56 y BNB como token nativo. Para testnet, usa https://bnb-testnet.api.onfinality.io/public con chain ID 97 y tBNB. Este artículo muestra cómo agregar la red a tu billetera, llamar a métodos JSON-RPC y decidir cuándo un endpoint público es suficiente frente a cuándo necesitas infraestructura de nodos dedicada.

Si estás conectando una billetera, un script o un servicio backend a BNB Smart Chain, lo primero que necesitas es una RPC URL que funcione. Esta página te da el endpoint exacto, la configuración de la cadena que debe coincidir con él y una forma práctica de decidir si un endpoint público es suficiente o si tu carga de trabajo necesita infraestructura de nodos dedicada.

El endpoint y la configuración de la cadena de un vistazo

La razón más común por la que falla esta búsqueda es un desajuste entre la RPC URL y el chain ID. BNB Smart Chain mainnet y testnet son redes diferentes con IDs diferentes, tokens nativos diferentes y exploradores diferentes. Mezclarlos produce errores confusos, como transacciones que nunca se confirman o saldos que parecen vacíos.

ConfiguraciónBNB Smart Chain mainnetBNB Chain testnet
RPC URLhttps://bnb.api.onfinality.io/publichttps://bnb-testnet.api.onfinality.io/public
Chain ID5697
Nombre de la cadenaBNB Smart Chain MainnetBNB Smart Chain Testnet
Token nativoBNB (18 decimales)tBNB (18 decimales)
Explorador de bloqueshttps://bscscan.comhttps://testnet.bscscan.com
TransporteHTTP y WebSocketHTTP

Usa la fila de mainnet para fondos reales y tráfico de producción. Usa la fila de testnet mientras desarrollas, y recuerda que los tokens de testnet no tienen valor y deben provenir de un faucet.

Qué endpoint se ajusta a tu carga de trabajo

Antes de copiar una URL en un archivo de configuración, decide qué tipo de tráfico estás enviando. La elección correcta depende menos de la cadena y más de tu patrón de acceso.

  • Scripts puntuales y desarrollo local. Un endpoint público suele ser suficiente. Estás enviando unas pocas solicitudes y no necesitas garantías de rendimiento.
  • Billeteras y dApps pequeñas. Un endpoint público compartido puede funcionar para tráfico de lectura ligero, pero deberías planificar el momento en que tu número de usuarios crezca y las solicitudes empiecen a competir por capacidad.
  • Indexadores, bots y backends que consultan bloques o logs. Estas cargas de trabajo envían solicitudes constantes y de alto volumen y a menudo necesitan datos de archivo. Aquí es donde una RPC API gestionada o un nodo dedicado se convierte en la opción predeterminada sensata.
  • Servicios de trading y sensibles a la latencia. Si tu aplicación reacciona a nuevos bloques o transacciones pendientes, quieres acceso predecible y soporte de WebSocket en lugar de una URL pública de mejor esfuerzo.

Si no estás seguro, empieza con un endpoint público para validar tu integración, luego pasa a un plan gestionado o dedicado antes de lanzar a usuarios reales. Puedes comparar opciones en la página de precios de RPC y revisar la lista completa de redes RPC compatibles.

Agregar BNB Smart Chain a una billetera

La mayoría de las billeteras aceptan una red personalizada. Los campos se corresponden directamente con la tabla de configuración anterior. En billeteras tipo MetaMask, abre el selector de red, elige "Agregar red" o "Agregar una red manualmente" y completa:

  • Nombre de la red: BNB Smart Chain
  • Nueva RPC URL: https://bnb.api.onfinality.io/public
  • Chain ID: 56
  • Símbolo de moneda: BNB
  • URL del explorador de bloques: https://bscscan.com

Si la billetera rechaza la red, la causa habitual es un chain ID que no coincide con la RPC URL, o un espacio al final pegado en el campo de URL. Vuelve a copiar el endpoint e inténtalo de nuevo.

Llamar a BNB Smart Chain mediante JSON-RPC

BNB Smart Chain es compatible con EVM, por lo que la superficie de JSON-RPC coincide con lo que ya conoces de Ethereum. Una forma rápida de confirmar que tu endpoint está activo es solicitar el chain ID y el último número de bloque.

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

Una respuesta saludable devuelve el chain ID en hexadecimal, por lo que mainnet devuelve 0x38 (56 en decimal). Para comprobar que estás siguiendo la cabeza de la cadena, solicita el último bloque:

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

En JavaScript, la misma comprobación se ve así con una llamada fetch simple, lo cual es útil cuando quieres verificar un endpoint antes de agregar una librería:

const RPC_URL = "https://bnb.api.onfinality.io/public";

async function checkEndpoint() {
  const res = await fetch(RPC_URL, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      jsonrpc: "2.0",
      id: 1,
      method: "eth_getBalance",
      params: ["0x0000000000000000000000000000000000000000", "latest"]
    })
  });
  const data = await res.json();
  console.log("balance:", data.result);
}

checkEndpoint();

Para librerías como ethers o viem, pasas la misma URL como transporte. El endpoint no cambia entre JSON-RPC sin procesar y una librería; solo cambia la convención de llamada.

Leer logs e historial sin sorpresas

Dos tipos de solicitudes causan la mayoría de los problemas de integración con BNB Smart Chain: las consultas de logs y las lecturas de estado histórico.

eth_getLogs te permite extraer eventos de un contrato en un rango de bloques. Los endpoints públicos suelen limitar cuán amplio puede ser ese rango, porque un rango muy grande es costoso de servir. Si tu consulta devuelve un error sobre que el rango es demasiado grande, redúcelo y pagina. Si necesitas rangos amplios con regularidad, eso es una señal de que tu carga de trabajo pertenece a un plan gestionado o dedicado en lugar de una URL pública compartida.

Las lecturas históricas, como solicitar un saldo en un bloque antiguo, requieren datos de archivo. Un nodo estándar mantiene el estado reciente y poda el estado más antiguo, por lo que una solicitud de un bloque muy pasado puede fallar aunque el endpoint esté saludable. Si tu aplicación necesita historial profundo, confirma el soporte de archivo antes de comprometerte con un proveedor.

Cuándo un endpoint público deja de ser suficiente

Una RPC URL pública es un recurso compartido. Es excelente para empezar y para lecturas de bajo volumen, pero no está diseñada para absorber tu tráfico de producción. Los síntomas de haberla superado son consistentes y fáciles de reconocer:

  • Las solicitudes se agotan intermitentemente durante períodos de mucha actividad.
  • Alcanzas los límites de tasa exactamente cuando tus usuarios están más activos.
  • Las consultas de logs fallan porque el rango de bloques es demasiado amplio.
  • Necesitas suscripciones WebSocket para actualizaciones en tiempo real.
  • Necesitas datos de archivo o trace que un endpoint compartido no expone.

Cuando veas esto, la solución no es una URL pública diferente. Es capacidad dedicada. OnFinality ofrece acceso a RPC API e infraestructura de nodos dedicada, para que puedas pasar de un endpoint compartido a un plan que se ajuste a tu volumen de solicitudes y necesidades de datos. Los nodos dedicados le dan a tu tráfico sus propios recursos, lo que elimina la contención que sientes en un endpoint compartido. Puedes leer más sobre esa opción en la página de nodos dedicados.

Una breve lista de verificación para la migración

Pasar de una URL pública a acceso gestionado o dedicado es principalmente un cambio de configuración, pero algunos pasos evitan el tiempo de inactividad:

  1. Levanta el nuevo endpoint junto al antiguo y ejecuta ambos en paralelo.
  2. Dirige un pequeño porcentaje del tráfico al nuevo endpoint y compara las respuestas.
  3. Confirma que los métodos en los que confías sean compatibles, incluidos los requisitos de archivo o WebSocket.
  4. Agrega un endpoint de respaldo para que un problema de un solo proveedor no te deje fuera de línea.
  5. Monitorea las tasas de error y la latencia antes y después del cambio.
  6. Retira la URL pública una vez que el nuevo endpoint sea estable.

Mantener un respaldo vale el pequeño esfuerzo adicional. Incluso un endpoint bien gestionado se beneficia de una segunda ruta, y la lógica de failover es mucho más fácil de agregar antes de un incidente que durante uno.

Modos de fallo comunes y cómo interpretarlos

SíntomaCausa probableQué hacer
Las transacciones nunca se confirmanChain ID incorrecto o red incorrectaVerifica el chain ID 56 y la RPC URL de mainnet
El saldo muestra ceroApunta a testnet, o checksum de dirección incorrectoCambia al endpoint de mainnet y vuelve a verificar la dirección
Error de rango en eth_getLogsRango de bloques demasiado amplio para un endpoint compartidoReduce el rango y pagina, o pasa a un plan dedicado
Fallan las lecturas de bloques antiguosNo hay datos de archivo en el endpointConfirma el soporte de archivo con tu proveedor
Tiempos de espera intermitentesCapacidad compartida bajo cargaPasa a capacidad gestionada o dedicada
Desconexiones de WebSocketTransporte no compatible o inestableConfirma el soporte de WebSocket y agrega lógica de reconexión

La mayoría de estos son problemas de configuración más que problemas de la cadena. Leer el mensaje de error con atención suele señalar directamente la solución.

Puntos clave

  • La RPC URL de BNB Smart Chain mainnet es https://bnb.api.onfinality.io/public, con chain ID 56 y BNB como token nativo.
  • La RPC URL de testnet es https://bnb-testnet.api.onfinality.io/public, con chain ID 97 y tBNB.
  • Siempre haz coincidir la RPC URL con el chain ID correcto; los desajustes causan los errores de integración más comunes.
  • Los endpoints públicos sirven para desarrollo y lecturas ligeras; las cargas de trabajo de alto volumen, archivo o WebSocket pertenecen a infraestructura gestionada o dedicada.
  • Mantén un endpoint de respaldo y monitorea las tasas de error antes y después de cualquier migración.

Preguntas frecuentes

¿Cuál es la RPC URL de BNB Smart Chain? El endpoint de mainnet es https://bnb.api.onfinality.io/public. Admite transporte HTTP y WebSocket y usa chain ID 56.

¿Cuál es el chain ID de BNB Smart Chain? Mainnet usa chain ID 56. Testnet usa chain ID 97. El chain ID debe coincidir con la RPC URL que configures.

¿Cuál es la RPC URL de BNB testnet? Usa https://bnb-testnet.api.onfinality.io/public con chain ID 97 y el token tBNB. Los tokens de testnet provienen de un faucet y no tienen valor.

¿Puedo usar una RPC URL pública en producción? Puedes, pero los endpoints públicos compartidos no están hechos para tráfico sostenido de alto volumen. Si ves tiempos de espera, límites de tasa o errores de rango de logs, pasa a un plan gestionado o dedicado.

¿BNB Smart Chain admite WebSocket? Sí. El endpoint de mainnet admite transporte WebSocket, lo cual es útil para suscripciones y actualizaciones en tiempo real. Confirma el soporte de transporte para cualquier endpoint que adoptes.

¿Por qué mi saldo aparece como cero? Las razones más comunes son apuntar a testnet en lugar de mainnet, o usar una dirección con el checksum incorrecto. Verifica el endpoint y el formato de la dirección.

Próximos pasos

Empieza validando tu integración contra el endpoint público, luego decide si tu perfil de tráfico necesita más. Si envías consultas constantes de bloques o logs, ejecutas un bot o sirves a usuarios reales, mira Precios de RPC para comparar planes y revisa la página de la red BNB Smart Chain para detalles del endpoint. Si necesitas tus propios recursos, los nodos dedicados eliminan la contención de una URL compartida. Para todo lo demás que OnFinality admite, explora la lista completa de redes RPC compatibles.

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