Skip to content

Solana methods

Solana methods provide a powerful way to interact with the Solana blockchain, allowing users to retrieve or modify account data, transaction details, and on-chain information. By calling specific methods, you can query the current state of an account using its public key, obtaining crucial details such as the account’s balance in lamports, its ownership, associated program, and data encoding formats. These methods also support configurable options, such as choosing the encoding for account data (e.g., base58, base64, or jsonParsed), and filtering results with parameters like dataSlice. Whether you’re interested in fetching metadata about an account, examining transaction histories, or adjusting account-related settings, Solana methods offer a seamless and efficient way to access and manage blockchain data.

getAccountInfo ()

Establish a connection via JSON-RPC.
getAccountInfo

Description

Returns all information associated with the account of the provided Pubkey.


Parameters

Pubkey (string)

Pubkey of the account to query, as a base-58 encoded string.

Config (object, optional)

Optional configuration object containing the following optional fields:

  • Commitment (optional)

  • encoding (string)
    Encoding for Account data, options include:

    • "base58": Limited to Account data of less than 129 bytes.
    • "base64": Returns base64 encoded data for Account data of any size.
    • "base64+zstd": Compresses the Account data using Zstandard and base64-encodes the result.
    • "jsonParsed": Attempts to use program-specific parsers for a human-readable format. If unavailable, falls back to "base64".
  • dataSlice (object, optional)
    Limits the returned account data using:

    • offset (usize)
    • length (usize)
      Only available for "base58", "base64", or "base64+zstd" encodings.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "getAccountInfo",
  "params": [
    "your-account-public-key",  // Replace with the actual account public key
    {
      "encoding": "base58"  // Optional encoding configuration, can be "base58", "base64", "jsonParsed", etc.
    }
  ]
}
'

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "context": {
      "slot": 123456
    },
    "value": {
      "data": [
        "11116bv5nS2h3y12kDvhgfhgGcKLSjQgX6BeV7u1FrjeJcKfsHRTPuR3oZ1EioKtYGiYxpxMG5vpbZLsbcBYBEmZZcMKaSoGx9JZeAuWf",
        "base58"
      ],
      "executable": false,
      "lamports": 16756300000,
      "owner": "111111111776461111111111111111111",
      "rentEpoch": 2
    }
  }
}

getBlockTime ()

Establish a connection via JSON-RPC.
getBlockTime

Description

Returns the estimated block time for a given block on the Solana blockchain.

Parameters

BlockSlot (integer) The block slot number for which to retrieve the estimated block time.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "getBlockTime",
  "params": [
    123456  // Replace with the actual block slot number
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": 162450400  // Unix timestamp representing the block time
}

getTransaction ()

Establish a connection via JSON-RPC.
getTransaction

Description

Fetches detailed information about a specific transaction on the Solana blockchain using its signature.

Parameters

Signature (string) The transaction signature (SHA-256 hash) of the transaction to query.

Config (object, optional) Optional configuration object containing the following optional fields:

Commitment (optional) encoding (string) Encoding options similar to getAccountInfo method.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "getTransaction",
  "params": [
    "your-transaction-signature",  // Replace with the actual transaction signature
    {
      "encoding": "jsonParsed"  // Optional encoding configuration
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "slot": 123456,
    "transaction": {
      "message": {
        "accountKeys": [
          "your-public-key",
          "recipient-public-key"
        ],
        "instructions": [
          {
            "programIdIndex": 1,
            "data": "base64-encoded-data"
          }
        ]
      },
      "meta": {
        "fee": 7000,
        "status": "Success"
      }
    }
  }
}

getBalance ()

Establish a connection via JSON-RPC.
getBalance

Description

Fetches the lamport balance of the account associated with the provided Pubkey on the Solana blockchain.

Parameters

  • Pubkey (string, required)
    The base-58 encoded public key of the account to query for the balance.

  • Config (object, optional)
    Optional configuration object containing the following fields:

    • commitment (string, optional)
      The commitment level for the request, such as finalized, confirmed, or processed.
    • minContextSlot (number, optional)
      The minimum slot that the request can be evaluated at.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0", 
    "id": 1,
    "method": "getBalance",
    "params": [
      "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
    ]
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": { 
    "context": { 
      "slot": 12 
    }, 
    "value": 0 
  },
  "id": 4
}

getBlock ()

Establish a connection via JSON-RPC.
getBlock

Description

Returns identity and transaction information about a confirmed block in the Solana blockchain ledger.

Parameters

  • slot (u64, required)
    The slot number of the block to query, provided as a 64-bit unsigned integer.

  • Config (object, optional)
    Optional configuration object containing the following fields:

    • commitment (string, optional)
      Default: finalized
      The commitment level for the request (other options: processed is not supported).
    • encoding (string, optional)
      Default: json
      The encoding format for each returned transaction. Possible values: json, jsonParsed, base58, base64.
    • transactionDetails (string, optional)
      Default: full
      The level of transaction detail to return. Possible values: full, accounts, signatures, none.
    • maxSupportedTransactionVersion (number, optional)
      The maximum transaction version to return in the response.
    • rewards (bool, optional)
      Whether to include rewards in the response. If not provided, rewards are included by default.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d ' {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBlock",
    "params": [
      123456, 
      {
        "commitment": "finalized",
        "encoding": "jsonParsed",
        "transactionDetails": "full",
        "rewards": true
      }
    ]
  }'

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "blockhash": "5K99j9DJygYXhZPpGExbdtY8F9VggEqLQ8sLf2a8j9g1",
    "previousBlockhash": "11111111111111111111111111111111",
    "parentSlot": 123455,
    "transactions": [
      {
        "transaction": {
          "message": {
            "accountKeys": [
              "your-public-key",
              "recipient-public-key"
            ],
            "instructions": [
              {
                "programIdIndex": 1,
                "data": "base64-encoded-data"
              }
            ]
          },
          "meta": {
            "err": null,
            "fee": 7000,
            "preBalances": [1000000000, 2000000000],
            "postBalances": [999995000, 2000005000]
          }
        },
        "signatures": [
          "signature1",
          "signature2"
        ]
      }
    ],
    "rewards": [
      {
        "pubkey": "reward-public-key",
        "lamports": 3000,
        "postBalance": 100500,
        "rewardType": "fee",
        "commission": 0
      }
    ],
    "blockTime": 1634799322,
    "blockHeight": 123456
  }
}

getBlockCommitment ()

Establish a connection via JSON-RPC.
getBlockCommitment

Description

Returns the commitment for a specific block in the Solana blockchain, providing information on the amount of cluster stake in lamports that voted on the block at different depths.

Parameters

  • slot (u64, required)
    The block number, identified by its slot, provided as a 64-bit unsigned integer.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0", 
    "id": 1,
    "method": "getBlockCommitment",
    "params":[5]
  }'

Response

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "commitment": [
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
      0, 0, 0, 0, 0, 10, 32
    ],
    "totalStake": 42
  }
}

getBlockHeight ()

Establish a connection via JSON-RPC.
getBlockHeight

Description

Returns the current block height of the Solana blockchain node.

