Validators Information API Documentación

¿Qué es la API de Información de Validadores (getValidatorsInformation)?

getValidatorsInformation es un método de Solana RPC extendido que devuelve los validadores que lideran al menos un slot en la época actual, con el peso de stake, los metadatos de endpoint de red, la ubicación de líder estimada y las mediciones de latencia de referencia reunidos en una fila por validador. No devuelve una lista de todos los nodos de la red y tampoco devuelve nodos RPC. Si tienes créditos de uso de ERPC (tokens de API), puedes llamarlo en el mismo formato que un método estándar de Solana RPC.
Esta API proporciona:
  • Una fila por validador que lidera un slot en la época actual, con slotCount indicando cuántos slots lidera — a diferencia de getLeaderSlots, que devuelve una fila por slot
  • stakeWeight para cada validador líder
  • Región líder estimada, ciudad, país, coordenadas, organización ASN y zona horaria
  • Mediciones de referencia de las regiones de observación de ERPC a través de pingToLeaders

Ejemplo de endpoint y cuerpo de solicitud

text
https://edge.erpc.global?api-key=<YOUR_API_KEY>
Todos los parámetros son opcionales; omitir params, o pasar params: [], devuelve todos los validadores que lideran un slot en la época actual.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": []
}
Para acotar el resultado, pasa un objeto con limit, country y region. Este ejemplo pide hasta 5 validadores en Alemania, lo que además cuesta menos que la solicitud sin filtrar anterior.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getValidatorsInformation",
  "params": [{ "limit": 5, "country": "DE" }]
}
Los tres parámetros son opcionales. country se compara con leaderCountry usando códigos ISO 3166-1 alfa-2 y no distingue mayúsculas. region se compara con leaderRegion de forma exacta y distinguiendo mayúsculas: lee leaderRegion de una respuesta sin filtrar para conocer los valores válidos de los validadores que te interesan. limit acepta de 1 a 2000 y se ajusta al número real de validadores de la época, por lo que un limit superior al recuento real nunca da error.

Ejemplo (HTTP)

bash
curl 'https://edge.erpc.global?api-key=<YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getValidatorsInformation",
    "params":[]
  }'

Respuesta de ejemplo (JSON)

result.total muestra cuántos validadores ha devuelto esta solicitud. El array data[] de abajo está abreviado a tres de las 670 entradas de esta época, y el pingToLeaders de cada entrada se ha recortado a una sola región de observación para facilitar la lectura.
json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true,
    "message": "Validator information retrieved successfully",
    "epoch": 1010,
    "total": 670,
    "totalValidators": 670,
    "data": [
      {
        "identity": "JupmVLmA8RoyTUbTMMuTtoPWHEiNQobxgTeGTrPNkzT",
        "gossipNodeId": 2233,
        "slotCount": 13232,
        "stakeWeight": 12254651.761860535,
        "ipAddress": "64.130.41.46",
        "gossipPort": 8000,
        "tpuPort": 9001,
        "tpuQuicPort": 9007,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "frankfurt",
        "leaderCity": "Frankfurt am Main",
        "leaderCountry": "DE",
        "leaderLat": 50.1924,
        "leaderLon": 8.6753,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Berlin",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 0.974,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-01T06:02:18.000Z"
          }
        ]
      },
      {
        "identity": "BSVckjdW2f8kcXPGcrPPtV9kUDBZ8w8PjrrGVnxgEdwq",
        "gossipNodeId": 1487,
        "slotCount": 2704,
        "stakeWeight": 2502391.138720913,
        "ipAddress": "5.199.172.175",
        "gossipPort": 12000,
        "tpuPort": 12003,
        "tpuQuicPort": 12009,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "stockholm",
        "leaderCity": "Šiauliai",
        "leaderCountry": "LT",
        "leaderLat": 55.93333,
        "leaderLon": 23.31667,
        "leaderOrg": "AS16125 UAB Cherry Servers",
        "leaderTimezone": "Europe/Vilnius",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 27.742,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-01T06:02:53.000Z"
          }
        ]
      },
      {
        "identity": "2oHUYyW2PU9VJh4XBs5TbGgzdernunvGqyKth3kxW4ns",
        "gossipNodeId": 902,
        "slotCount": 304,
        "stakeWeight": 280745.689124988,
        "ipAddress": "64.130.43.229",
        "gossipPort": 8001,
        "tpuPort": 5004,
        "tpuQuicPort": 5010,
        "rpcAddress": null,
        "version": "3.1.13",
        "featureSet": "534737035",
        "leaderRegion": "amsterdam",
        "leaderCity": "Amsterdam",
        "leaderCountry": "NL",
        "leaderLat": 52.37403,
        "leaderLon": 4.88969,
        "leaderOrg": "AS20326 TeraSwitch Networks Inc.",
        "leaderTimezone": "Europe/Amsterdam",
        "pingToLeaders": [
          {
            "city": "Frankfurt am Main",
            "region": "frankfurt",
            "ms": 16.835,
            "icmpReplied": true,
            "fromIp": "185.191.118.11",
            "country": "DE",
            "lat": 50.139,
            "lon": 8.6725,
            "org": "AS213896 UAB Cherry Servers",
            "postal": "60320",
            "timezone": "Europe/Berlin",
            "measuredAt": "2026-08-01T06:03:07.000Z"
          }
        ]
      }
    ]
  }
}

