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

# How to Get Solana Account Data

> Read Solana account state with standard RPC methods — getAccountInfo, getMultipleAccounts, getProgramAccounts, and getBalance.

## What is account data?

Every piece of state on Solana lives in an account — wallets, token accounts, and program (smart-contract) state. Account methods read that state directly by address: the raw or parsed data, the owning program, the lamport (SOL) balance, and rent metadata.

For higher-level token and NFT data, use the [Tokens & NFTs](https://www.helius.dev/docs/das-api.md) APIs instead of raw account reads. For transaction history, see [Transactions](https://www.helius.dev/docs/rpc/historical-data.md).

## Which method should I use?

| What you need | Use this |
| - | - |
| The full contents of one account | **`getAccountInfo`** |
| Several accounts in a single request (up to 100) | **`getMultipleAccounts`** |
| Every account owned by a program, with filters | **`getProgramAccounts`** |
| Just the SOL balance of an account | **`getBalance`** |

## Key methods

> [card] [getAccountInfo](https://www.helius.dev/docs/rpc/guides/getaccountinfo.md)
>
> Full account state for a single address — data, owner, lamports, and rent epoch.

> [card] [getMultipleAccounts](https://www.helius.dev/docs/rpc/guides/getmultipleaccounts.md)
>
> Fetch up to 100 accounts in one call — the efficient way to read many accounts at once.

> [card] [getProgramAccounts](https://www.helius.dev/docs/rpc/guides/getprogramaccounts.md)
>
> Every account owned by a program, with `memcmp` and `dataSize` filters for targeted queries.

> [card] [getBalance](https://www.helius.dev/docs/rpc/guides/getbalance.md)
>
> The lamport (SOL) balance of a single account.

## Quickstart

Read a single account with `getAccountInfo`. Every Solana RPC call goes to the same endpoint with your API key from [dashboard.helius.dev](https://dashboard.helius.dev).

```typescript TypeScript theme={"system"}
const response = await fetch(`https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: '1',
    method: 'getAccountInfo',
    params: ['86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY', { encoding: 'jsonParsed' }],
  }),
});

const { result } = await response.json();
console.log(result.value);
```

```python Python theme={"system"}
import requests

url = "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY"
payload = {
    "jsonrpc": "2.0",
    "id": "1",
    "method": "getAccountInfo",
    "params": ["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY", {"encoding": "jsonParsed"}],
}
print(requests.post(url, json=payload).json()["result"]["value"])
```

```bash cURL theme={"system"}
curl https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "getAccountInfo",
    "params": ["86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY", { "encoding": "jsonParsed" }]
  }'
```

Reading many accounts? Use `getMultipleAccounts` with an array of addresses instead of looping `getAccountInfo` — one request returns up to 100 accounts.

## Next steps

> [card] [getAccountInfo reference](https://www.helius.dev/docs/api-reference/rpc/http/getaccountinfo.md)
>
> Full parameters, encodings, and response schema.

> [card] [Tokens & NFTs](https://www.helius.dev/docs/das-api.md)
>
> For token balances and NFT data, the DAS API is higher-level than raw account reads.

> [card] [Transactions](https://www.helius.dev/docs/rpc/historical-data.md)
>
> Query transaction and transfer history for an address.

> [card] [All RPC methods](https://www.helius.dev/docs/rpc/guides/overview.md)
>
> Browse the complete Solana RPC method reference.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.