Parameters

  • commitment (string, optional)
    The level of commitment for the request. It determines the finality of the block height returned.

  • minContextSlot (number, optional)
    The minimum slot number that the request can be evaluated at.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc":"2.0", 
    "id":1,
    "method":"getBlockHeight"
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": 1234,
  "id": 1
}

getBlockProduction ()

Establish a connection via JSON-RPC.
getBlockProduction

Description

Returns recent block production information for the current or previous epoch.

Parameters

  • commitment (string, optional)
    Defines the level of commitment for the request, indicating the finality of the block production data.

  • identity (string, optional)
    Filter the results to only include block production for a specific validator, identified by its base-58 encoded string.

  • range (object, optional)
    Defines the slot range for which block production data should be returned. If not provided, defaults to the current epoch.

    • firstSlot (u64): First slot to include in the range (inclusive).
    • lastSlot (u64, optional): Last slot to include in the range (inclusive). Defaults to the highest slot if not provided.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d ' {
    "jsonrpc":"2.0",
    "id":1, 
    "method":"getBlockProduction"
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 9887
    },
    "value": {
      "byIdentity": {
        "85iYT5RuzRTDgjyRa3cP8SYhM2j21fj7NhfJ3peu1DPr": [9888, 9886]
      },
      "range": {
        "firstSlot": 0,
        "lastSlot": 9887
      }
    }
  },
  "id": 1
}

getBlocks ()

Establish a connection via JSON-RPC.
getBlocks

Description

Returns a list of confirmed blocks between two specified slots.

Parameters

  • start_slot (u64, required)
    The starting slot number, as a u64 integer.

  • end_slot (u64, optional)
    The ending slot number, as a u64 integer. Must be no more than 500,000 slots higher than the start_slot.

  • commitment (string, optional)
    Specifies the commitment level for the request.
    Default: finalized
    "processed" is not supported.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBlocks",
    "params": [
      5, 10
    ]
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": [5, 6, 7, 8, 9, 10],
  "id": 1
}

getBlocksWithLimit ()

Establish a connection via JSON-RPC.
getBlocksWithLimit

Description

Returns a list of confirmed blocks starting from the specified slot, up to a given limit.

Parameters

  • start_slot (u64, required)
    The starting slot number, as a u64 integer.

  • limit (u64, required)
    The maximum number of blocks to return, as a u64 integer. This value must not exceed 500,000 blocks higher than the start_slot.

  • commitment (string, optional)
    Specifies the commitment level for the request.
    Default: finalized
    "processed" is not supported.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id":1,
    "method":"getBlocksWithLimit",
    "params":[5, 3]
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": [5, 6, 7],
  "id": 1
}

getClusterNodes ()

Establish a connection via JSON-RPC.
getClusterNodes

Description

Returns information about all the nodes participating in the cluster.

Parameters

  • None

Result

The result is an array of JSON objects, each containing the following subfields:

  • pubkey (string): The node's public key, as a base-58 encoded string.
  • gossip (string|null): The gossip network address for the node.
  • tpu (string|null): The TPU network address for the node.
  • rpc (string|null): The JSON RPC network address for the node, or null if the JSON RPC service is not enabled.
  • version (string|null): The software version of the node, or null if the version information is not available.
  • featureSet (u32|null): The unique identifier of the node's feature set.
  • shredVersion (u16|null): The shred version the node has been configured to use.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0", 
    "id": 1,
    "method": "getClusterNodes"
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "gossip": "10.239.6.48:8001",
      "pubkey": "9QzsJf7LPLj8GkXbYT3LFDKqsj2hHG7TA3xinJHu8epQ",
      "rpc": "10.239.6.48:8899",
      "tpu": "10.239.6.48:8856",
      "version": "1.0.0 c375ce1f"
    }
  ],
  "id": 1
}

getEpochInfo ()

Establish a connection via JSON-RPC.
getEpochInfo

Description

Returns information about the current epoch.

Parameters

  • object (optional)
    Configuration object containing the following fields:
    • commitment (string, optional): Defines the commitment level (finalized, confirmed, or processed).
    • minContextSlot (number, optional): The minimum slot that the request can be evaluated at.

Result

The result is an object with the following fields:

  • absoluteSlot (u64): The current slot.
  • blockHeight (u64): The current block height.
  • epoch (u64): The current epoch.
  • slotIndex (u64): The current slot relative to the start of the current epoch.
  • slotsInEpoch (u64): The number of slots in this epoch.
  • transactionCount (u64|null): Total number of transactions processed without error since genesis.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
     "jsonrpc":"2.0",
     "id":1, 
     "method":"getEpochInfo"
     }'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "absoluteSlot": 166668,
    "blockHeight": 166511,
    "epoch": 27,
    "slotIndex": 2790,
    "slotsInEpoch": 8192,
    "transactionCount": 22645693
  },
  "id": 1
}

getEpochSchedule ()

Establish a connection via JSON-RPC.
getEpochSchedule

Description

Returns the epoch schedule information from this cluster's genesis config.

Parameters

  • None

Result

The result is an object with the following fields:

  • slotsPerEpoch (u64): The maximum number of slots in each epoch.
  • leaderScheduleSlotOffset (u64): The number of slots before the beginning of an epoch to calculate a leader schedule for that epoch.
  • warmup (bool): Whether epochs start short and grow.
  • firstNormalEpoch (u64): The first normal-length epoch, calculated as log2(slotsPerEpoch) - log2(MINIMUM_SLOTS_PER_EPOCH).
  • firstNormalSlot (u64): MINIMUM_SLOTS_PER_EPOCH * (2.pow(firstNormalEpoch) - 1).

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"getEpochSchedule"
  }'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "firstNormalEpoch": 8,
    "firstNormalSlot": 8160,
    "leaderScheduleSlotOffset": 8192,
    "slotsPerEpoch": 8192,
    "warmup": true
  },
  "id": 1
}

getFeeForMessage ()

Establish a connection via JSON-RPC.
getFeeForMessage

Description

Returns the fee the network will charge for a particular Message.

Version Restriction

This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 and below.

Parameters

  • string (required): The Base-64 encoded Message for which the fee is being calculated.

  • object (optional): Configuration object containing the following fields:

    • commitment (string, optional): The commitment level for the request. Example values: "finalized", "processed", "confirmed".
    • minContextSlot (number, optional): The minimum slot that the request can be evaluated at.

Result

The result will be a u64 integer representing the fee corresponding to the message at the specified blockhash. If no fee can be determined, the result will be null.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "id":1,
  "jsonrpc":"2.0",
  "method":"getFeeForMessage",
  "params":[
    "AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA",
    {
      "commitment":"processed"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": { 
    "context": { 
      "slot": 5068 
    },
    "value": 5000 
  },
  "id": 1
}

getFirstAvailableBlock ()

Establish a connection via JSON-RPC.
getFirstAvailableBlock

Description

Returns the slot of the lowest confirmed block that has not been purged from the ledger.

Parameters

  • None

Result

The result will be a u64 integer representing the slot of the lowest confirmed block that has not been purged from the ledger.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1,
  "method":"getFirstAvailableBlock"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 258000,
  "id": 1
}

getGenesisHash ()

Establish a connection via JSON-RPC.
getGenesisHash

Description

Returns the genesis hash.

Parameters

  • None

Result

