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

# logsSubscribe

> logsSubscribe transmite registros de transacciones de Solana en tiempo real mediante WebSocket. Suscríbete a todas las transacciones o filtra por un programa o una cuenta con mentions.

## Puntos de conexión

Los WebSockets están disponibles en mainnet y devnet mediante las siguientes URL:

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

<Note>Los WebSockets tienen un temporizador de inactividad de 10 minutos. Se recomienda ampliamente implementar comprobaciones de estado y enviar pings cada minuto para mantener activa la conexión WebSocket.</Note>

## Autorizaciones

<ParamField query="api-key" type="string" required>
  Tu clave de API de Helius. Puedes obtener una gratis en el [panel](https://dashboard.helius.dev/api-keys).
</ParamField>

## Cuerpo

<ParamField body="params" type="array" required>
  <Expandable title="properties" defaultOpen>
    <ParamField body="filter" type="string | object" required>
      Criterios de filtrado de los registros para recibir resultados por tipo de cuenta. Actualmente se admiten los siguientes tipos de filtros:

      * `all` - suscríbete a todas las transacciones, excepto a las transacciones de voto simples
      * `allWithVotes` - suscríbete a todas las transacciones, incluidas las transacciones de voto simples
      * Un objeto JSON con el siguiente campo:
        * `mentions: [ <string> ]` - arreglo que contiene una sola Pubkey (como cadena codificada en base 58); si está presente, suscríbete únicamente a las transacciones que mencionen esta dirección

      Nota: Actualmente, el campo `mentions` solo admite una cadena Pubkey por llamada al método. Incluir direcciones adicionales generará un error.
    </ParamField>

    <ParamField body="config" type="object">
      Objeto de configuración que contiene los siguientes campos:

      <ParamField body="commitment" type="string">
        El nivel de compromiso de la suscripción. Puede ser `finalized`, `confirmed` o `processed`.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

## Respuesta

<ResponseField name="result" type="integer">
  Identificador de la suscripción (necesario para cancelar la suscripción)
</ResponseField>

## Formato de notificación

La notificación será un objeto JSON RpcResponse con un valor igual a:

* `signature: <string>` - La firma de la transacción codificada en base58.
* `err: <object|null>` - Error si la transacción falló; null si se completó correctamente. Consulta las definiciones de TransactionError.
* `logs: <array[string]>` - Arreglo de mensajes de registro que las instrucciones de la transacción generan durante la ejecución.

<RequestExample>
  ```json Request theme={"system"}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "logsSubscribe",
    "params": [
      {
        "mentions": ["11111111111111111111111111111111"]
      },
      {
        "commitment": "finalized"
      }
    ]
  }
  ```
</RequestExample>

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

  ```json Notification theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "logsNotification",
    "params": {
      "result": {
        "context": {
          "slot": 5208469
        },
        "value": {
          "signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
          "err": null,
          "logs": [
            "SBF program 83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri success"
          ]
        }
      },
      "subscription": 24040
    }
  }
  ```
</ResponseExample>