Campos de respuesta

CampoSignificado
result.successSi la solicitud tuvo éxito.
result.messageMensaje de estado legible por humanos.
result.epochÉpoca a la que pertenece el conjunto de líderes devuelto. Es la época más reciente presente en el calendario de líderes.
result.totalNúmero de validadores en data. Es la cantidad sobre la que se factura la llamada.
result.totalValidatorsNúmero de validadores líderes de esa época antes de aplicar country, region o limit. Compáralo con result.total para ver cuánto ha reducido el conjunto un filtro.
result.data[]Una entrada por validador, ordenada por slotCount descendente y después por identity, de modo que un limit devuelve los validadores que lideran más slots.
identityClave pública de identidad del validador.
gossipNodeIdIdentificador del registro de nodo gossip vinculado a este validador. Es null cuando no hay ningún nodo gossip vinculado, en cuyo caso los campos de ubicación, puertos y ping también están vacíos. Los validadores sin nodo gossip vinculado se devuelven en una solicitud sin filtrar, pero no pueden coincidir con un filtro country o region.
slotCountNúmero de slots que este validador lidera en la época indicada. Cada entrada corresponde a un validador, no a un slot.
stakeWeightStake activado de la identidad del validador, en SOL. Los validadores sin nodo gossip vinculado informan 0.
ipAddress, gossipPort, tpuPort, tpuQuicPort, rpcAddressMetadatos del endpoint de la red gossip del validador.
version, featureSetVersión del cliente de Solana y feature set informados por el validador.
leaderRegionEtiqueta normalizada de la región operativa utilizada para el enrutamiento y el análisis. Puede agrupar ciudades cercanas o ubicaciones de proveedores, y es el valor con el que coincide el parámetro de solicitud region.
leaderCity, leaderCountry, leaderLat, leaderLon, leaderOrg, leaderTimezoneGeolocalización estimada y organización de red para el validador.
pingToLeaders[]Latencia de referencia hasta este validador desde cada región de observación de ERPC, incluyendo región, ciudad, ms, icmpReplied, fromIp, país, coordenadas, organización ASN, código postal, zona horaria y measuredAt.
pingToLeaders[].icmpRepliedSi el validador respondió a la medición. Cuando es false, ms contiene un valor centinela almacenado en lugar de una latencia y no debe interpretarse como tal.
pingToLeaders[].measuredAtCuándo se midió la latencia por última vez, en ISO-8601 UTC. Úsalo para juzgar hasta qué punto una lectura es actual.

Visualización de la cobertura de validadores

