getHealth
Returns the current health of the node. A healthy node is one that is within HEALTH_CHECK_SLOT_DISTANCE slots of the latest cluster confirmed slot. This endpoint is essential for load balancers, monitoring systems, and health checks to ensure that RPC nodes are synchronized and capable of serving accurate data. It returns "ok" when healthy or an error when the node is behind.
Parameters
This method does not accept any parameters.
Response
Returns a single value:
| Field | Type | Description |
|---|---|---|
result | string | "ok" if the node is healthy; error response if unhealthy |
Code Examples
cURL
1curl http://[IP_ADDRESS]:[PORT] -X POST -H "Content-Type: application/json" -d '{
2 "jsonrpc": "2.0",
3 "id": 1,
4 "method": "getHealth",
5 "params": []
6}'TypeScript
1const response = await fetch("http://[IP_ADDRESS]:[PORT]", {
2 method: "POST",
3 headers: { "Content-Type": "application/json" },
4 body: JSON.stringify({
5 jsonrpc: "2.0",
6 id: 1,
7 method: "getHealth",
8 params: []
9 }),
10});
11const { result } = await response.json();
12console.log("Health:", result);Python
1import requests
2
3response = requests.post("http://[IP_ADDRESS]:[PORT]", json={
4 "jsonrpc": "2.0",
5 "id": 1,
6 "method": "getHealth",
7 "params": []
8})
9result = response.json()["result"]
10print(f"Health: {result}")Rust
1use reqwest::Client;
2use serde_json::json;
3
4#[tokio::main]
5async fn main() -> Result<(), Box<dyn std::error::Error>> {
6 let client = Client::new();
7 let res = client.post("http://[IP_ADDRESS]:[PORT]")
8 .json(&json!({
9 "jsonrpc": "2.0",
10 "id": 1,
11 "method": "getHealth",
12 "params": []
13 }))
14 .send().await?
15 .text().await?;
16 println!("{}", res);
17 Ok(())
18}Example Response
1{
2 "jsonrpc": "2.0",
3 "result": "ok",
4 "id": 1
5}