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

> Devuelve todas las cuentas que pertenecen a la Pubkey del programa proporcionado.

<Info>
  **Nueva función**: `getProgramAccounts` ahora admite el parámetro `changedSinceSlot` para actualizaciones incrementales. Cuando se especifica, el método solo devuelve las cuentas que se modificaron en el número de slot indicado o después. Es ideal para flujos de trabajo de indexación en tiempo real y sincronización de datos.
</Info>

## Parámetros de la solicitud

<ParamField body="address" type="string" required>
  La clave pública (dirección) del programa de Solana cuyas cuentas deseas consultar, como una cadena codificada en base 58.
</ParamField>

<ParamField body="commitment" type="string">
  El nivel de confirmación de la solicitud.

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

<ParamField body="minContextSlot" type="number">
  El slot mínimo en el que se puede evaluar la solicitud.
</ParamField>

<ParamField body="withContext" type="boolean">
  Encapsula el resultado en un objeto JSON RpcResponse.
</ParamField>

<ParamField body="encoding" type="string">
  Formato de codificación de los datos de cuenta devueltos.

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

<ParamField body="dataSlice" type="object">
  Solicita una sección de los datos de la cuenta.
</ParamField>

<ParamField body="dataSlice.length" type="number">
  Cantidad de bytes que se devolverán.
</ParamField>

<ParamField body="dataSlice.offset" type="number">
  Desplazamiento en bytes desde el que se comenzará a leer.
</ParamField>

<ParamField body="changedSinceSlot" type="number">
  Devuelve solo las cuentas que se modificaron en este número de slot o después. Es útil para actualizaciones incrementales.
</ParamField>

<ParamField body="filters" type="array">
  Potente sistema de filtrado para consultar de forma eficiente patrones específicos de datos de cuentas de Solana.
</ParamField>


## OpenAPI

````yaml es/openapi/rpc-http/getProgramAccounts.yaml POST /
openapi: 3.1.0
info:
  title: API RPC de Solana
  version: 1.0.0
  description: >-
    API avanzada de indexación de cuentas de programas de Solana para consultar
    y filtrar cuentas que pertenecen a programas específicos, con potentes
    capacidades de filtrado de datos.
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.helius-rpc.com
    description: Punto de conexión RPC de Mainnet
  - url: https://devnet.helius-rpc.com
    description: Punto de conexión RPC de Devnet
