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

> Abonnieren, um eine Benachrichtigung zu erhalten, wenn die Transaktion mit der angegebenen Signatur das festgelegte Commit-Level erreicht.

Dies ist ein Abonnement für eine einzelne Benachrichtigung. Es wird automatisch vom Server gekündigt, sobald die Benachrichtigung, `signatureNotification`, vom RPC gesendet wird.

## Endpunkte

Websockets sind im Mainnet und Devnet mit den folgenden URLs verfügbar:

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

<Note>Websockets haben einen Inaktivitäts-Timer von 10 Minuten; es wird dringend empfohlen, Health Checks zu implementieren und jede Minute Pings zu senden, um die Websocket-Verbindung am Leben zu halten.</Note>

## Berechtigungen

<ParamField query="api-key" type="string" required>
  Ihr Helius API-Schlüssel. Sie können einen kostenlos im [Dashboard](https://dashboard.helius.dev/api-keys) erhalten.
</ParamField>

## Body

<ParamField body="params" type="array" required>
  <Expandable title="Eigenschaften" defaultOpen>
    <ParamField body="signature" type="string" required>
      Transaktionssignatur als base-58 kodierter String.

      Die Transaktionssignatur muss die erste Signatur der Transaktion sein (siehe Transaktions-ID für mehr Details).
    </ParamField>

    <ParamField body="config" type="object">
      Konfigurationsobjekt, das die folgenden Felder enthält:

      <ParamField body="commitment" type="string">
        Das Commit-Level für das Abonnement. Kann `finalized`, `confirmed` oder `processed` sein.
      </ParamField>

      <ParamField body="enableReceivedNotification" type="boolean">
        Ob eine Benachrichtigung gesendet werden soll, wenn die Transaktionssignatur empfangen wird.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## Antwort

<ResponseField name="result" type="integer">
  Abonnement-ID (wird zum Abbestellen benötigt)
</ResponseField>

## Benachrichtigungsformat

Die Benachrichtigung wird ein RpcResponse JSON-Objekt mit einem Wert sein, das ein Objekt enthält mit:

* `slot: <u64>` - Der entsprechende Slot.
* `value: <object|string>` - ein Benachrichtigungswert von RpcSignatureResult, der zu einem der folgenden führt:
  * wenn `enableReceivedNotification` `true` ist und die Signatur empfangen wird: der wörtliche String `"receivedSignature"`, oder
  * wenn die Signatur verarbeitet wird: `err: <object|null>`:
    * `null`, wenn die Transaktion erfolgreich auf dem festgelegten Commit-Level verarbeitet wurde, oder
    * ein TransactionError, wenn die Transaktion fehlgeschlagen ist

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