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

# getValidityProof

> Retourne une preuve ZK unique utilisée par le programme de compression pour vérifier que les comptes donnés sont valides et que les nouvelles adresses peuvent être créées.

## Paramètres de la requête

<ParamField body="hashes" type="array">
  Tableau de hachages cryptographiques pour les comptes compressés Solana à vérifier
</ParamField>

<ParamField body="newAddressesWithTrees" type="array">
  Tableau d'adresses de comptes Solana avec leurs arbres de Merkle associés pour vérification
</ParamField>


## OpenAPI

````yaml fr/openapi/zk-compression/getValidityProof.yaml POST /
openapi: 3.0.3
info:
  title: Solana Zero-Knowledge Proof Validation API
  description: >-
    Indexeur avancé Solana pour la validation de la compression d'état utilisant
    la cryptographie à connaissance zéro. Cette API spécialisée permet la
    vérification des NFT compressés et des comptes de jetons sur la blockchain
    Solana par le biais de preuves de validité cryptographiques, fournissant une
    certitude mathématique de l'intégrité des données pour les actifs compressés
    tout en maintenant les garanties de sécurité du modèle de consensus Solana.
  license:
    name: Apache-2.0
  version: 0.50.0
servers:
  - url: https://mainnet.helius-rpc.com
    description: Point de terminaison RPC de Mainnet
  - url: https://devnet.helius-rpc.com
    description: Point de terminaison RPC de Devnet
security: []
paths:
  /:
    summary: getValidityProof
    post:
      description: >-
        Récupérer des preuves de validité cryptographique à connaissance zéro
        pour les comptes compressés de Solana. Ce point de terminaison de
        vérification avancée renvoie les composants de preuve mathématiques
        nécessaires pour valider les NFT compressés et les comptes de jetons
        sans nécessiter de données complètes sur la chaîne. Essentiel pour les
        applications qui ont besoin d'une vérification cryptographique de l'état
        des actifs compressés tout en bénéficiant de la technologie de
        compression d'état de Solana pour réduire les coûts de stockage et
        améliorer l'évolutivité.
      operationId: getValidityProof
      requestBody:
        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'
                  default: '2.0'
                id:
                  type: string
                  description: Un identifiant pour identifier la requête.
                  default: '1'
                method:
                  type: string
                  description: Le nom de la méthode à invoquer.
                  enum:
                    - getValidityProof
                  default: getValidityProof
                params:
                  type: object
                  default:
                    hashes:
                      - gEF8v1TLb2T9vTaJarFj6kQoSfWNkskMSCJpPJSxZzT
                  properties:
                    hashes:
                      type: array
                      items:
                        $ref: '#/components/schemas/Hash'
                      description: >-
                        Tableau de hachages cryptographiques pour les comptes
                        compressés de Solana à vérifier
                    newAddressesWithTrees:
                      type: array
                      items:
                        $ref: '#/components/schemas/AddressWithTree'
                      description: >-
                        Tableau d'adresses de comptes Solana avec leurs arbres
                        de Merkle associés pour vérification
                  additionalProperties: false
        required: true
      responses:
        '200':
          description: >-
            Preuve de validité récupérée avec succès pour les comptes compressés
            de Solana
          content:
            application/json:
              schema:
                type: object
                required:
                  - value
                  - context
                properties:
                  context:
                    $ref: '#/components/schemas/Context'
                  value:
                    $ref: '#/components/schemas/CompressedProofWithContext'
                additionalProperties: false
        '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
                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
                id: '1'
        '429':
          description: Trop de requêtes - Limite de fréquence dépassée.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                jsonrpc: '2.0'
                error:
                  code: -32005
                  message: Too many requests
                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
                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
                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
                id: '1'
      security:
        - ApiKeyQuery: []
components:
  schemas:
    Hash:
      type: string
      description: >-
        Un hachage cryptographique de 32 octets représenté sous forme de chaîne
        base58, utilisé pour la vérification de comptes compressés Solana.
      example: 11111112cMQwSC9qirWGjZM6gLGwW69X22mqwLLGP
    AddressWithTree:
      type: object
      required:
        - address
        - tree
      properties:
        address:
          $ref: '#/components/schemas/SerializablePubkey'
          description: Adresse du compte Solana à vérifier par preuve à connaissance zéro
        tree:
          $ref: '#/components/schemas/SerializablePubkey'
          description: >-
            Adresse de l'arbre de Merkle où le compte Solana compressé est
            stocké
      additionalProperties: false
    Context:
      type: object
      required:
        - slot
      properties:
        slot:
          type: integer
          default: 100
          example: 100
          description: >-
            Slot actuel de la blockchain Solana pour cette demande de preuve de
            validité
    CompressedProofWithContext:
      type: object
      required:
        - compressedProof
        - roots
        - rootIndices
        - leafIndices
        - leaves
        - merkleTrees
      properties:
        compressedProof:
          $ref: '#/components/schemas/CompressedProof'
          description: >-
            La preuve cryptographique à connaissance zéro pour valider les
            comptes compressés de Solana
        leafIndices:
          type: array
          items:
            type: integer
            format: int32
            minimum: 0
          description: >-
            Indices des feuilles dans les arbres de Merkle de Solana pour les
            comptes compressés
        leaves:
          type: array
          items:
            type: string
          description: >-
            Données des nœuds feuilles pour les comptes compressés de Solana en
            cours de vérification
        merkleTrees:
          type: array
          items:
            type: string
          description: >-
            Adresses des arbres de Merkle de Solana contenant les comptes
            compressés
        rootIndices:
          type: array
          items:
            type: integer
            format: int64
            minimum: 0
          description: >-
            Indices des racines dans les arbres de Merkle de Solana pour les
            comptes compressés
        roots:
          type: array
          items:
            type: string
          description: >-
            Hachages racine des arbres de Merkle de Solana pour les comptes
            compressés
    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'
    SerializablePubkey:
      type: string
      description: >-
        Une clé publique Solana représentée sous forme de chaîne base58,
        utilisée pour identifier les comptes, les arbres et les programmes.
      default: 11111118eRTi4fUVRoeYEeeTyL4DPAwxatvWT5q1Z
      example: 11111118eRTi4fUVRoeYEeeTyL4DPAwxatvWT5q1Z
    CompressedProof:
      type: object
      required:
        - a
        - b
        - c
      properties:
        a:
          type: string
          format: binary
          description: >-
            Premier composant de la preuve de validité à connaissance zéro
            Solana
        b:
          type: string
          format: binary
          description: >-
            Deuxième composant de la preuve de validité à connaissance zéro
            Solana
        c:
          type: string
          format: binary
          description: >-
            Troisième composant de la preuve de validité à connaissance zéro
            Solana
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: >-
        Votre clé API Helius. Vous pouvez en obtenir une gratuitement dans le
        [tableau de bord](https://dashboard.helius.dev/api-keys).

````