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

> Retorna todas as contas de propriedade do programa Pubkey fornecido.

<Info>
  **Nova Funcionalidade**: `getProgramAccounts` agora suporta o parâmetro `changedSinceSlot` para atualizações incrementais. Quando especificado, o método retorna apenas contas que foram modificadas no ou após o número de slot fornecido. Isso é perfeito para indexação em tempo real e fluxos de trabalho de sincronização de dados.
</Info>

## Parâmetros da Solicitação

<ParamField body="address" type="string" required>
  A chave pública do programa Solana (endereço) para consultar contas, como uma string codificada em base-58.
</ParamField>

<ParamField body="commitment" type="string">
  O nível de comprometimento para a solicitação.

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

<ParamField body="minContextSlot" type="number">
  O slot mínimo em que a solicitação pode ser avaliada.
</ParamField>

<ParamField body="withContext" type="boolean">
  Envolva o resultado em um objeto JSON RpcResponse.
</ParamField>

<ParamField body="encoding" type="string">
  Formato de codificação para os dados da conta retornados.

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

<ParamField body="dataSlice" type="object">
  Solicite um fragmento dos dados da conta.
</ParamField>

<ParamField body="dataSlice.length" type="number">
  Número de bytes a retornar.
</ParamField>

<ParamField body="dataSlice.offset" type="number">
  Deslocamento de bytes a partir do qual começar a ler.
</ParamField>

<ParamField body="changedSinceSlot" type="number">
  Retorne apenas contas que foram modificadas no ou após este número de slot. Útil para atualizações incrementais.
</ParamField>

<ParamField body="filters" type="array">
  Sistema de filtragem poderoso para consultar eficientemente padrões específicos de dados de contas Solana.
</ParamField>


## OpenAPI

