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

> Подпишитесь на уведомление о достижении транзакцией с указанной подписью заданного уровня подтверждения.

Это подписка на однократное уведомление. Сервер автоматически отменяет её после того, как RPC отправляет уведомление `signatureNotification`.

## Конечные точки

WebSocket доступны в mainnet и devnet по следующим URL:

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

<Note>Для WebSocket установлен 10-минутный таймер неактивности. Настоятельно рекомендуется реализовать проверку состояния и отправлять ping-запросы каждую минуту, чтобы поддерживать WebSocket-соединение активным.</Note>

## Авторизация

<ParamField query="api-key" type="string" required>
  Ваш API-ключ Helius. Его можно бесплатно получить в [панели управления](https://dashboard.helius.dev/api-keys).
</ParamField>

## Тело запроса

<ParamField body="params" type="array" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="signature" type="string" required>
      Подпись транзакции в виде строки, закодированной в base-58.

      Подпись транзакции должна быть первой подписью из транзакции (подробнее см. в разделе об идентификаторе транзакции).
    </ParamField>

    <ParamField body="config" type="object">
      Объект конфигурации, содержащий следующие поля:

      <ParamField body="commitment" type="string">
        Уровень подтверждения для подписки. Допустимые значения: `finalized`, `confirmed` или `processed`.
      </ParamField>

      <ParamField body="enableReceivedNotification" type="boolean">
        Указывает, следует ли отправлять уведомление при получении подписи транзакции.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## Ответ

<ResponseField name="result" type="integer">
  Идентификатор подписки (необходим для отмены подписки)
</ResponseField>

## Формат уведомления

Уведомление представляет собой JSON-объект RpcResponse, значение которого содержит объект со следующими полями:

* `slot: <u64>` — соответствующий слот.
* `value: <object|string>` — значение уведомления RpcSignatureResult, которое может быть следующим:
  * если `enableReceivedNotification` имеет значение `true` и подпись получена: строковый литерал `"receivedSignature"`; или
  * если подпись обработана: `err: <object|null>`:
    * `null`, если транзакция была успешно обработана на указанном уровне подтверждения; или
    * TransactionError, если обработать транзакцию не удалось

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


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