The result will be a string representing a hash in base-58 encoded format.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0","id":1, 
  "method":"getGenesisHash"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": "GH7ome3EiwEr7tu9JuTh2dpYWBJK3z69Xm1ZE3MEE6JC",
  "id": 1
}

getHighestSnapshotSlot ()

Establish a connection via JSON-RPC.
getHighestSnapshotSlot

Description

Returns the highest slot information that the node has snapshots for. This will find the highest full snapshot slot, and the highest incremental snapshot slot based on the full snapshot slot, if there is one.

Version Restriction

This method is only available in solana-core v1.9 or newer. Please use getSnapshotSlot for solana-core v1.8 and below.

Parameters

  • None

Result

When the node has a snapshot, this returns a JSON object with the following fields:

  • full: <u64> - Highest full snapshot slot
  • incremental: <u64|null> - Highest incremental snapshot slot based on full

If the node has no snapshot, an error message is returned.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1,
  "method":"getHighestSnapshotSlot"
}'

Result when the node has a snapshot

json
{
  "jsonrpc": "2.0",
  "result": {
    "full": 100,
    "incremental": 110
  },
  "id": 1
}

Result when the node has no snapshot

json
{
  "jsonrpc": "2.0",
  "error": { 
    "code": -32008, 
    "message": "No snapshot" 
  },
  "id": 1
}

getIdentity ()

Establish a connection via JSON-RPC.
getIdentity

Description

Returns the identity pubkey for the current node.

Parameters

  • None

Result

The result field will be a JSON object with the following fields:

  • identity: The identity pubkey of the current node (as a base-58 encoded string).

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1,
  "method":"getIdentity"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "identity": "2r1F4iWqVcb8M1DbAjQuFpebkQHY9hcVU4WuW2DJBppN"
  },
  "id": 1
}

getInflationGovernor ()

Establish a connection via JSON-RPC.
getInflationGovernor

Description

Returns the current inflation governor.

Parameters

  • object (optional)
    Configuration object containing the following fields:
    • commitment (optional): Defines the commitment level for the request.

Result

The result field will be a JSON object with the following fields:

  • initial: The initial inflation percentage from time 0.
  • terminal: Terminal inflation percentage.
  • taper: The rate per year at which inflation is lowered. (Rate reduction is derived using the target slot time in the genesis config).
  • foundation: Percentage of total inflation allocated to the foundation.
  • foundationTerm: Duration of foundation pool inflation in years.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1,
  "method":"getInflationGovernor"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "foundation": 0.05,
    "foundationTerm": 7,
    "initial": 0.15,
    "taper": 0.15,
    "terminal": 0.015
  },
  "id": 1
}

getInflationRate ()

Establish a connection via JSON-RPC.
getInflationRate

Description

Returns the specific inflation values for the current epoch.

Parameters

  • None

Result

The result field will be a JSON object with the following fields:

  • total: Total inflation for the epoch.
  • validator: Inflation allocated to validators.
  • foundation: Inflation allocated to the foundation.
  • epoch: The epoch for which these values are valid.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1,
  "method":"getInflationRate"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "epoch": 100,
    "foundation": 0.001,
    "total": 0.149,
    "validator": 0.148
  },
  "id": 1
}

getInflationReward ()

Establish a connection via JSON-RPC.
getInflationReward

Description

Returns the inflation / staking reward for a list of addresses for a specific epoch.

Parameters

  • array (optional)
    An array of addresses to query, as base-58 encoded strings.

  • object (optional)

    • commitment (string, optional)
      The commitment level for the query.
    • epoch (u64, optional)
      The epoch for which the reward occurs. If omitted, the previous epoch will be used.
    • minContextSlot (number, optional)
      The minimum slot that the request can be evaluated at.

Result

The result field will be a JSON array with the following fields:

  • epoch: The epoch for which the reward occurred.
  • effectiveSlot: The slot in which the rewards are effective.
  • amount: Reward amount in lamports.
  • postBalance: Post balance of the account in lamports.
  • commission (u8|undefined): The vote account commission when the reward was credited.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getInflationReward",
  "params": [
    [
      "6dmNQ5jwLeLk5REvio1JcMshcbvkYMwy26sJ8pbkvStu",
      "BGsqMegLpV6n6Ve146sSX2dTjUMj3M92HnU8BbNRMhF2"
    ],
    {"epoch": 2}
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "amount": 2500,
      "effectiveSlot": 224,
      "epoch": 2,
      "postBalance": 499999442500
    },
    null
  ],
  "id": 1
}

getLargestAccounts ()

Establish a connection via JSON-RPC.
getLargestAccounts

Description

Returns the 20 largest accounts, by lamport balance (results may be cached up to two hours).

Parameters

  • object (optional)
    • commitment (string, optional)
      The commitment level for the query.
    • filter (string, optional)
      Filter results by account type.
      Possible values: circulating, nonCirculating.

Result

The result will be a JSON object containing a value field which is an array of objects with the following fields:

  • address: Base-58 encoded address of the account.
  • lamports: Number of lamports in the account, represented as a u64 value.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLargestAccounts"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 54
    },
    "value": [
      {
        "lamports": 999974,
        "address": "99P8ZgtJYe1buSK8JXkvpLh8xPsCFuLYhz9hQFNw93WJ"
      },
      {
        "lamports": 42,
        "address": "uPwWLo16MVehpyWqsLkK3Ka8nLowWvAHbBChqv2FZeL"
      },
      {
        "lamports": 42,
        "address": "aYJCgU7REfu3XF8b3QhkqgqQvLizx8zxuLBHA25PzDS"
      },
      {
        "lamports": 42,
        "address": "CTvHVtQ4gd4gUcw3bdVgZJJqApXE9nCbbbP4VTS5wE1D"
      },
      {
        "lamports": 20,
        "address": "4fq3xJ6kfrh9RkJQsmVd5gNMvJbuSHfErywvEjNQDPxu"
      },
      {
        "lamports": 4,
        "address": "AXJADheGVp9cruP8WYu46oNkRbeASngN5fPCMVGQqNHa"
      },
      {
        "lamports": 2,
        "address": "8NT8yS6LiwNprgW4yM1jPPow7CwRUotddBVkrkWgYp24"
      },
      {
        "lamports": 1,
        "address": "SysvarEpochSchedu1e111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "11111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "Stake11111111111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "SysvarC1ock11111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "StakeConfig11111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "SysvarRent111111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "Config1111111111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "SysvarStakeHistory1111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "SysvarRecentB1ockHashes11111111111111111111"
      },
      {
        "lamports": 1,
        "address": "SysvarFees111111111111111111111111111111111"
      },
      {
        "lamports": 1,
        "address": "Vote111111111111111111111111111111111111111"
      }
    ]
  },
  "id": 1
}

getLatestBlockhash ()

Establish a connection via JSON-RPC.
getLatestBlockhash

Description

Returns the latest blockhash.
This method is only available in solana-core v1.9 or newer. For solana-core v1.8 and below, use getRecentBlockhash.

Parameters

  • object (optional)
    • commitment (string, optional)
      The commitment level for the query.
    • minContextSlot (number, optional)
      The minimum slot that the request can be evaluated at.

Result