````yaml pt-BR/openapi/rpc-http/getProgramAccounts.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    API avançada de indexação de contas de programas Solana para consulta e
    filtragem de contas de programas específicos com poderosas capacidades de
    filtragem de dados.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Endpoint RPC Mainnet
  - url: https://devnet.helius-rpc.com
    description: Endpoint RPC Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getProgramAccounts
      description: >
        Recupere todas as contas de propriedade de um programa específico do
        Solana com recursos avançados de filtragem. Esta API essencial permite
        que os desenvolvedores consultem de maneira eficiente as estruturas de
        dados on-chain usadas por qualquer programa, com filtragem avançada por
        tamanho de conta, conteúdo de memória e outros critérios. Perfeito para
        indexar coleções NFT, pools de liquidez DEX, posições de empréstimo,
        propostas de governança e outros dados específicos de protocolo
        armazenados no blockchain Solana. Suporta múltiplos formatos de
        codificação de dados para uma eficiência de análise otimizada.
      operationId: getProgramAccounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: A versão do protocolo JSON-RPC.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Um identificador único para a solicitação.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: O nome do método RPC a ser invocado.
                  enum:
                    - getProgramAccounts
                  example: getProgramAccounts
                  default: getProgramAccounts
                params:
                  type: array
                  description: Parâmetros para o método.
                  default:
                    - 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          A chave pública do programa Solana (endereço) para
                          consultar contas, como uma string codificada em
                          base-58.
                        example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                      - type: object
                        description: >-
                          Opções de configuração avançadas para otimizar
                          consultas de contas de programas.
                        properties:
                          commitment:
                            type: string
                            description: O nível de compromisso para a solicitação.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: >-
                              O slot mínimo em que a solicitação pode ser
                              avaliada.
                            example: 1000
                          withContext:
                            type: boolean
                            description: Envolva o resultado em um objeto JSON RpcResponse.
                            example: true
                          encoding:
                            type: string
                            description: >-
                              Formato de codificação para os dados da conta
                              retornados.
                            enum:
                              - jsonParsed
                              - base58
                              - base64
                              - base64+zstd
                            example: jsonParsed
                          dataSlice:
                            type: object
                            description: Solicite uma fatia dos dados da conta.
                            properties:
                              length:
                                type: integer
                                description: Número de bytes a serem retornados.
                                example: 50
                              offset:
                                type: integer
                                description: >-
                                  Deslocamento de byte a partir do qual começar
                                  a leitura.
                                example: 0
                          changedSinceSlot:
                            type: integer
                            description: >-
                              Retorne apenas contas que foram modificadas neste
                              slot ou após esse número de slot. Útil para
                              atualizações incrementais.
                            example: 464175999
                          filters:
                            type: array
                            description: >-
                              Sistema de filtragem poderoso para consultar
                              eficientemente padrões de dados específicos de
                              contas Solana.
                            items:
                              oneOf:
                                - type: object
                                  description: >-
                                    Filtre contas Solana por seu tamanho exato
                                    de dados em bytes.
                                  properties:
                                    dataSize:
                                      type: integer
                                      description: >-
                                        O tamanho exato dos dados da conta em
                                        bytes para filtragem.
                                      example: 17
                                - type: object
                                  description: >-
                                    Filtre contas Solana comparando dados em
                                    deslocamentos de memória específicos (filtro
                                    mais poderoso).
                                  properties:
                                    memcmp:
                                      type: object
                                      description: >-
                                        Filtro de comparação de memória para
                                        encontrar contas com padrões de dados
                                        específicos.
                                      properties:
                                        offset:
                                          type: integer
                                          description: >-
                                            Deslocamento de byte dentro dos dados da
                                            conta para realizar a comparação.
                                          example: 4
                                        bytes:
                                          type: string
                                          description: >-
                                            Dados codificados em base-58 para
                                            comparar na posição de deslocamento
                                            especificada.
                                          example: 3Mc6vR
      responses:
        '200':
          description: Contas de programas recuperadas com sucesso.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: A versão do protocolo JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Identificador correspondente à solicitação.
                    example: '1'
                  result:
                    oneOf:
                      - type: array
                        description: Lista de contas de programas.
                        items:
                          type: object
                          properties:
                            pubkey:
                              type: string
                              description: >-
                                A chave pública da conta como uma string
                                codificada em base-58.
                              example: CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY
                            account:
                              type: object
                              description: Detalhes sobre a conta.
                              properties:
                                lamports:
                                  type: integer
                                  description: Número de lamports atribuídos a esta conta.
                                  example: 15298080
                                owner:
                                  type: string
                                  description: >-
                                    Chave pública codificada em base-58 do
                                    programa ao qual esta conta está atribuída.
                                  example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                                data:
                                  type: array
                                  description: >-
                                    Dados da conta como formato binário ou JSON
                                    codificado.
                                  items:
                                    type: string
                                  example:
                                    - 2R9jLfiAQ9bgdcw6h8s44439
                                    - base58
                                executable:
                                  type: boolean
                                  description: Indica se a conta contém um programa.
                                  example: false
                                rentEpoch:
                                  type: integer
                                  description: >-
                                    A época em que esta conta deve pagar aluguel
                                    novamente.
                                  example: 28
                                space:
                                  type: integer
                                  description: O tamanho dos dados da conta.
                                  example: 42
        '400':
          description: >-
            Bad Request - Parâmetros de solicitação inválidos ou solicitação
            malformada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Invalid params
                  data: {}
                id: '1'
        '401':
          description: Unauthorized - Chave de API inválida ou ausente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
                  data: {}
                id: '1'
        '429':
          description: Too Many Requests - Limite de taxa excedido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                  data: {}
                id: '1'
        '500':
          description: Internal Server Error - Ocorreu um erro no servidor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Internal error
                  data: {}
                id: '1'
        '503':
          description: Service Unavailable - O serviço está temporariamente indisponível.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                  data: {}
                id: '1'
        '504':
          description: Gateway Timeout - A solicitação expirou.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Gateway timeout
                  data: {}
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: A versão do protocolo JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: O código de erro.
              example: -32602
            message:
              type: string
              description: A mensagem de erro.
            data:
              type: object
              description: Dados adicionais sobre o erro.
        id:
          type: string
          description: Identificador correspondente à solicitação.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Sua chave de API da Helius. Você pode obter uma gratuitamente no
        [dashboard](https://dashboard.helius.dev/api-keys).

````