> ## Documentation Index
> Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# getTokenAccountsByOwner on Solana

> Call getTokenAccountsByOwner on Solana via GoldRush JSON-RPC. Returns all SPL token accounts owned by an address. Endpoint, parameters, return values, and code examples.

<Card title="0.05 credits per call" icon="coins" />

`getTokenAccountsByOwner` on **Solana**: Returns all SPL token accounts owned by an address.

## Endpoint

```
https://rpc.goldrushdata.com/v1/solana-mainnet
```

Authenticate with `Authorization: Bearer <GOLDRUSH_API_KEY>`. See [authentication](/goldrush-json-rpc/authentication).

## Parameters

| Name     | Type     | Required | Description                                                                                             | Example                                                   |
| -------- | -------- | -------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| `owner`  | `string` | yes      | Base-58 encoded owner wallet address.                                                                   | `"4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F"`          |
| `filter` | `object` | yes      | Either `{mint}` (base-58 token mint) or `{programId}` (base-58 token program). Exactly one is required. | `{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}` |
| `config` | `object` | no       | `{commitment?, encoding?, dataSlice?, minContextSlot?}`.                                                | `{"encoding":"jsonParsed"}`                               |

## Returns

`object`: `{context, value: array<{pubkey, account}>}`: token accounts with parsed `tokenAmount` when `jsonParsed`.

```json theme={null}
{"context":{"slot":372877175},"value":[{"pubkey":"28bf...","account":{"data":{"parsed":{"info":{"mint":"EPjF...","owner":"4Qke...","tokenAmount":{"amount":"1000000","decimals":6,"uiAmount":1.0}}}}}}]}
```

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl https://rpc.goldrushdata.com/v1/solana-mainnet \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "getTokenAccountsByOwner",
      "params": ["4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F", {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}, {"encoding":"jsonParsed"}]
    }'
  ```

  ```typescript @solana/kit theme={null}
  import {
    createDefaultRpcTransport,
    createSolanaRpcFromTransport,
  } from "@solana/kit";

  const transport = createDefaultRpcTransport({
    url: "https://rpc.goldrushdata.com/v1/solana-mainnet",
    headers: { Authorization: `Bearer ${process.env.GOLDRUSH_API_KEY}` },
  });
  const rpc = createSolanaRpcFromTransport(transport);

  const result = await rpc.getTokenAccountsByOwner("4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F", {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}, {"encoding":"jsonParsed"}).send();
  console.log(result);
  ```

  ```python python theme={null}
  import os
  import requests

  resp = requests.post(
      "https://rpc.goldrushdata.com/v1/solana-mainnet",
      headers={
          "Authorization": f"Bearer {os.environ['GOLDRUSH_API_KEY']}",
          "Content-Type": "application/json",
      },
      json={"jsonrpc": "2.0", "id": 1, "method": "getTokenAccountsByOwner", "params": ["4Qkev8aNZcqFNSRhQzwyLMFSsi94jHqE8WNVTJzTP99F", {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}, {"encoding":"jsonParsed"}]},
  )
  print(resp.json()["result"])
  ```
</CodeGroup>

## Errors

Standard JSON-RPC errors: `-32600` invalid request, `-32601` method not found, `-32602` invalid params.

## Related Token info methods on Solana

* [`getTokenAccountBalance` on Solana](/api-reference/json-rpc/solana/gettokenaccountbalance)
* [`getTokenSupply` on Solana](/api-reference/json-rpc/solana/gettokensupply)
* [`getTokenLargestAccounts` on Solana](/api-reference/json-rpc/solana/gettokenlargestaccounts)
* [`getTokenAccountsByDelegate` on Solana](/api-reference/json-rpc/solana/gettokenaccountsbydelegate)
* [`requestAirdrop` on Solana](/api-reference/json-rpc/solana/requestairdrop)