The result will be a JSON object containing the following fields:

  • blockhash: The blockhash as a base-58 encoded string.
  • lastValidBlockHeight: The last block height at which the blockhash will be valid.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLatestBlockhash",
  "params": [
    {
      "commitment": "processed"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 2792
    },
    "value": {
      "blockhash": "EkSnNWid2cvwEVnVx9aBqawnmiCNiDgp3gUdkDPTKN1N",
      "lastValidBlockHeight": 3090
    }
  },
  "id": 1
}

getLeaderSchedule ()

Establish a connection via JSON-RPC.
getLeaderSchedule

Description

Returns the leader schedule for an epoch.

Parameters

  • u64 (optional)

    • The slot for which to fetch the leader schedule. If not specified, the leader schedule for the current epoch will be fetched.
  • object (optional)
    Configuration object containing the following fields:

    • commitment (string, optional)
      The commitment level for the query.
    • identity (string, optional)
      A specific validator identity (base-58 encoded) to return results for.

Result

The result will either be:

  • null: If the requested epoch is not found, or
  • object: A dictionary where the keys are base-58 encoded validator identities, and the values are lists of leader slot indices corresponding to those validators (indices are relative to the first slot in the requested epoch).

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getLeaderSchedule",
  "params": [
    null,
    {
      "identity": "4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F": [
      0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
      21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
      39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
      57, 58, 59, 60, 61, 62, 63
    ]
  },
  "id": 1
}

getMaxRetransmitSlot ()

Establish a connection via JSON-RPC.
getMaxRetransmitSlot

Description

Returns the maximum slot seen from the retransmit stage.

Parameters

  • None: This method does not require any parameters.

Result

A u64 value representing the slot number.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getMaxRetransmitSlot"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 1234,
  "id": 1
}

getMaxShredInsertSlot ()

Establish a connection via JSON-RPC.
getMaxShredInsertSlot

Description

Returns the maximum slot seen after the shred insert stage.

Parameters

  • None: This method does not require any parameters.

Result

A u64 value representing the slot number.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getMaxShredInsertSlot"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 1234,
  "id": 1
}

getMinimumBalanceForRentExemption ()

Establish a connection via JSON-RPC.
getMinimumBalanceForRentExemption

Description

Returns the minimum balance required for an account to be rent-exempt.

Parameters

  • usize (optional): The account's data length.

  • object (optional): Configuration object containing:

    • commitment: Optional, specifies the commitment level.

Result

A u64 value representing the minimum lamports required in the account to remain rent-free.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getMinimumBalanceForRentExemption",
  "params": [50]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 500,
  "id": 1
}

getMultipleAccounts ()

Establish a connection via JSON-RPC.
getMultipleAccounts

Description

Returns the account information for a list of Pubkeys.

Parameters

  • array (required): An array of Pubkeys to query, as base-58 encoded strings (up to a maximum of 100).

  • object (optional): Configuration object containing:

    • commitment (optional): Specifies the commitment level.
    • minContextSlot (optional): Minimum slot at which the request can be evaluated.
    • dataSlice (optional): Request a slice of the account's data.
      • length: Number of bytes to return.
      • offset: Byte offset from which to start reading.
      • Note: Data slicing is available for base58, base64, or base64+zstd encodings.
    • encoding (optional, default: base64): Encoding format for the returned account data. Possible values:
      • jsonParsed
      • base58
      • base64
      • base64+zstd

Result

The result will be a JSON object with the following structure:

  • value: An array of results, with each result containing:
    • null: If the account at that Pubkey doesn't exist.
    • object: A JSON object with:
      • lamports: Number of lamports assigned to this account, as a u64.
      • owner: Base-58 encoded Pubkey of the program this account is assigned to.
      • data: Account data, either as encoded binary data or JSON format (depending on encoding).
      • executable: Boolean indicating if the account contains a program (read-only).
      • rentEpoch: The epoch at which this account will next owe rent, as a u64.
      • space: The data size of the account.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getMultipleAccounts",
    "params": [
      [
        "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
        "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"
      ],
      {
        "encoding": "base58"
      }
    ]
  }
'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": { 
      "apiVersion": "2.0.15", 
      "slot": 341197247 
    },
    "value": [
      {
        "data": ["", "base58"],
        "executable": false,
        "lamports": 88849814690250,
        "owner": "11111111111111111111111111111111",
        "rentEpoch": 18446744073709551615,
        "space": 0
      },
      {
        "data": ["", "base58"],
        "executable": false,
        "lamports": 998763433,
        "owner": "2WRuhE4GJFoE23DYzp2ij6ZnuQ8p9mJeU6gDgfsjR4or",
        "rentEpoch": 18446744073709551615,
        "space": 0
      }
    ]
  },
  "id": 1
}

getProgramAccounts ()

Establish a connection via JSON-RPC.
getProgramAccounts

Description

Returns all accounts owned by the provided program Pubkey.

Parameters

  • string (required): The Pubkey of the program, as a base-58 encoded string.

  • object (optional): Configuration object containing:

    • commitment (optional): Specifies the commitment level.
    • minContextSlot (optional): The minimum slot that the request can be evaluated at.
    • withContext (optional): Boolean flag to wrap the result in an RpcResponse JSON object.
    • encoding (optional, default: json): Encoding format for the returned account data. Possible values:
      • jsonParsed
      • base58
      • base64
      • base64+zstd
    • dataSlice (optional): Request a slice of the account's data.
      • length: Number of bytes to return.
      • offset: Byte offset from which to start reading.
      • Note: Data slicing is available for base58, base64, or base64+zstd encodings.
    • filters (optional): Filter results using up to 4 filter objects.
      • Info: The resultant account(s) must meet all filter criteria to be included in the returned results.

Result

The result will be a JSON object with the following structure:

  • pubkey: The account Pubkey as a base-58 encoded string.
  • account: A JSON object with:
    • lamports: Number of lamports assigned to this account, as a u64.
    • owner: Base-58 encoded Pubkey of the program this account has been assigned to.
    • data: Data associated with the account, either as encoded binary data or in JSON format, depending on the encoding parameter.
    • executable: Boolean indicating if the account contains a program (read-only).
    • rentEpoch: The epoch at which this account will next owe rent, as a u64.
    • space: The data size of the account.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getProgramAccounts",
    "params": [
      "5WaVbp6A1eAhAAYayBwvWFL2Ff6EXvhj82Xcv52bd4gf",  // Example Program Pubkey
      {
        "encoding": "jsonParsed",
        "withContext": true
      }
    ]
  }
'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": { 
      "apiVersion": "2.0.15", 
      "slot": 341197247 
    },
    "value": [
      {
        "pubkey": "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
        "account": {
          "lamports": 88849814690250,
          "owner": "11111111111111111111111111111111",
          "data": ["", "base58"],
          "executable": false,
          "rentEpoch": 18446744073709551615,
          "space": 0
        }
      },
      {
        "pubkey": "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA",
        "account": {
          "lamports": 998763433,
          "owner": "2WRuhE4GJFoE23DYzp2ij6ZnuQ8p9mJeU6gDgfsjR4or",
          "data": ["", "base58"],
          "executable": false,
          "rentEpoch": 18446744073709551615,
          "space": 0
        }
      }
    ]
  },
  "id": 1
}

