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

> Renvoie tous les comptes détenus par le programme Pubkey fourni.

<Info>
  **Nouvelle Fonctionnalité** : `getProgramAccounts` prend désormais en charge le paramètre `changedSinceSlot` pour les mises à jour incrémentielles. Lorsqu'il est spécifié, la méthode ne renvoie que les comptes qui ont été modifiés à ou après le numéro de slot donné. Parfait pour les workflows d'indexation en temps réel et de synchronisation des données.
</Info>

## Paramètres de la requête

<ParamField body="address" type="string" required>
  La clé publique (adresse) du programme Solana pour interroger les comptes, en tant que chaîne encodée en base-58.
</ParamField>

<ParamField body="commitment" type="string">
  Le niveau d'engagement pour la requête.

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

<ParamField body="minContextSlot" type="number">
  Le slot minimum auquel la requête peut être évaluée.
</ParamField>

<ParamField body="withContext" type="boolean">
  Envelopper le résultat dans un objet JSON RpcResponse.
</ParamField>

<ParamField body="encoding" type="string">
  Format d'encodage pour les données de compte retournées.

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

<ParamField body="dataSlice" type="object">
  Demander une tranche des données du compte.
</ParamField>

<ParamField body="dataSlice.length" type="number">
  Nombre d'octets à retourner.
</ParamField>

<ParamField body="dataSlice.offset" type="number">
  Décalage en octets à partir duquel commencer la lecture.
</ParamField>

<ParamField body="changedSinceSlot" type="number">
  Retourner uniquement les comptes qui ont été modifiés à ou après ce numéro de slot. Utile pour les mises à jour incrémentielles.
</ParamField>

<ParamField body="filters" type="array">
  Système de filtrage puissant pour interroger efficacement des modèles de données de comptes Solana spécifiques.
</ParamField>


## OpenAPI

