Documentation index

getLargestAccounts

Returns the 20 largest accounts by lamport balance. You can optionally filter to show only circulating or non-circulating accounts. This method is useful for network analytics, understanding wealth distribution on the network, identifying major stakeholders, and tracking treasury or foundation accounts. The results are cached and may not reflect real-time balances.

Parameters

#TypeRequiredDescription
1objectNoConfiguration object

Configuration object fields:

FieldTypeDescription
commitmentstringCommitment level: processed, confirmed, or finalized
filterstringFilter: circulating or nonCirculating

Response

Returns an RpcResponse with an array of account objects:

FieldTypeDescription
context.slotu64The slot at which the value was read
value[].addressstringBase-58 encoded address of the account
value[].lamportsu64Number of lamports in the account

Code Examples

cURL

Terminal
curl http://88.216.36.108:7999 -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLargestAccounts",
  "params": [
    { "filter": "circulating" }
  ]
}'

TypeScript

TypeScript
const response = await fetch("http://88.216.36.108:7999", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "getLargestAccounts",
    params: [
      { filter: "circulating" }
    ]
  }),
});
const { result } = await response.json();
result.value.forEach(a => console.log(a.address, a.lamports / 1e9, "SOL"));

Python

Python
import requests

response = requests.post("http://88.216.36.108:7999", json={
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getLargestAccounts",
    "params": [
        {"filter": "circulating"}
    ]
})
result = response.json()["result"]
for a in result['value']: print(f"{a['address']}: {a['lamports']/1e9} SOL")

Rust

Rust
use reqwest::Client;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();
    let res = client.post("http://88.216.36.108:7999")
        .json(&json!({
            "jsonrpc": "2.0",
            "id": 1,
            "method": "getLargestAccounts",
            "params": [
                {"filter": "circulating"}
            ]
        }))
        .send().await?
        .text().await?;
    println!("{}", res);
    Ok(())
}

Example Response

JSON
{
  "jsonrpc": "2.0",
  "result": {
    "context": { "slot": 166974442 },
    "value": [
      { "address": "mv3ekLzLbnVPNxjSKvqBpU3ZeZXPQdEC3bp5MDEBG68", "lamports": 500000000000000 }
    ]
  },
  "id": 1
}