getRecentPerformanceSamples ()

Establish a connection via JSON-RPC.
getRecentPerformanceSamples

Description

Returns a list of recent performance samples, in reverse slot order. Performance samples are taken every 60 seconds and include the number of transactions and slots that occur in a given time window.

Parameters

  • limit (optional, default: 720): The number of samples to return (maximum 720).

Result

The result will be an array of RpcPerfSample objects with the following fields:

  • slot: The slot in which the sample was taken (u64).
  • numTransactions: The number of transactions processed during the sample period (u64).
  • numSlots: The number of slots completed during the sample period (u64).
  • samplePeriodSecs: The number of seconds in a sample window (u16).
  • numNonVoteTransactions: The number of non-vote transactions processed during the sample period (u64).
    • Note: numNonVoteTransactions is present starting with v1.15. To get the number of voting transactions, compute:
      numTransactions - numNonVoteTransactions

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getRecentPerformanceSamples",
    "params": [4]
  }
'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "numSlots": 126,
      "numTransactions": 126,
      "numNonVoteTransactions": 1,
      "samplePeriodSecs": 60,
      "slot": 348125
    },
    {
      "numSlots": 126,
      "numTransactions": 126,
      "numNonVoteTransactions": 1,
      "samplePeriodSecs": 60,
      "slot": 347999
    },
    {
      "numSlots": 125,
      "numTransactions": 125,
      "numNonVoteTransactions": 0,
      "samplePeriodSecs": 60,
      "slot": 347873
    },
    {
      "numSlots": 125,
      "numTransactions": 125,
      "numNonVoteTransactions": 0,
      "samplePeriodSecs": 60,
      "slot": 347748
    }
  ],
  "id": 1
}

getRecentPrioritizationFees ()

Establish a connection via JSON-RPC.
getRecentPrioritizationFees

Description

Returns a list of prioritization fees from recent blocks.

Additional Info

  • A node's prioritization-fee cache stores data from up to 150 blocks.

Parameters

  • array (optional):
    An array of account addresses (up to a maximum of 128), as base-58 encoded strings.
    • If provided, the response will reflect a fee to land a transaction locking all of the specified accounts as writable.

Result

An array of RpcPrioritizationFee<object> with the following fields:

  • slot: <u64>
    The slot in which the fee was observed.
  • prioritizationFee: <u64>
    The per-compute-unit fee paid by at least one successfully landed transaction, specified in increments of micro-lamports (0.000001 lamports).

Request Code Sample

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getRecentPrioritizationFees",
  "params": [
    ["CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY"]
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "slot": 348125,
      "prioritizationFee": 0
    },
    {
      "slot": 348126,
      "prioritizationFee": 1000
    },
    {
      "slot": 348127,
      "prioritizationFee": 500
    },
    {
      "slot": 348128,
      "prioritizationFee": 0
    },
    {
      "slot": 348129,
      "prioritizationFee": 1234
    }
  ],
  "id": 1
}

getSignatureStatuses ()

Establish a connection via JSON-RPC.
getSignatureStatuses

Description

Returns the statuses of a list of transaction signatures. Each signature must correspond to the first signature of a transaction (txid).

Additional Info

  • Without the searchTransactionHistory configuration, this method only searches the recent status cache, which retains statuses for active slots plus MAX_RECENT_BLOCKHASHES rooted slots.

Parameters

  1. array (required):
    An array of transaction signatures to confirm, as base-58 encoded strings (up to a maximum of 256).

  2. object (optional):
    Configuration object containing:

    • searchTransactionHistory (bool, optional):
      • true: The Solana node searches its ledger cache for signatures not found in the recent status cache.

Result

An array of RpcResponse<object> consisting of either:

  1. null: Unknown transaction
  2. <object>:
    • slot: <u64>
      The slot where the transaction was processed.
    • confirmations: <usize|null>
      Number of blocks since signature confirmation.
      • null: If rooted and finalized by a supermajority of the cluster.
    • err: <object|null>
      Error if the transaction failed; null if it succeeded.
    • confirmationStatus: <string|null>
      Cluster confirmation status (processed, confirmed, or finalized).
    • DEPRECATED: status: <object>
      • "Ok": null: Transaction was successful.
      • "Err": <ERR>: Transaction failed with TransactionError.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSignatureStatuses",
  "params": [
    [
      "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW"
    ],
    {
      "searchTransactionHistory": true
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 82
    },
    "value": [
      {
        "slot": 48,
        "confirmations": null,
        "err": null,
        "status": {
          "Ok": null
        },
        "confirmationStatus": "finalized"
      },
      null
    ]
  },
  "id": 1
}

getSignaturesForAddress ()

Establish a connection via JSON-RPC.
getSignaturesForAddress

Description

Returns transaction signatures for confirmed transactions that include the given account address in their accountKeys list.
The search retrieves signatures backwards in time, starting from the provided signature or the most recent confirmed block.


Parameters

  1. string (required):
    Account address as a base-58 encoded string.

  2. object (optional):
    Configuration object containing the following fields:

    • commitment (string, optional):
      Specify the cluster confirmation commitment level (processed, confirmed, finalized).
    • minContextSlot (number, optional):
      Minimum slot that the request can be evaluated at.
    • limit (number, optional):
      Maximum transaction signatures to return (default: 1,000; range: 1-1,000).
    • before (string, optional):
      Start searching backwards from this transaction signature.
      If not provided, the search starts from the latest confirmed block.
    • until (string, optional):
      Search until this transaction signature, stopping if found before the limit is reached.

Result

An array of <object> ordered from newest to oldest transactions, with the following fields:

  1. signature: <string>
    Transaction signature as a base-58 encoded string.
  2. slot: <u64>
    The slot containing the block with the transaction.
  3. err: <object|null>
    Error details if the transaction failed; null if it succeeded.
  4. memo: <string|null>
    Memo associated with the transaction; null if no memo is present.
  5. blockTime: <i64|null>
    Estimated production time of the transaction as a Unix timestamp (in seconds).
    null if not available.
  6. confirmationStatus: <string|null>
    Cluster confirmation status (processed, confirmed, or finalized).

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSignaturesForAddress",
  "params": [
    "Vote111111111111111111111111111111111111111",
    {
      "limit": 1
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "err": null,
      "memo": null,
      "signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
      "slot": 114,
      "blockTime": null
    }
  ],
  "id": 1
}

getSlot ()

Establish a connection via JSON-RPC.
getSlot

Description

Returns the current slot that has reached the given or default commitment level.


Parameters

  1. object (optional):
    Configuration object containing the following fields:
    • commitment (string, optional):
      Specify the cluster confirmation commitment level (processed, confirmed, or finalized).
    • minContextSlot (number, optional):
      Minimum slot that the request can be evaluated at.

Result

A single value representing the current slot as <u64>.


Request Code Sample

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSlot"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 1234,
  "id": 1
}

getSlotLeader ()

Establish a connection via JSON-RPC.
getSlotLeader


Description

Returns the current slot leader's identity Pubkey.


Parameters

  1. object (optional):
    Configuration object containing the following fields:
    • commitment (string, optional):
      Specify the cluster confirmation commitment level (processed, confirmed, or finalized).
    • minContextSlot (number, optional):
      Minimum slot that the request can be evaluated at.