security: []
paths:
  /:
    post:
      tags:
        - RPC
      summary: getProgramAccounts
      description: >
        Recupera todas las cuentas que pertenecen a un programa específico de
        Solana con potentes capacidades de filtrado.

        Esta API esencial permite a los desarrolladores consultar de forma
        eficiente las estructuras de datos en cadena que utiliza

        cualquier programa, con filtrado avanzado por tamaño de cuenta,
        contenido de memoria y otros criterios.

        Es perfecta para indexar colecciones de NFT, fondos de liquidez de DEX,
        posiciones de préstamo, propuestas de gobernanza

        y otros datos específicos de protocolos almacenados en la blockchain de
        Solana. Admite varios formatos de codificación

        de datos para lograr una eficiencia óptima de análisis.
      operationId: getProgramAccounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: La versión del protocolo JSON-RPC.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Un identificador único para la solicitud.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: El nombre del método RPC que se invocará.
                  enum:
                    - getProgramAccounts
                  example: getProgramAccounts
                  default: getProgramAccounts
                params:
                  type: array
                  description: Parámetros del método.
                  default:
                    - 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          La clave pública (dirección) del programa de Solana
                          cuyas cuentas se consultarán, como una cadena
                          codificada en base 58.
                        example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                      - type: object
                        description: >-
                          Opciones de configuración avanzadas para optimizar las
                          consultas de cuentas de programas.
                        properties:
                          commitment:
                            type: string
                            description: El nivel de compromiso de la solicitud.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: >-
                              El slot mínimo en el que se puede evaluar la
                              solicitud.
                            example: 1000
                          withContext:
                            type: boolean
                            description: >-
                              Encapsula el resultado en un objeto JSON
                              RpcResponse.
                            example: true
                          encoding:
                            type: string
                            description: >-
                              Formato de codificación de los datos de cuenta
                              devueltos.
                            enum:
                              - jsonParsed
                              - base58
                              - base64
                              - base64+zstd
                            example: jsonParsed
                          dataSlice:
                            type: object
                            description: Solicita un segmento de los datos de la cuenta.
                            properties:
                              length:
                                type: integer
                                description: Número de bytes que se devolverán.
                                example: 50
                              offset:
                                type: integer
                                description: >-
                                  Desplazamiento en bytes a partir del cual se
                                  comenzará a leer.
                                example: 0
                          changedSinceSlot:
                            type: integer
                            description: >-
                              Devuelve únicamente las cuentas que se modificaron
                              en este número de slot o después. Es útil para
                              actualizaciones incrementales.
                            example: 464175999
                          filters:
                            type: array
                            description: >-
                              Potente sistema de filtrado para consultar de
                              forma eficiente patrones específicos de datos de
                              cuentas de Solana.
                            items:
                              oneOf:
                                - type: object
                                  description: >-
                                    Filtra cuentas de Solana según el tamaño
                                    exacto de sus datos en bytes.
                                  properties:
                                    dataSize:
                                      type: integer
                                      description: >-
                                        El tamaño exacto en bytes de los datos
                                        de cuenta que se usará para el filtrado.
                                      example: 17
                                - type: object
                                  description: >-
                                    Filtra cuentas de Solana mediante la
                                    comparación de datos en desplazamientos de
                                    memoria específicos (el filtro más potente).
                                  properties:
                                    memcmp:
                                      type: object
                                      description: >-
                                        Filtro de comparación de memoria para
                                        encontrar cuentas con patrones de datos
                                        específicos.
                                      properties:
                                        offset:
                                          type: integer
                                          description: >-
                                            Desplazamiento en bytes dentro de los
                                            datos de cuenta en el que se realizará
                                            la comparación.
                                          example: 4
                                        bytes:
                                          type: string
                                          description: >-
                                            Datos codificados en base 58 que se
                                            compararán en la posición de
                                            desplazamiento especificada.
                                          example: 3Mc6vR
      responses:
        '200':
          description: Las cuentas del programa se recuperaron correctamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: La versión del protocolo JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Identificador que coincide con la solicitud.
                    example: '1'
                  result:
                    oneOf:
                      - type: array
                        description: Lista de cuentas del programa.
                        items:
                          type: object
                          properties:
                            pubkey:
                              type: string
                              description: >-
                                La clave pública de la cuenta como una cadena
                                codificada en base 58.
                              example: CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY
                            account:
                              type: object
                              description: Detalles de la cuenta.
                              properties:
                                lamports:
                                  type: integer
                                  description: Número de lamports asignados a esta cuenta.
                                  example: 15298080
                                owner:
                                  type: string
                                  description: >-
                                    Clave pública codificada en base 58 del
                                    programa al que está asignada esta cuenta.
                                  example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                                data:
                                  type: array
                                  description: >-
                                    Datos de la cuenta en formato binario
                                    codificado o JSON.
                                  items:
                                    type: string
                                  example:
                                    - 2R9jLfiAQ9bgdcw6h8s44439
                                    - base58
                                executable:
                                  type: boolean
                                  description: Indica si la cuenta contiene un programa.
                                  example: false
                                rentEpoch:
                                  type: integer
                                  description: >-
                                    La época en la que esta cuenta deberá pagar
                                    alquiler nuevamente.
                                  example: 28
                                space:
                                  type: integer
                                  description: El tamaño de los datos de la cuenta.
                                  example: 42
        '400':
          description: >-
            Solicitud incorrecta: parámetros de solicitud no válidos o solicitud
            con formato incorrecto.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Parámetros no válidos
                  data: {}
                id: '1'
        '401':
          description: 'No autorizado: la clave de API no es válida o no se proporcionó.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: No autorizado
                  data: {}
                id: '1'
        '429':
          description: 'Demasiadas solicitudes: se superó el límite de solicitudes.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Demasiadas solicitudes
                  data: {}
                id: '1'
        '500':
          description: 'Error interno del servidor: ocurrió un error en el servidor.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Error interno
                  data: {}
                id: '1'
        '503':
          description: >-
            Servicio no disponible: el servicio no está disponible
            temporalmente.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Servicio no disponible
                  data: {}
                id: '1'
        '504':
          description: >-
            Tiempo de espera de la puerta de enlace agotado: se agotó el tiempo
            de espera de la solicitud.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32003
                  message: Tiempo de espera de la puerta de enlace agotado
                  data: {}
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          description: La versión del protocolo JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: El código de error.
              example: -32602
            message:
              type: string
              description: El mensaje de error.
            data:
              type: object
              description: Datos adicionales sobre el error.
        id:
          type: string
          description: Identificador que coincide con la solicitud.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Tu clave de API de Helius. Puedes obtener una gratis en el
        [panel](https://dashboard.helius.dev/api-keys).

````