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

# signatureSubscribe

> Abonnez-vous pour recevoir une notification lorsque la transaction avec la signature donnée atteint le niveau d'engagement spécifié.

Il s'agit d'un abonnement à une seule notification. Il est automatiquement annulé par le serveur une fois que la notification, `signatureNotification`, est envoyée par le RPC.

## Points de terminaison

Les Websockets sont disponibles sur le mainnet et le devnet avec les URLs suivantes :

* **Mainnet** `wss://mainnet.helius-rpc.com/?api-key=<api-key>`
* **Devnet** `wss://devnet.helius-rpc.com/?api-key=<api-key>`

<Note>Les websockets ont un minuteur d'inactivité de 10 minutes ; il est fortement recommandé de mettre en œuvre des vérifications de l'état et d'envoyer des pings chaque minute pour maintenir la connexion websocket active.</Note>

## Autorisations

<ParamField query="api-key" type="string" required>
  Votre clé API Helius. Vous pouvez en obtenir une gratuitement dans le [tableau de bord](https://dashboard.helius.dev/api-keys).
</ParamField>

## Corps

<ParamField body="params" type="array" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="signature" type="string" required>
      Signature de la transaction, sous forme de chaîne encodée en base-58.

      La signature de la transaction doit être la première signature de la transaction (voir identifiant de transaction pour plus de détails).
    </ParamField>

    <ParamField body="config" type="object">
      Objet de configuration contenant les champs suivants :

      <ParamField body="commitment" type="string">
        Le niveau d'engagement pour l'abonnement. Peut être `finalized`, `confirmed`, ou `processed`.
      </ParamField>

      <ParamField body="enableReceivedNotification" type="boolean">
        Indique s'il faut envoyer une notification lorsque la signature de la transaction est reçue.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## Réponse

<ResponseField name="result" type="integer">
  ID de l'abonnement (nécessaire pour se désabonner)
</ResponseField>

## Format de notification

La notification sera un objet JSON RpcResponse avec une valeur contenant un objet avec :

* `slot: <u64>` - Le slot correspondant.
* `value: <object|string>` - une valeur de notification de RpcSignatureResult, résultant soit en :
  * lorsque `enableReceivedNotification` est `true` et la signature est reçue : la chaîne littérale `"receivedSignature"`, ou
  * lorsque la signature est traitée : `err: <object|null>` :
    * `null` si la transaction a réussi à être traitée au niveau d'engagement spécifié, ou
    * une TransactionError, si la transaction a échoué

<RequestExample>
  ```json Request theme={"system"}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "signatureSubscribe",
    "params": [
      "2EBVM6cB8vAAD93Ktr6Vd8p67XPbQzCJX47MpReuiCXJAtcjaxpvWpcg9Ege1Nr5Tk3a2GFrByT7WPBjdsTycY9b",
      {
        "commitment": "finalized",
        "enableReceivedNotification": false
      }
    ]
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={"system"}
  {
    "jsonrpc": "2.0",
    "result": 0,
    "id": 1
  }
  ```

  ```json Notification (Processed Transaction) theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "signatureNotification",
    "params": {
      "result": {
        "context": {
          "slot": 5207624
        },
        "value": {
          "err": null
        }
      },
      "subscription": 24006
    }
  }
  ```

  ```json Notification (Received Transaction) theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "signatureNotification",
    "params": {
      "result": {
        "context": {
          "slot": 5207624
        },
        "value": "receivedSignature"
      },
      "subscription": 24006
    }
  }
  ```
</ResponseExample>