Result

A string representing the node's identity Pubkey as a base-58 encoded string.


Request Code Sample

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSlotLeader"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": "ENvAW7JScgYq6o4zKZwewtkzzJgDzuJAFxYasvmEQdpS",
  "id": 1
}

getSupply ()

Establish a connection via JSON-RPC.
getSupply


Description

Returns information about the current supply, including total, circulating, and non-circulating supply.


Parameters

  • object (optional):
    Configuration object containing the following fields:
    • commitment (optional): Specifies the level of commitment desired (e.g., "processed", "confirmed", "finalized").
    • excludeNonCirculatingAccountsList (optional, bool):
      Excludes non-circulating accounts list from the response if true.

Result

An RpcResponse JSON object containing:

  • context:
    • slot (u64): The slot at which the request was evaluated.
  • value:
    • total (u64): Total supply in lamports.
    • circulating (u64): Circulating supply in lamports.
    • nonCirculating (u64): Non-circulating supply in lamports.
    • nonCirculatingAccounts (array<string>):
      An array of account addresses for non-circulating accounts. This array is empty if excludeNonCirculatingAccountsList is set to true.

Request Code Sample

To get information about the current supply:

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSupply"
}'

Response

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

getTokenAccountBalance ()

Establish a connection via JSON-RPC.
getTokenAccountBalance


Description

Returns the token balance of an SPL Token account.


Parameters

  • string (required):
    The public key of the token account to query, as a base-58 encoded string.

  • object (optional):
    Configuration object containing the following fields:

    • commitment (optional): Specifies the level of commitment desired (e.g., "processed", "confirmed", "finalized").

Result

An RpcResponse JSON object containing:

  • context:
    • slot (u64): The slot at which the request was evaluated.
  • value:
    • amount (string): The raw token balance without decimals, as a string representation of u64.
    • decimals (u8): Number of base 10 digits to the right of the decimal point.
    • uiAmount (number|null) [DEPRECATED]: The balance using mint-prescribed decimals.
    • uiAmountString (string): The balance as a string, using mint-prescribed decimals.

Request Code Sample

To get the balance of a token account:

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTokenAccountBalance",
  "params": [
    "7fUAJdStEuGbc3sM84cKRL6yYaaSstyLSU4ve5oovLS7"
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1114
    },
    "value": {
      "amount": "9864",
      "decimals": 2,
      "uiAmount": 98.64,
      "uiAmountString": "98.64"
    }
  },
  "id": 1
}

getTokenAccountsByDelegate ()

Establish a connection via JSON-RPC.
getTokenAccountsByDelegate


Description

Returns all SPL Token accounts approved by a given delegate.


Parameters

  1. string (required):
    The public key of the delegate account, as a base-58 encoded string.

  2. object (optional):
    JSON object with one of the following fields:

    • mint (string): The public key of a specific token Mint to limit accounts to, as a base-58 encoded string.
    • programId (string): The public key of the Token program that owns the accounts, as a base-58 encoded string.
  3. object (optional):
    Configuration object containing the following fields:

    • commitment (string): Specifies the level of commitment desired (e.g., "processed", "confirmed", "finalized").
    • minContextSlot (number): The minimum slot that the request can be evaluated at.
    • dataSlice (object): Request a slice of the account's data:
      • length (usize): Number of bytes to return.
      • offset (usize): Byte offset from which to start reading.
    • encoding (string): Encoding format for account data. Possible values: base58, base64, base64+zstd, jsonParsed.

Result

An RpcResponse JSON object containing:

  • context:
    • slot (u64): The slot at which the request was evaluated.
  • value:
    • An array of objects, each containing:
      • pubkey (string): The account public key as a base-58 encoded string.
      • account (object): Contains:
        • lamports (u64): Number of lamports assigned to the account.
        • owner (string): Public key of the program owning the account.
        • data (object): Token state data associated with the account, either as encoded binary data or JSON.
        • executable (bool): Indicates if the account contains a program.
        • rentEpoch (u64): Epoch at which the account will next owe rent.
        • space (u64): The data size of the account.

Request

To query token accounts approved by a delegate:

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTokenAccountsByDelegate",
  "params": [
    "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
    {
      "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
    },
    {
      "encoding": "jsonParsed"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1114
    },
    "value": [
      {
        "pubkey": "28YTZEwqtMHWrhWcvv34se7pjS7wctgqzCPB3gReCFKp",
        "account": {
          "lamports": 1724540,
          "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "data": {
            "program": "spl-token",
            "parsed": {
              "info": {
                "tokenAmount": {
                  "amount": "1",
                  "decimals": 1,
                  "uiAmount": 0.1,
                  "uiAmountString": "0.1"
                },
                "delegate": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
                "delegatedAmount": {
                  "amount": "1",
                  "decimals": 1,
                  "uiAmount": 0.1,
                  "uiAmountString": "0.1"
                },
                "state": "initialized",
                "isNative": false,
                "mint": "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E",
                "owner": "CnPoSPKXu7wJqxe59Fs72tkBeALovhsCxYeFwPCQH9TD"
              },
              "type": "account"
            },
            "space": 165
          },
          "executable": false,
          "rentEpoch": 4,
          "space": 165
        }
      }
    ]
  },
  "id": 1
}

getTokenLargestAccounts ()

Establish a connection via JSON-RPC.
getTokenLargestAccounts

Description

Returns the 20 largest accounts of a particular SPL Token type.


Parameters

Pubkey (string)

Pubkey of the token Mint to query, as a base-58 encoded string.

Config (object, optional)

Optional configuration object containing the following optional field:

  • Commitment (string, optional)

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTokenLargestAccounts",
  "params": [
    "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E" // Replace with the token Mint pubkey
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1114
    },
    "value": [
      {
        "address": "FYjHNoFtSQ5uijKrZFyYAxvEr87hsKXkXcxkcmkBAf4r",
        "amount": "771",
        "decimals": 2,
        "uiAmount": 7.71,
        "uiAmountString": "7.71"
      },
      {
        "address": "BnsywxTcaYeNUtzrPxQUvzAWxfzZe3ZLUJ4wMMuLESnu",
        "amount": "229",
        "decimals": 2,
        "uiAmount": 2.29,
        "uiAmountString": "2.29"
      }
    ]
  },
  "id": 1
}

getTokenAccountsByOwner ()

Establish a connection via JSON-RPC.
getTokenAccountsByOwner

Description

Returns all SPL Token accounts by token owner.


Parameters

Owner (Pubkey) (string, required)

Pubkey of the token account delegate to query, as a base-58 encoded string.

Filter (Object, required)

A JSON object with one of the following fields:

  • mint (string)
    Pubkey of the specific token Mint to limit accounts to, as a base-58 encoded string.
  • programId (string)
    Pubkey of the Token program that owns the accounts, as a base-58 encoded string.

Config (Object, optional)

