OpenInfra.sh is now live - Solana infrastructure, included with every server. LEARN MORE HERE >

OpenInfra.shopeninfra.sh

getSupply

Returns total, circulating, and non-circulating supply data.

Request

Send a JSON-RPC 2.0 POST request with method: "getSupply". The params array accepts an optional configuration object.

curl · JSON-RPCjson
{  "jsonrpc": "2.0",  "id": 1,  "method": "getSupply",  "params": [    {      "commitment": "finalized"    }  ]}

Parameters

ParameterTypeRequiredDescription
configobjectNoOptional configuration object. See fields below.
config.commitmentstringNoDesired finality level for the query. Accepted values: processed, confirmed, finalized (default).
config.excludeNonCirculatingAccountsListboolNoWhen true, omit the nonCirculatingAccounts array from the response. Defaults to false.

commitment values

ValueDescription
processedReturn data from the highest slot this node has processed on the fork it currently considers best. This is the newest view, but it can still change if the cluster switches forks.
confirmedReturn data from the highest slot that at least two-thirds of active stake has directly voted to confirm. More stable than processed, but a weaker guarantee than finalized.
finalizedReturn data from the highest slot that the cluster recognizes as finalized. The slot has reached maximum vote lockout in validators' vote towers and is recognized by at least two-thirds of active stake. This is the strongest commitment level.

excludeNonCirculatingAccountsList example

{ "excludeNonCirculatingAccountsList": true }

Response

response.jsonjson
{  "jsonrpc": "2.0",  "result": {    "context": { "apiVersion": "3.1.8", "slot": 1114 },    "value": {      "total": 1016000,      "circulating": 16000,      "nonCirculating": 1000000,      "nonCirculatingAccounts": [        "FEy8pTbP5fEoqMV1GdTz83byuA8EKByqYat1PKDgVAq5",        "9huDUZfxoJ7wGMTffUE7vh1xePqef7gyrLJu9NApncqA",        "3mi1GmwEE3zo2jmfDuzvjSX9ovRXsDUKHvsntpkhuLJ9",        "BYxEJTDerkaRWBem3XgnVcdhppktBXa2HbkHPKj2Ui4Z"      ]    }  },  "id": 1}

The result is an RpcResponse object with a context field and a value field containing the supply breakdown.

context

FieldTypeDescription
slotu64Slot at which the node evaluated this request.
apiVersionstringRPC API version reported by the node. This field may be omitted by older nodes.

value

FieldTypeDescription
totalu64Total supply, in lamports.
circulatingu64Circulating supply, in lamports.
nonCirculatingu64Non-circulating supply, in lamports.
nonCirculatingAccountsarrayAccount addresses of non-circulating accounts, as base-58 encoded strings. If excludeNonCirculatingAccountsList is enabled, this array is empty.