cryptofoundry

Contact cryptofoundry

Tell us what you want to build or automate.

Dev Guidelines & Docs

Health Check: Endpoints

See also: Health Check: Algorithm, General Description

For the health check, we receive the current node height or the update timestamp for a service. Receiving the node version is optional and is done only if no additional requests are required.

Node and Service Health Check Endpoints

Node or ServiceHealth Check EndpointComments
adm-node (no service/indexer)https://endless.adamant.im/api/node/statusIncludes node version
Currencyinfo servicehttps://info.adamant.im/statusIncludes software version
btc-nodeSingle RPC request combining getblockchaininfo and getnetworkinfoIncludes node version
btc-indexerhttps://btcnode2.adamant.im/blocks/tip/heightNo endpoint to get Indexer’s version
eth-nodeSingle RPC request combining eth_blockNumber and web3_clientVersionIncludes node version
eth-indexerhttps://ethnode3.adamant.im/max_blockIncludes software version
doge-nodeSingle RPC request combining getblockchaininfo and getnetworkinfoIncludes node version
doge-indexerhttps://dogenode1.adamant.im/api/statusIncludes node (not service/indexer) version
dash-node (no service/indexer)getStatus RPC (combine getnetworkinfo for version + getblockchaininfo for height)Includes node version
lsk-node (kly-node)system_getNodeInfo RPCIncludes node version
lsk-service (kly-service)https://klyservice2.adamant.im/api/v3/network/statusIncludes node (not service/indexer) version
ipfs-nodehttps://ipfs4.adm.im/api/node/infoIncludes node version; additional IPFS info for health check in progress

For BTC and Doge nodes, a single batched RPC call retrieves both blockchain info and network info, avoiding an extra round trip. An example BTC request:

curl --data-binary '[{"jsonrpc":"1.0","id":"curltext1","method":"getblockchaininfo","params":[]}, {"jsonrpc":"1.0","id":"curltext2","method":"getnetworkinfo","params":[]}]' -H 'content-type:text/plain;' https://dogenode1.adamant.im

For ETH nodes, the analogous batched call combines eth_blockNumber and web3_clientVersion:

curl --data '[{"method":"eth_blockNumber","params":[],"id":1,"jsonrpc":"2.0"}, {"method":"web3_clientVersion","params":[],"id":2,"jsonrpc":"2.0"}]' -H "Content-Type: application/json" -X POST localhost:8545

The ETH response returns the block number as a hex value and the client version string, for example Geth/v1.13.5-stable-916d6a44/linux-amd64/go1.21.4. Client names generally follow the pattern Geth/v1.13.5 or Nethermind/v1.22.0.

Note that some indexers expose only height or status without a version endpoint, and in the case of the Doge and LSK services the returned version reflects the underlying node rather than the indexer or service software itself.