````yaml fr/openapi/rpc-http/getProgramAccounts.yaml POST /
openapi: 3.1.0
info:
  title: Solana RPC API
  version: 1.0.0
  description: >-
    API avancée d'indexation de comptes de programme Solana pour l'interrogation
    et le filtrage de comptes détenus par des programmes spécifiques avec des
    capacités de filtrage de données puissantes.
  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: >
        Récupérez tous les comptes détenus par un programme Solana spécifique
        avec des capacités de filtrage puissantes.

        Cette API essentielle permet aux développeurs d'interroger efficacement
        les structures de données on-chain utilisées par

        n'importe quel programme, avec un filtrage avancé par taille de compte,
        contenu mémoire et d'autres critères.

        Parfaite pour l'indexation de collections NFT, pools de liquidité DEX,
        positions de prêt, propositions de gouvernance,

        et autres données spécifiques au protocole stockées sur la blockchain
        Solana. Prend en charge plusieurs formats d'encodage de données

        pour une efficacité de parsing optimale.
      operationId: getProgramAccounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  description: La version du protocole JSON-RPC.
                  enum:
                    - '2.0'
                  example: '2.0'
                  default: '2.0'
                id:
                  type: string
                  description: Un identifiant unique pour la requête.
                  example: '1'
                  default: '1'
                method:
                  type: string
                  description: Le nom de la méthode RPC à invoquer.
                  enum:
                    - getProgramAccounts
                  example: getProgramAccounts
                  default: getProgramAccounts
                params:
                  type: array
                  description: Paramètres pour la méthode.
                  default:
                    - 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                  items:
                    oneOf:
                      - type: string
                        description: >-
                          La clé publique du programme Solana (adresse) pour
                          laquelle interroger les comptes, sous forme de chaîne
                          encodée en base-58.
                        example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                      - type: object
                        description: >-
                          Options de configuration avancées pour optimiser les
                          requêtes de comptes de programme.
                        properties:
                          commitment:
                            type: string
                            description: Le niveau d'engagement pour la requête.
                            enum:
                              - confirmed
                              - finalized
                              - processed
                            example: finalized
                          minContextSlot:
                            type: integer
                            description: >-
                              Le slot minimum auquel la requête peut être
                              évaluée.
                            example: 1000
                          withContext:
                            type: boolean
                            description: >-
                              Envelopper le résultat dans un objet JSON
                              RpcResponse.
                            example: true
                          encoding:
                            type: string
                            description: >-
                              Format d'encodage des données de compte
                              retournées.
                            enum:
                              - jsonParsed
                              - base58
                              - base64
                              - base64+zstd
                            example: jsonParsed
                          dataSlice:
                            type: object
                            description: Demander une tranche des données du compte.
                            properties:
                              length:
                                type: integer
                                description: Nombre d'octets à retourner.
                                example: 50
                              offset:
                                type: integer
                                description: >-
                                  Décalage en octets à partir duquel commencer
                                  la lecture.
                                example: 0
                          changedSinceSlot:
                            type: integer
                            description: >-
                              Retourner uniquement les comptes modifiés à ou
                              après ce numéro de slot. Utile pour les mises à
                              jour incrémentielles.
                            example: 464175999
                          filters:
                            type: array
                            description: >-
                              Système de filtrage puissant pour interroger
                              efficacement des modèles de données de comptes
                              Solana spécifiques.
                            items:
                              oneOf:
                                - type: object
                                  description: >-
                                    Filtrer les comptes Solana par leur taille
                                    de données exacte en octets.
                                  properties:
                                    dataSize:
                                      type: integer
                                      description: >-
                                        La taille exacte des données du compte
                                        en octets pour le filtrage.
                                      example: 17
                                - type: object
                                  description: >-
                                    Filtrer les comptes Solana en comparant les
                                    données à des décalages mémoire spécifiques
                                    (filtre le plus puissant).
                                  properties:
                                    memcmp:
                                      type: object
                                      description: >-
                                        Filtre de comparaison mémoire pour
                                        trouver des comptes avec des modèles de
                                        données spécifiques.
                                      properties:
                                        offset:
                                          type: integer
                                          description: >-
                                            Décalage en octets à l'intérieur des
                                            données de compte pour effectuer la
                                            comparaison.
                                          example: 4
                                        bytes:
                                          type: string
                                          description: >-
                                            Données encodées en base-58 pour
                                            comparer à la position de décalage
                                            spécifiée.
                                          example: 3Mc6vR
      responses:
        '200':
          description: Comptes de programme récupérés avec succès.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    description: La version du protocole JSON-RPC.
                    enum:
                      - '2.0'
                    example: '2.0'
                  id:
                    type: string
                    description: Identifiant correspondant à la requête.
                    example: '1'
                  result:
                    oneOf:
                      - type: array
                        description: Liste des comptes de programme.
                        items:
                          type: object
                          properties:
                            pubkey:
                              type: string
                              description: >-
                                Le Pubkey du compte sous forme de chaîne encodée
                                en base-58.
                              example: CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY
                            account:
                              type: object
                              description: Détails sur le compte.
                              properties:
                                lamports:
                                  type: integer
                                  description: Nombre de lamports assignés à ce compte.
                                  example: 15298080
                                owner:
                                  type: string
                                  description: >-
                                    Pubkey encodée en base-58 du programme
                                    auquel ce compte est assigné.
                                  example: 4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T
                                data:
                                  type: array
                                  description: >-
                                    Données de compte comme format binaire
                                    encodé ou JSON.
                                  items:
                                    type: string
                                  example:
                                    - 2R9jLfiAQ9bgdcw6h8s44439
                                    - base58
                                executable:
                                  type: boolean
                                  description: Indique si le compte contient un programme.
                                  example: false
                                rentEpoch:
                                  type: integer
                                  description: >-
                                    L'époque à laquelle ce compte devra payer le
                                    loyer.
                                  example: 28
                                space:
                                  type: integer
                                  description: La taille des données du compte.
                                  example: 42
        '400':
          description: >-
            Requête incorrecte - Paramètres de requête invalides ou requête
            malformée.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32602
                  message: Invalid params
                  data: {}
                id: '1'
        '401':
          description: Non autorisé - Clé API invalide ou manquante.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32001
                  message: Unauthorized
                  data: {}
                id: '1'
        '429':
          description: Trop de demandes - Limite de débit dépassée.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                  data: {}
                id: '1'
        '500':
          description: >-
            Erreur interne du serveur - Une erreur s'est produite sur le
            serveur.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32603
                  message: Internal error
                  data: {}
                id: '1'
        '503':
          description: Service indisponible - Le service est temporairement indisponible.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32002
                  message: Service unavailable
                  data: {}
                id: '1'
        '504':
          description: Délai d'attente dépassé - La requête a expiré.
          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: La version du protocole JSON-RPC.
          enum:
            - '2.0'
          example: '2.0'
        error:
          type: object
          properties:
            code:
              type: integer
              description: Le code d'erreur.
              example: -32602
            message:
              type: string
              description: Le message d'erreur.
            data:
              type: object
              description: Données supplémentaires sur l'erreur.
        id:
          type: string
          description: Identifiant correspondant à la requête.
          example: '1'
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Votre clé API Helius. Vous pouvez en obtenir une gratuitement sur le
        [tableau de bord](https://dashboard.helius.dev/api-keys).

````