La misma respuesta se puede leer como un mapa de cobertura a nivel de época en lugar de como una consulta slot por slot. Este ejemplo utiliza Frankfurt como punto de observación.
Región del validadorUbicaciónSlots en la épocaPeso de stakePing de FrankfurtLectura operativa
frankfurtFrankfurt am Main, DE13,23212,254,651.760.974 ms13,232 de los aproximadamente 432,000 slots de la época, en la misma área metropolitana. La capacidad de Frankfurt sirve a este validador durante toda la época, no solo durante una ventana de slot.
stockholmŠiauliai, LT2,7042,502,391.1427.742 msUna parte recurrente de la época con una latencia que otra ubicación europea atendería mejor.
amsterdamAmsterdam, NL304280,745.6916.835 msPocos slots por época. La ruta es corta, pero eso por sí solo no es razón para ubicar capacidad.
getLeaderSlots responde qué validadores lideran los próximos slots, por lo que encaja para enrutar una transacción ahora mismo; este método responde qué validadores lideran la época en general y con qué frecuencia, por lo que encaja para decidir dónde debe situarse la capacidad durante la época.

Sitio web de datos de red Solana

Validators Solutions - Solana network data
Para la vista pública de la distribución de la red, utiliza Validators Solutions, y después getValidatorsInformation para el recuento de slots por validador, el stake, la ubicación y la latencia medida.

Uso de tokens

Este método se factura según el número de validadores que devuelve, en unidades de 10: cada 10 validadores cuestan 100 tokens, y una unidad parcial cuenta como una completa. Por tanto, una respuesta de 95 validadores se cobra como 10 unidades, es decir, 1.000 tokens.
Como el cargo sigue a lo que se devuelve y no a lo que se solicita, acotar el conjunto con country o region cuesta proporcionalmente menos, y una solicitud que no coincide con ningún validador no cuesta nada. Un limit superior al número de validadores de la época se ajusta al recuento real, por lo que una solicitud nunca paga por validadores que no existen.
El tamaño del conjunto de líderes cambia de una época a otra. En la época mostrada arriba era de 670 validadores, lo que sitúa una lectura completa en aproximadamente 6.700 tokens.

Por qué importa la información de validadores

  • Una fila por validador responde a quién lidera esta época y en qué medida, sin agregar cientos de miles de filas de slots en el cliente.
  • slotCount muestra con qué frecuencia un validador es líder en esta época, de modo que una ruta corta hacia un validador con slotCount alto se rentabiliza repetidamente.
  • country y region muestran dónde se sitúa realmente la capacidad de líderes de la época.
  • El ping combinado con measuredAt distingue una ruta lenta de una lectura desactualizada.

Antecedentes

Una época de Solana consiste en aproximadamente 432.000 slots. Una vez que las asignaciones de líder de esos slots se agrupan por identidad de validador, se reducen a unas 670 filas de validadores. ERPC mantiene el calendario de líderes, los metadatos de los validadores, la geolocalización y la recopilación de latencias, y expone el resultado a través de la interfaz RPC.

Casos de uso estratégico

  • Planificación de capacidad a nivel de época: dimensionar la infraestructura frente al conjunto completo de validadores que lideran la época actual, no frente a una ventana de slots móvil.
  • Listas cortas regionales: usar country y region para extraer los validadores que lideran slots en una ubicación objetivo.
  • Priorización según recuento de slots y stake: combinar slotCount y stakeWeight para clasificar validadores dentro de una lista corta.
  • Monitorización entre épocas: comparar la distribución de leaderRegion entre épocas para ver cómo cambia la geografía de los líderes.

Disponibilidad

getValidatorsInformation está disponible para todos los usuarios de ERPC. Los tokens de API y los créditos de uso se pueden emitir o verificar en ERPC Dashboard.

Tasa de éxito de transacción y endpoint SWQoS

Para mejorar aún más la tasa de éxito de transacción y la velocidad de ejecución, recomendamos utilizar el SWQoS Endpoint. SWQoS (Stake-Weighted Quality of Service) prioriza a los validadores con conexiones de stake. Los líderes asignan aproximadamente el 80% del ancho de banda al tráfico prioritario y el 20% al tráfico no prioritario, con el carril prioritario que ofrece aproximadamente 5x de rendimiento. Esta programación se lleva a cabo antes de la evaluación de la cuota de prioridad, lo que significa entrar en el carril de prioridad SWQoS es el requisito previo para el verdadero rendimiento de baja latencia.