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

> 지정된 서명을 가진 트랜잭션이 지정된 커밋 수준에 도달할 때 알림을 구독합니다.

이것은 단일 알림에 대한 구독입니다. 알림인 `signatureNotification`가 RPC에 의해 전송되면 서버에 의해 자동으로 취소됩니다.

## 엔드포인트

웹소켓은 다음 URL로 메인넷과 데브넷에서 사용할 수 있습니다:

* **메인넷** `wss://mainnet.helius-rpc.com/?api-key=<api-key>`
* **데브넷** `wss://devnet.helius-rpc.com/?api-key=<api-key>`

<Note>웹소켓에는 10분의 비활성 타이머가 있습니다. 웹소켓 연결을 유지하기 위해 헬스 체크를 구현하고 매 분마다 핑을 보내는 것이 강력히 권장됩니다.</Note>

## 권한

<ParamField query="api-key" type="string" required>
  귀하의 Helius API 키입니다. [대시보드](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로 인코딩된 문자열.

      트랜잭션 서명은 트랜잭션의 첫 번째 서명이어야 합니다(자세한 내용은 트랜잭션 ID를 참조).
    </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">
  구독 ID(구독 취소에 필요)
</ResponseField>

## 알림 형식

알림은 다음을 포함하는 객체 값을 가진 RpcResponse JSON 객체가 됩니다.

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