getProgramAccounts

Returns all accounts owned by the provided program Pubkey.

This method will use 30 Compute Units.


Parameters

  • pubkey string. The Pubkey of program encoded as base-58 string.

  • object optional. Configuration object containing the following fields:

    • commitment string. The level of commitment required for the query. The options include:

      • finalized string.

        • The node will query the most recent block confirmed by the supermajority of the cluster as having reached maximum lockout, meaning the cluster has recognized this block as finalized.

      • confirmed string.

        • The node will query the most recent block that has been voted on by the supermajority of the cluster.

      • processed string.

        • The node will query its most recent block. Note that the block may not be complete.

  • minContextSlot integer. The minimum slot at which the request can be evaluated.

  • withContext boolean. Wraps the result in a RpcResponse JSON object.

  • filters array. Filter results using up to 4 filter objects.

  • dataSlice string. The returned account data using the provided offset: 'usize' and length: 'usize' fields; only available for base58, base64, or base64+zstd encodings.

  • encoding string. (default: json) The encoding format for account data. It can be one of base58 (slow), base64, base64+zstd or jsonParsed.

Returns

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

  • pubkey The public key of the node encoded as base-58 string.

  • account A JSON object with the following fields:

    • lamports The number of lamports assigned to this account as u64 (64-bit unsigned integer).

    • owner The base-58 encoded Pubkey of the program this account has been assigned to.

    • data The data associated with the account, either as encoded binary data or JSON format {'program': 'state'}, depending on encoding parameter.

    • executable A boolean indicating if the account contains a program (and is strictly read-only).

    • rentEpoch The epoch at which this account will next owe rent, as u64 (64-bit unsigned integer).

    • space The amount of storage space required to store the token account.

// Result
{
  "jsonrpc": "2.0",
  "result": [
    {
      "account": {
        "data": "2R9jLfiAQ9bgdcw6h8s44439",
        "executable": false,
        "lamports": 15298080,
        "owner": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
        "rentEpoch": 28,
        "space": 42
      },
      "pubkey": "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY"
    }
  ],
  "id": 1
}
curl https://mainnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getProgramAccounts",
    "params": [
      "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
      {
        "filters": [
          {
            "dataSize": 17
          },
          {
            "memcmp": {
              "offset": 4,
              "bytes": "3Mc6vR"
            }
          }
        ]
      }
    ]
  }'
    

Last updated

Was this helpful?