# getTokenAccountsByOwner

Returns all SPL Token accounts by token owner.

This method will use `30` [Compute Units](/v1/about/billing.md).

***

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

## **Parameters**

* `pubkey` string. The Pubkey of account delegate to query encoded as base-58 string.
* `object` array. The JSON object with the following fields:
  * `mint` string. The Pubkey of the specific token Mint to limit accounts to, as base-58 encoded string.
  * `programId` string. The Pubkey of the Token program ID that owns the accounts, as base-58 encoded 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.
* `encoding` string. The encoding format for account data. It can be one of base58 (slow, base64, base64+zstd or jsonParsed.
* `dataSlice` string The returned account data using the provided offset: 'usize' and length: 'usize' fields; only available for base58, base64, or base64+zstd encodings.
* `minContextSlot` integer The minimum slot at which the request can be evaluated.

## Returns

`result` An object with the following fields:

* `context` The information about the current state of the program.
  * `apiVersion` The version of the Solana RPC API to use.
  * `slot` An integer representing the slot for which to retrieve the fee calculator.
* `value` A JSON object with the following fields:
  * `account` An address on the Solana blockchain that is used to store assets.
    * `data` A string containing the encoded data to be passed to the instruction.
      * `parsed` An array of parsed instructions that were executed in the block's transactions.
        * `info` An array of information objects that provide additional details about the transactions in the block.
          * `isNative` A boolean value indicating whether the token is a native token of the Solana blockchain.
          * `mint` Provides information about the creation of new tokens.
          * `owner` The base-58 encoded Pubkey of the program this account has been assigned to.
          * `state` The current state of the token account.
          * `tokenAmount` The balance of the token in the token account.
            * `amount` The raw total token supply without decimals, a string representation of a u64 integer.
            * `decimals` An integer value representing the number of decimal places used by the token.
            * `uiAmount` The total token supply using mint-prescribed decimals (DEPRECATED).
            * `uiAmountString` The total token supply as a string using mint-prescribed decimals.
        * `type` The type of the block. It can be used to differentiate between regular blocks and special blocks such as snapshot or transaction confirmation blocks.
      * `program` The program that manages the token.
      * `space` The amount of storage space required to store the token account.
    * `executable` A boolean indicating if the account contains a program (and is strictly read-only).
    * `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.
    * `rentEpoch` The epoch at which the token account's storage will be subject to rent.
    * `space` The amount of storage space required to store the token account.
  * `pubkey` The public key associated with the token account.

```bash
// Result
{
	"jsonrpc": "2.0",
	"result": {
		"context": {
			"apiVersion": "2.1.11",
			"slot": 320380251
		},
		"value": [
			{
				"account": {
					"data": {
						"parsed": {
							"info": {
								"isNative": false,
								"mint": "1YDQ35V8g68FGvcT85haHwAXv1U7XMzuc4mZeEXfrjE",
								"owner": "GgPpTKg78vmzgDtP1DNn72CHAYjRdKY7AV6zgszoHCSa",
								"state": "initialized",
								"tokenAmount": {
									"amount": "5",
									"decimals": 0,
									"uiAmount": 5.0,
									"uiAmountString": "5"
								}
							},
							"type": "account"
						},
						"program": "spl-token",
						"space": 165
					},
					"executable": false,
					"lamports": 2039280,
					"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
					"rentEpoch": 18446744073709551615,
					"space": 165
				},
				"pubkey": "9duBrvbQPiNng7ggy58pVhV8RieLZnyD6TuKCMhcqzjp"
			}
		]
	},
	"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": "getTokenAccountsByOwner","params": ["GgPpTKg78vmzgDtP1DNn72CHAYjRdKY7AV6zgszoHCSa",{"mint": "1YDQ35V8g68FGvcT85haHwAXv1U7XMzuc4mZeEXfrjE"},{"encoding": "jsonParsed"}]}'
    
</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": "getTokenAccountsByOwner","params": ["GgPpTKg78vmzgDtP1DNn72CHAYjRdKY7AV6zgszoHCSa",{"mint": "1YDQ35V8g68FGvcT85haHwAXv1U7XMzuc4mZeEXfrjE"},{"encoding": "jsonParsed"}]}'
    
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.validationcloud.io/v1/solana/http-methods/gettokenaccountsbyowner.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