An optional configuration object containing:

  • commitment (string, optional)
    The level of commitment desired.
  • minContextSlot (number, optional)
    The minimum slot at which the request can be evaluated.
  • dataSlice (object, optional)
    Request a slice of the account's data:
    • length (usize): Number of bytes to return.
    • offset (usize): Byte offset from which to start reading.
  • encoding (string, optional)
    Format for account data. Supported values:
    • base58
    • base64
    • base64+zstd
    • jsonParsed

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTokenAccountsByOwner",
  "params": [
    "A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd",
    {
      "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
    },
    {
      "encoding": "jsonParsed"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "apiVersion": "2.0.15",
      "slot": 346543933
    },
    "value": [
      {
        "account": {
          "data": {
            "parsed": {
              "info": {
                "isNative": false,
                "mint": "2cHr7QS3xfuSV8wdxo3ztuF4xbiarF6Nrgx3qpx3HzXR",
                "owner": "A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd",
                "state": "initialized",
                "tokenAmount": {
                  "amount": "420000000000000",
                  "decimals": 6,
                  "uiAmount": 420000000.0,
                  "uiAmountString": "420000000"
                }
              },
              "type": "account"
            },
            "program": "spl-token",
            "space": 165
          },
          "executable": false,
          "lamports": 2039280,
          "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
          "rentEpoch": 18446744073709551615,
          "space": 165
        },
        "pubkey": "BGocb4GEpbTFm8UFV2VsDSaBXHELPfAXrvd4vtt8QWrA"
      }
    ]
  },
  "id": 1
}

getStakeMinimumDelegation()

Establish a connection via JSON-RPC.
getStakeMinimumDelegation

Description

Returns the stake minimum delegation amount in lamports on the Solana blockchain.

This method provides information on the minimum stake amount required for delegation, which is useful for setting up staking operations.

Parameters

  • commitment (string, optional):
    The level of commitment desired. If omitted, the default commitment level will be used.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getStakeMinimumDelegation"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 501
    },
    "value": 1000000000
  },
  "id": 1
}

isBlockhashValid()

Establish a connection via JSON-RPC.
isBlockhashValid

ℹ️ Description

Returns whether a blockhash is still valid or not.

Version Restriction:
This method is only available in solana-core v1.9 or newer. Please use getFeeCalculatorForBlockhash for solana-core v1.8 and below.


Parameters

blockhash (string, required)

The blockhash of the block to evaluate, as a base-58 encoded string.

Config (object, optional)

Optional configuration object containing the following fields:

  • commitment (string, optional)
    Defines the level of commitment for the transaction.
  • minContextSlot (number, optional)
    The minimum slot that the request can be evaluated at.

Result

  • value (bool): Returns true if the blockhash is still valid, otherwise false.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "id":45,
  "jsonrpc":"2.0",
  "method":"isBlockhashValid",
  "params":[
    "J7rBdM6AecPDEZp8aPq5iPSNKVkU5Q76F3oAV4eW5wsW",
    {"commitment":"processed"}
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 2483
    },
    "value": false
  },
  "id": 1
}

getTokenSupply ()

Establish a connection via JSON-RPC.
getTokenSupply

ℹ️ Description

Returns the total supply of an SPL Token type.


Parameters

Mint (Pubkey) (string, required)

Pubkey of the token Mint to query, as a base-58 encoded string.

Config (Object, optional)

An optional configuration object containing:

  • commitment (string, optional)
    The level of commitment desired. Supported values:
    • processed
    • confirmed
    • finalized

Result

The result is an RpcResponse JSON object with the following fields:

Context

  • slot (number): The slot at which the query was evaluated.

Value

  • amount (string): The raw total token supply without applying decimals, represented as a string.
  • decimals (number): Number of decimal places for the token Mint.
  • uiAmount (number | null): (Deprecated) The total supply after applying decimals.
  • uiAmountString (string): The total supply as a string after applying decimals.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getTokenSupply",
    "params": [
      "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E"
    ]
  }
'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 1114
    },
    "value": {
      "amount": "100000",
      "decimals": 2,
      "uiAmount": 1000,
      "uiAmountString": "1000"
    }
  },
  "id": 1
}

getTransactionCount()

Establish a connection via JSON-RPC.
getTransactionCount

ℹ️ Description

Returns the current transaction count from the ledger.


Parameters

Config (object, optional)

Optional configuration object containing the following fields:

  • Commitment (string, optional)
    Defines the level of commitment for the transaction.
  • minContextSlot (number, optional)
    The minimum slot that the request can be evaluated at.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTransactionCount"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 268,
  "id": 1
}

getVersion()

Establish a connection via JSON-RPC.
getVersion

ℹ️ Description

Returns the current Solana version running on the node.


Parameters

None


Result

The result field will be a JSON object with the following fields:

  • solana-core (string): Software version of solana-core.
  • feature-set (u32): Unique identifier of the current software's feature set.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getVersion"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": { 
    "feature-set": 2891131721, 
    "solana-core": "1.16.7" 
  },
  "id": 1
}

getVoteAccounts()

Establish a connection via JSON-RPC.
getVoteAccounts

ℹ️ Description

Returns the account info and associated stake for all the voting accounts in the current bank.


Parameters

Config (object, optional)

Optional configuration object containing the following fields:

  • Commitment (string, optional)
    Defines the level of commitment for the transaction.
  • votePubkey (string, optional)
    Only return results for this validator vote address (base-58 encoded).
  • keepUnstakedDelinquents (bool, optional)
    Do not filter out delinquent validators with no stake.
  • delinquentSlotDistance (u64, optional)
    Specify the number of slots behind the tip that a validator must fall to be considered delinquent. (Note: It is not recommended to specify this argument for consistency between ecosystem products.)

Result

The result field will be a JSON object of current and delinquent accounts, each containing an array of JSON objects with the following sub-fields:

  • votePubkey (string): Vote account address, as base-58 encoded string.
  • nodePubkey (string): Validator identity, as base-58 encoded string.
  • activatedStake (u64): The stake, in lamports, delegated to this vote account and active in this epoch.
  • epochVoteAccount (bool): Whether the vote account is staked for this epoch.
  • commission (number): Percentage (0-100) of rewards payout owed to the vote account.
  • lastVote (u64): Most recent slot voted on by this vote account.
  • epochCredits (array): Latest history of earned credits for up to five epochs, as an array of arrays containing: [epoch, credits, previousCredits].
  • rootSlot (u64): Current root slot for this vote account.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getVoteAccounts",
  "params": [
    {
      "votePubkey": "3ZT31jkAGhUaw8jsy4bTknwBMP8i4Eueh52By4zXcsVw"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "current": [
      {
        "commission": 0,
        "epochVoteAccount": true,
        "epochCredits": [
          [1, 64, 0],
          [2, 192, 64]
        ],
        "nodePubkey": "B97CCUW3AEZFGy6uUg6zUdnNYvnVq5VG8PUtb2HayTDD",
        "lastVote": 147,
        "activatedStake": 42,
        "votePubkey": "3ZT31jkAGhUaw8jsy4bTknwBMP8i4Eueh52By4zXcsVw"
      }
    ],
    "delinquent": []
  },
  "id": 1
}

minimumLedgerSlot()

Establish a connection via JSON-RPC.
minimumLedgerSlot

ℹ️ Description

Returns the lowest slot that the node has information about in its ledger.

Info:
This value may increase over time if the node is configured to purge older ledger data.


Parameters

None


Result

  • result (u64): The minimum ledger slot number.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "minimumLedgerSlot"
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": 1234,
  "id": 1
}

