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

# getBalance

> Возвращает баланс аккаунта по предоставленному публичному ключу

## Параметры

<ParamField query="pubkey" type="string" required>
  Публичный ключ аккаунта для запроса (строка, закодированная в base-58)
</ParamField>

<ParamField query="config" type="object" optional>
  Объект конфигурации, содержащий следующие необязательные поля:

  <Expandable title="поля config">
    <ParamField query="commitment" type="string" optional>
      Уровень commitment для использования:

      * `processed`: Последний блок (неподтверждённый)
      * `confirmed`: Подтверждён супербольшинством
      * `finalized`: Финализирован супербольшинством
    </ParamField>

    <ParamField query="minContextSlot" type="number" optional>
      Минимальный слот, при котором может быть выполнен запрос
    </ParamField>
  </Expandable>
</ParamField>

## Ответ

<ResponseField name="result" type="object">
  <Expandable title="поля result">
    <ResponseField name="context" type="object">
      <ResponseField name="slot" type="number">
        Слот, при котором был обработан запрос
      </ResponseField>
    </ResponseField>

    <ResponseField name="value" type="number">
      Количество lamports, назначенных данному аккаунту
    </ResponseField>
  </Expandable>
</ResponseField>

## Примеры кода

### Базовый запрос

```bash theme={null}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
  ]
}'
```

### Запрос с commitment

```bash theme={null}
curl https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri",
    {
      "commitment": "finalized"
    }
  ]
}'
```

### Использование web3.js

```typescript theme={null}
import { Connection, PublicKey } from '@solana/web3.js';

const connection = new Connection('https://fra.rpc.orbitflare.com?api_key=YOUR-API-KEY');
const publicKey = new PublicKey('83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri');

const balance = await connection.getBalance(
  publicKey,
  'confirmed'
);

console.log(`Balance: ${balance / 1e9} SOL`);
```

## Примечания

1. Баланс возвращается в lamports (1 SOL = 1 000 000 000 lamports)
2. Для новых аккаунтов баланс будет равен 0
3. Баланс включает все токены SOL, в том числе делегированные для стейкинга
4. Ответ приходит немедленно, поскольку считывается из текущего состояния

## Лучшие практики

1. Используйте подходящий уровень commitment в зависимости от ваших потребностей:
   * `processed` для обновлений интерфейса
   * `confirmed` для большинства операций
   * `finalized` для критических операций
2. Конвертируйте lamports в SOL, разделив на 1e9, при отображении пользователям
3. Рассмотрите использование `getAccountInfo`, если вам нужны дополнительные сведения об аккаунте

## Распространённые ошибки

| Код    | Сообщение                                | Решение                                            |
| ------ | ---------------------------------------- | -------------------------------------------------- |
| -32602 | Invalid param: WrongSize                 | Убедитесь, что публичный ключ действителен         |
| -32602 | Invalid param: not base58 encoded string | Убедитесь, что публичный ключ закодирован в base58 |
| -32007 | Account not found                        | Аккаунт не существует (баланс будет 0)             |
