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

# getMerkleProofs

> Récupérez les preuves d'inclusion de Merkle pour les engagements dans un arbre d'état de confidentialité.

## Preuves d'inclusion

Fournissez entre 1 et 1 000 engagements provenant du même arbre d'état. Chaque feuille doit encoder un élément du corps scalaire BN254. Utilisez l'arbre et l'engagement renvoyés avec une sortie chiffrée. Les preuves suivent l'ordre des feuilles demandées.

Chaque preuve inclut les éléments frères `path`, `leafIndex`, `root`, `rootSeq` et `rootIndex`. Pour les arbres d'état, `rootSeq` correspond au slot Solana finalisé utilisé pour garantir l'actualité de la preuve. `rootIndex` correspond à la position de la racine dans l'historique des racines du compte Solana ; elle ne peut pas être calculée à partir du slot.

Si la racine indexée a expiré de l'historique des racines, réessayez une fois que l'indexeur a rattrapé son retard. Le [SDK](https://www.helius.dev/docs/fr/privacy/sdk.md) gère l'assemblage des preuves pour les opérations de portefeuille.

## Paramètres de la requête

**leaves** `array` *required*

Engagements de l'arbre d'état encodés en base58 sous forme d'éléments de 32 octets du corps scalaire BN254.

**treeAccount** `string` *required*

Compte de l'arbre d'état contenant les engagements.


## OpenAPI

````yaml fr/openapi/privacy/getMerkleProofs.yaml POST /v1/spr/getMerkleProofs
openapi: 3.0.3
info:
  title: API Solana Privacy Rings
  version: 0.51.2
  description: >-
    API JSON-RPC d’indexation de la confidentialité pour les états chiffrés,
    l’historique, les preuves et les enregistrements du registre public.
servers:
  - url: https://devnet.helius-rpc.com
    description: API Solana Privacy Rings du Devnet
security: []
paths:
  /v1/spr/getMerkleProofs:
    post:
      summary: getMerkleProofs
      description: >-
        Récupère les preuves d’inclusion de Merkle pour les engagements d’un
        arbre d’état de confidentialité.
      operationId: getMerkleProofs
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                id:
                  type: string
                  description: Identifiant permettant d’identifier la requête.
                  default: '1'
                jsonrpc:
                  type: string
                  description: Version du protocole JSON-RPC.
                  enum:
                    - '2.0'
                  default: '2.0'
                method:
                  type: string
                  description: >-
                    Méthode à appeler. Elle doit correspondre au dernier segment
                    du chemin de l’URL.
                  enum:
                    - getMerkleProofs
                  default: getMerkleProofs
                params:
                  type: object
                  required:
                    - treeAccount
                    - leaves
                  properties:
                    leaves:
                      type: array
                      items:
                        $ref: '#/components/schemas/Hash'
                      minItems: 1
                      maxItems: 1000
                      description: >-
                        Engagements de l’arbre d’état encodés en base58 sous
                        forme d’éléments de 32 octets du corps scalaire BN254.
                    treeAccount:
                      allOf:
                        - $ref: '#/components/schemas/SerializablePubkey'
                      description: Compte de l’arbre d’état contenant les engagements.
                  additionalProperties: false
                  example:
                    treeAccount: 33KVhbT4QtdQDrrrGwwThqD47Dh4Q6tA443t9jMNcWFN
                    leaves:
                      - '11111111111111111111111111111112'
            example:
              jsonrpc: '2.0'
              id: '1'
              method: getMerkleProofs
              params:
                treeAccount: 33KVhbT4QtdQDrrrGwwThqD47Dh4Q6tA443t9jMNcWFN
                leaves:
                  - '11111111111111111111111111111112'
        required: true
      responses:
        '200':
          description: >-
            Réponse JSON-RPC. Vérifiez le champ d’erreur avant de lire le
            résultat.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
                  id:
                    type: string
                    description: Identifiant de la requête.
                  jsonrpc:
                    type: string
                    description: Version du protocole JSON-RPC.
                    enum:
                      - '2.0'
                  result:
                    type: object
                    required:
                      - context
                      - proofs
                    properties:
                      context:
                        $ref: '#/components/schemas/Context'
                      proofs:
                        type: array
                        items:
                          $ref: '#/components/schemas/MerkleProof'
                    additionalProperties: false
        '400':
          description: >-
            Rejetée avant l’exécution. Une incohérence entre la méthode et le
            chemin, des champs de méthode en double ou une requête par lots
            renvoie -32601. Un corps illisible ou trop volumineux renvoie
            -32600.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      Identifiant de la requête, ou null lorsque le corps ne
                      contient pas un seul appel JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
        '429':
          description: Limite de débit dépassée.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      Identifiant de la requête, ou null lorsque le corps ne
                      contient pas un seul appel JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
        '500':
          description: Erreur interne du serveur.
          content:
            application/json:
              schema:
                type: object
                required:
                  - jsonrpc
                  - id
                  - error
                properties:
                  jsonrpc:
                    type: string
                    enum:
                      - '2.0'
                  id:
                    type: string
                    nullable: true
                    description: >-
                      Identifiant de la requête, ou null lorsque le corps ne
                      contient pas un seul appel JSON-RPC.
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data:
                        type: object
                        additionalProperties: true
      security:
        - ApiKeyQuery: []
components:
  schemas:
    Hash:
      type: string
      description: Hachage de 32 octets encodé en base58.
    SerializablePubkey:
      type: string
      description: Clé publique Solana encodée en base58.
    Context:
      type: object
      required:
        - blockTime
        - slot
      properties:
        blockTime:
          type: integer
          format: int64
        slot:
          type: integer
          format: uint64
          description: >-
            Slot le plus élevé que l’indexeur a persisté, utilisé pour les
            vérifications de fraîcheur basées sur les slots.
          minimum: 0
    MerkleProof:
      type: object
      required:
        - leaf
        - merkleContext
        - path
        - leafIndex
        - root
        - rootSeq
        - rootIndex
      properties:
        leaf:
          $ref: '#/components/schemas/Hash'
        leafIndex:
          type: integer
          format: uint64
          minimum: 0
        merkleContext:
          $ref: '#/components/schemas/MerkleContext'
        path:
          type: array
          items:
            $ref: '#/components/schemas/Hash'
        root:
          $ref: '#/components/schemas/Hash'
        rootIndex:
          type: integer
          format: uint16
          description: >-
            Position réelle dans l’historique on-chain pour `root`. La position
            d’une racine d’état

            ne peut pas être déduite de `root_seq` : les slots sans mise à jour
            ne consomment aucune entrée.
          minimum: 0
        rootSeq:
          type: integer
          format: uint64
          description: >-
            Clé d’ordonnancement des racines : le slot Solana terminé pour la
            fraîcheur des preuves

            de l’arbre d’état, ou la séquence de mise à jour on-chain pour une
            preuve d’arbre indexé.
          minimum: 0
      additionalProperties: false
    MerkleContext:
      type: object
      required:
        - treeType
        - tree
      properties:
        tree:
          $ref: '#/components/schemas/SerializablePubkey'
        treeType:
          type: integer
          format: uint16
          minimum: 0
      additionalProperties: false
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Votre clé API Helius.

````

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