> ## 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.

# getProgramAccounts

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

<Info>
  **Новая функция**: `getProgramAccounts` теперь поддерживает параметр `changedSinceSlot` для инкрементальных обновлений. Если он указан, метод возвращает только аккаунты, измененные в указанном слоте или позднее. Это оптимально подходит для индексирования в реальном времени и процессов синхронизации данных.
</Info>

## Параметры запроса

<ParamField body="address" type="string" required>
  Публичный ключ (адрес) программы Solana, для которой запрашиваются аккаунты, в виде строки в кодировке base-58.
</ParamField>

<ParamField body="commitment" type="string">
  Уровень подтверждения для запроса.

  * `confirmed`
  * `finalized`
  * `processed`
</ParamField>

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

<ParamField body="withContext" type="boolean">
  Оборачивает результат в JSON-объект RpcResponse.
</ParamField>

<ParamField body="encoding" type="string">
  Формат кодирования возвращаемых данных аккаунта.

  * `jsonParsed`
  * `base58`
  * `base64`
  * `base64+zstd`
</ParamField>

<ParamField body="dataSlice" type="object">
  Запрашивает срез данных аккаунта.
</ParamField>

<ParamField body="dataSlice.length" type="number">
  Количество возвращаемых байтов.
</ParamField>

<ParamField body="dataSlice.offset" type="number">
  Смещение в байтах, с которого следует начать чтение.
</ParamField>

<ParamField body="changedSinceSlot" type="number">
  Возвращает только аккаунты, измененные в этом слоте или позднее. Полезно для инкрементальных обновлений.
</ParamField>

<ParamField body="filters" type="array">
  Мощная система фильтрации для эффективного поиска определенных шаблонов данных аккаунтов Solana.
</ParamField>


## OpenAPI

