# getProgramAccounts

Returns all accounts owned by the provided program Pubkey.

This method will use `30` [Compute Units](https://docs.validationcloud.io/v1/about/billing).

***

{% hint style="warning" %}
`getProgramAccounts` for Solana is limited to 3 requests per second. If you have higher rate limit needs, [contact us](https://www.validationcloud.io/contact).
{% endhint %}

## **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.&#x20;
      * 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.

```bash
// Result
{
  "jsonrpc": "2.0",
  "result": [
    {
      "account": {
        "data": "2R9jLfiAQ9bgdcw6h8s44439",
        "executable": false,
        "lamports": 15298080,
        "owner": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
        "rentEpoch": 28,
        "space": 42
      },
      "pubkey": "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY"
    }
  ],
  "id": 1
}
```

{% tabs %}
{% tab title="mainnet" %}

<pre class="language-bash"><code class="lang-bash"><strong>curl https://mainnet.solana.validationcloud.io/v1/&#x3C;YOUR_API_KEY_HERE> \
</strong>    -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"
            }
          }
        ]
      }
    ]
  }'
    
</code></pre>

{% endtab %}

{% tab title="devnet" %}

```bash
curl https://devnet.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"
            }
          }
        ]
      }
    ]
  }'
    
```

{% endtab %}
{% endtabs %}
