Chains API

Solana network nodes: client software, versions and public RPC endpoints

Every node in the Solana network now: the client software and version each runs, the split across clients and versions, how many expose public RPC, and their addresses.

GET/api/external/chain-analysis/cluster-nodes/{chain}

What it returns

Every node taking part in Solana gossip right now, validators and non-voting nodes alike, one page at a time by identity: the client software and version it reports, its feature-set id, its shred version, the address it gossips on and, when it exposes one, the address of its public RPC service. The totals and the clients breakdown (client and version, most nodes first) describe the whole network, not the page; rpcNodeCount answers how many nodes offer a public RPC. Client and version are what each node reports about itself, verbatim — an unrecognised client reads Unknown(<code>) and development builds report versions like 0.0.0. The list refreshes about once a minute; pages cut from the same refresh are consistent.

Chains

  • Solana SOL

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/chain-analysis/cluster-nodes/SOL"
Parameters
ParameterDescription
offset

query · integer · optional

How many nodes to skip, in identity order. Defaults to 0.
limit

query · integer · optional

How many nodes to return: 1 to 200. Defaults to 50. limit ≤ 125 keeps the answer under 32 KB.
chain

path · string · required

SOL only; every other chain returns 400.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Solana network nodes: client software, versions and public RPC endpoints
FieldTypeDescription
nodeCountintegerNodes in the whole network.
rpcNodeCountintegerOf them, nodes that expose a public RPC service.
clientsobject[]The whole network by client and version, most nodes first (ties by client, then version).
clients[].clientstring | nullThe client software, as the nodes report it. Null when they report none.
clients[].versionstring | nullIts version, as the nodes report it. Null when they report none.
clients[].nodeCountintegerHow many nodes run this client at this version.
offsetintegerEchoes the request.
limitintegerEchoes the request.
nodesobject[]This page, by identity ascending. Empty when offset is past the list.
nodes[].identitystringThe node identity address — the one validators and the leader schedule name.
nodes[].clientstring | nullThe client software it reports. Null when it reports none.
nodes[].versionstring | nullThe software version it reports, verbatim. Null when it reports none.
nodes[].featureSetinteger | nullThe id of the feature set its software supports; nodes on the same id run compatible software. Null when it publishes none, as old and development builds do.
nodes[].shredVersioninteger | nullThe network fork identifier it runs on; every node of one network shares it. Null when it reports none.
nodes[].gossipstring | nullThe public ip:port it gossips on. Null when it reports none.
nodes[].rpcstring | nullThe public ip:port of its RPC service. Null when it exposes none.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key