````yaml ru/openapi/rpc-http/getProgramAccounts.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    Расширенный API индексирования программных аккаунтов Solana для запросов и
    фильтрации аккаунтов, принадлежащих определённым программам, с мощными
    возможностями фильтрации данных.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Конечная точка RPC основной сети
  - url: https://devnet.helius-rpc.com
    description: Конечная точка RPC тестовой сети Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getProgramAccounts
      description: >
        Получает все аккаунты, принадлежащие определённой программе Solana, с
        помощью мощных возможностей фильтрации.

        Этот важный API позволяет разработчикам эффективно запрашивать
        внутрисетевые структуры данных, используемые

        любой программой, с расширенной фильтрацией по размеру аккаунта,
        содержимому памяти и другим критериям.

        Идеально подходит для индексирования коллекций NFT, пулов ликвидности
        DEX, кредитных позиций, предложений по управлению

        и других данных конкретных протоколов, хранящихся в блокчейне Solana.
        Поддерживает несколько форматов кодирования данных

        для оптимальной эффективности разбора.
      operationId: getProgramAccounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: Версия протокола JSON-RPC.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Уникальный идентификатор запроса.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: Имя вызываемого метода RPC.
                  enum:
                    - getProgramAccounts
                  example: getProgramAccounts
                  default: getProgramAccounts
                params:
                  type: array
                  description: Параметры метода.
                  default:
                    - 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          Открытый ключ (адрес) программы Solana, аккаунты
                          которой необходимо запросить, в виде строки с
                          кодировкой base58.
                        example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                      - type: object
                        description: >-
                          Расширенные параметры конфигурации для оптимизации
                          запросов программных аккаунтов.
                        properties:
                          commitment:
                            type: string
                            description: Уровень подтверждения для запроса.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: >-
                              Минимальный слот, на котором может быть обработан
                              запрос.
                            example: 1000
                          withContext:
                            type: boolean
                            description: Оборачивает результат в JSON-объект RpcResponse.
                            example: true
                          encoding:
                            type: string
                            description: Формат кодирования возвращаемых данных аккаунта.
                            enum:
                              - jsonParsed
                              - base58
                              - base64
                              - base64+zstd
                            example: jsonParsed
                          dataSlice:
                            type: object
                            description: Запрашивает срез данных аккаунта.
                            properties:
                              length:
                                type: integer
                                description: Количество возвращаемых байтов.
                                example: 50
                              offset:
                                type: integer
                                description: >-
                                  Смещение в байтах, с которого начинается
                                  чтение.
                                example: 0
                          changedSinceSlot:
                            type: integer
                            description: >-
                              Возвращает только аккаунты, изменённые в этом
                              слоте или позднее. Полезно для инкрементальных
                              обновлений.
                            example: 464175999
                          filters:
                            type: array
                            description: >-
                              Мощная система фильтрации для эффективного запроса
                              определённых шаблонов данных аккаунтов Solana.
                            items:
                              oneOf:
                                - type: object
                                  description: >-
                                    Фильтрует аккаунты Solana по точному размеру
                                    данных в байтах.
                                  properties:
                                    dataSize:
                                      type: integer
                                      description: >-
                                        Точный размер данных аккаунта в байтах
                                        для фильтрации.
                                      example: 17
                                - type: object
                                  description: >-
                                    Фильтрует аккаунты Solana путём сравнения
                                    данных по определённым смещениям в памяти
                                    (самый мощный фильтр).
                                  properties:
                                    memcmp:
                                      type: object
                                      description: >-
                                        Фильтр сравнения памяти для поиска
                                        аккаунтов с определёнными шаблонами
                                        данных.
                                      properties:
                                        offset:
                                          type: integer
                                          description: >-
                                            Смещение в байтах внутри данных
                                            аккаунта, по которому выполняется
                                            сравнение.
                                          example: 4
                                        bytes:
                                          type: string
                                          description: >-
                                            Данные в кодировке base58 для сравнения
                                            по указанному смещению.
                                          example: 3Mc6vR
      responses:
        '200':
          description: Программные аккаунты успешно получены.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: Версия протокола JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Идентификатор, соответствующий запросу.
                    example: '1'
                  result:
                    oneOf:
                      - type: array
                        description: Список программных аккаунтов.
                        items:
                          type: object
                          properties:
                            pubkey:
                              type: string
                              description: >-
                                Открытый ключ аккаунта в виде строки с
                                кодировкой base58.
                              example: CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY
                            account:
                              type: object
                              description: Сведения об аккаунте.
                              properties:
                                lamports:
                                  type: integer
                                  description: >-
                                    Количество лампортов, назначенных этому
                                    аккаунту.
                                  example: 15298080
                                owner:
                                  type: string
                                  description: >-
                                    Открытый ключ в кодировке base58 программы,
                                    которой назначен этот аккаунт.
                                  example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                                data:
                                  type: array
                                  description: >-
                                    Данные аккаунта в кодированном двоичном
                                    формате или формате JSON.
                                  items:
                                    type: string
                                  example:
                                    - 2R9jLfiAQ9bgdcw6h8s44439
                                    - base58
                                executable:
                                  type: boolean
                                  description: Указывает, содержит ли аккаунт программу.
                                  example: false
                                rentEpoch:
                                  type: integer
                                  description: >-
                                    Эпоха, в которой с этого аккаунта в
                                    следующий раз будет взиматься арендная
                                    плата.
                                  example: 28
                                space:
                                  type: integer
                                  description: Размер данных аккаунта.
                                  example: 42
        '400':
          description: >-
            Неверный запрос — недопустимые параметры или некорректная структура
            запроса.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Недопустимые параметры
                  data: {}
                id: '1'
        '401':
          description: Не авторизовано — ключ API недействителен или отсутствует.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Не авторизовано
                  data: {}
                id: '1'
        '429':
          description: Слишком много запросов — превышено ограничение частоты запросов.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Слишком много запросов
                  data: {}
                id: '1'
        '500':
          description: Внутренняя ошибка сервера — на сервере произошла ошибка.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Внутренняя ошибка
                  data: {}
                id: '1'
        '503':
          description: Сервис недоступен — сервис временно недоступен.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Сервис недоступен
                  data: {}
                id: '1'
        '504':
          description: Истекло время ожидания шлюза — время ожидания запроса истекло.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Истекло время ожидания шлюза
                  data: {}
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: Версия протокола JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Код ошибки.
              example: -32602
            message:
              type: string
              description: Сообщение об ошибке.
            data:
              type: object
              description: Дополнительные сведения об ошибке.
        id:
          type: string
          description: Идентификатор, соответствующий запросу.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Ваш ключ API Helius. Его можно бесплатно получить на [панели
        управления](https://dashboard.helius.dev/api-keys).

````

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