requestAirdrop()

Establish a connection via JSON-RPC.
requestAirdrop

ℹ️ Description

Requests an airdrop of lamports to a Pubkey.


Parameters

  • pubkey (string, required): Pubkey of the account to receive lamports, as a base-58 encoded string.
  • lamports (integer, required): Number of lamports to airdrop, as a "u64".
  • configuration object (optional): Configuration object containing the following fields:
    • commitment (string, optional)

Result

  • result (string): Transaction signature of the airdrop, as a base-58 encoded string.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0", "id": 1,
  "method": "requestAirdrop",
  "params": [
    "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri",
    1000000000
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",
  "id": 1
}

sendTransaction()

Establish a connection via JSON-RPC.
sendTransaction

ℹ️ Description

Submits a signed transaction to the cluster for processing.

This method does not alter the transaction in any way; it relays the transaction created by clients to the node as-is.

  • A successful response from this method does not guarantee the transaction is processed or confirmed by the cluster.
  • Use getSignatureStatuses to ensure a transaction is processed and confirmed.

Before submitting, the following preflight checks are performed:

  • The transaction signatures are verified.
  • The transaction is simulated against the bank slot specified by the preflight commitment.

Parameters

  • transaction (string, required): Fully signed transaction, as an encoded string.
  • configuration object (optional): Configuration object containing the following fields:
    • encoding (string, optional): Default: base58. Encoding used for the transaction data. Values: base58 (slow, DEPRECATED), or base64.
    • skipPreflight (bool, optional): Default: false. When true, skip the preflight transaction checks.
    • preflightCommitment (string, optional): Default: finalized. Commitment level to use for preflight.
    • maxRetries (usize, optional): Maximum number of times for the RPC node to retry sending the transaction to the leader.
    • minContextSlot (number, optional): Set the minimum slot at which to perform preflight transaction checks.

Result

  • result (string): First transaction signature embedded in the transaction, as a base-58 encoded string (transaction id).

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0", "id": 1,
  "method": "sendTransaction",
  "params": [
    "base58EncodedTransaction",
    {
      "encoding": "base64",
      "skipPreflight": false,
      "preflightCommitment": "finalized"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": "4aXkMABzD7vZT4gF6uDh5B5F6sftdRRx4Tbn1Ra59mUu9Gxj4kqkwymW3Zy78n2hZ7fX79PBy3DPJKg7vmdEDZGJ",
  "id": 1
}

simulateTransaction()

Establish a connection via JSON-RPC.
simulateTransaction

ℹ️ Description

Simulates sending a transaction.

The transaction must have a valid blockhash, but it is not required to be signed.


Parameters

  • transaction (string, required): Transaction, as an encoded string.
  • configuration object (optional): Configuration object containing the following fields:
    • commitment (string, optional): Default: finalized. Commitment level to simulate the transaction at.
    • sigVerify (bool, optional): If true, the transaction signatures will be verified (conflicts with replaceRecentBlockhash).
    • replaceRecentBlockhash (bool, optional): If true, the transaction recent blockhash will be replaced with the most recent blockhash. (conflicts with sigVerify).
    • minContextSlot (number, optional): The minimum slot that the request can be evaluated at.
    • encoding (string, optional): Default: base58. Encoding used for the transaction data. Values: base58 (slow, DEPRECATED), or base64.
    • innerInstructions (bool, optional): If true, the response will include inner instructions.
    • accounts (object, optional): Accounts configuration object containing the following fields:
      • addresses (array): An array of accounts to return, as base-58 encoded strings.
      • encoding (string): Default: base64. Encoding for returned account data. Values: base64, base58, base64+zstd, jsonParsed.

Result

The result will be an RpcResponse JSON object with the following fields:

  • err: Error if transaction failed, null if transaction succeeded.
  • logs: Array of log messages the transaction instructions output during execution, null if simulation failed before the transaction was able to execute.
  • accounts: Array of accounts with the same length as the accounts.addresses array in the request.
    • If the account doesn't exist or if err is not null, null.
    • Otherwise, a JSON object containing:
      • lamports: Number of lamports assigned to this account.
      • owner: Base-58 encoded Pubkey of the program this account has been assigned to.
      • data: Data associated with the account, either as encoded binary data or JSON format.
      • executable: Boolean indicating if the account contains a program.
      • rentEpoch: The epoch at which this account will next owe rent.
      • unitsConsumed: The number of compute budget units consumed during the processing of this transaction.
      • returnData: The most recent return data generated by an instruction in the transaction.
      • innerInstructions: Defined only if innerInstructions was set to true.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "simulateTransaction",
  "params": [
    "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEDArczbMia1tLmq7zz4DinMNN0pJ1JtLdqIJPUw3YrGCzYAMHBsgN27lcgB6H2WQvFgyZuJYHa46puOQo9yQ8CVQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp20C7Wj2aiuk5TReAXo+VTVg8QTHjs0UjNMMKCvpzZ+ABAgEBARU=",
    {
      "encoding": "base64"
    }
  ]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "slot": 218
    },
    "value": {
      "err": null,
      "accounts": null,
      "logs": [
        "Program 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri invoke [1]",
        "Program 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri consumed 2366 of 1400000 compute units",
        "Program return: 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri KgAAAAAAAAA=",
        "Program 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri success"
      ],
      "returnData": {
        "data": ["Kg==", "base64"],
        "programId": "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
      },
      "unitsConsumed": 2366
    }
  },
  "id": 1
}

getSlotLeaders ()

Establish a connection via JSON-RPC.
getSlotLeaders


ℹ️ Description

Returns the slot leaders for a given slot range.


Parameters

  1. u64 (required):

    • Start slot (inclusive), as a 64-bit unsigned integer.
  2. u64 (required):

    • Limit, as a 64-bit unsigned integer (range: 1–5,000).

Result

An array of node identity public keys as base-58 encoded strings, representing the slot leaders in the specified range.


Request Code Sample

If the current slot is #99, query the next 10 leaders with the following request:

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSlotLeaders",
  "params": [100, 10]
}'

Response

json
{
  "jsonrpc": "2.0",
  "result": [
    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",
    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",
    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",
    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",
    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",
    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",
    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",
    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",
    "DWvDTSh3qfn88UoQTEKRV2JnLt5jtJAVoiCo3ivtMwXP",
    "DWvDTSh3qfn88UoQTEKRV2JnLt5jtJAVoiCo3ivtMwXP"
  ],
  "id": 1
}

getHealth ()

Establish a connection via JSON-RPC.
getHealth

ℹ️ Description

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.

Parameters

  • None

Result

  • If the node is healthy: "ok"
  • If the node is unhealthy, a JSON RPC error response is returned. The specifics of the error response are unstable and may change in the future.

Request

bash
curl https://api.nolimitnodes.com/solana?api_key=<your-api-key> \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "jsonrpc":"2.0",
  "id":1, 
  "method":"getHealth"
}'

Healthy Response

json
{
  "jsonrpc": "2.0", 
  "result": "ok", 
  "id": 1
}

Unhealthy Response

json
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32005,
    "message": "Node is unhealthy",
    "data": {}
  },
  "id": 1
}