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

# slotsUpdatesSubscribe

> Suscríbete para recibir una notificación del validador sobre distintos tipos de actualizaciones en cada slot.

<Note>
  Esta suscripción es inestable. El formato de esta suscripción puede cambiar en el futuro y es posible que no siempre sea compatible.
</Note>

## Endpoints

WebSocket está disponible 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>WebSocket tiene 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">
  <Expandable title="properties" defaultOpen>
    <ParamField body="none" type="null">
      No se requieren parámetros.
    </ParamField>
  </Expandable>
</ParamField>

## Respuesta

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

## Formato de la notificación

La notificación será un objeto con los siguientes campos:

* `err: <string|undefined>` - El mensaje de error. Solo está presente si la actualización es de tipo "dead".
* `parent: <u64|undefined>` - El slot principal. Solo está presente si la actualización es de tipo "createdBank".
* `slot: <u64>` - El slot recién actualizado
* `stats: <object|undefined>` - Solo está presente si la actualización es de tipo "frozen". Es un objeto con los siguientes campos:
  * `maxTransactionsPerEntry: <u64>`
  * `numFailedTransactions: <u64>`
  * `numSuccessfulTransactions: <u64>`
  * `numTransactionEntries: <u64>`
* `timestamp: <i64>` - La marca de tiempo Unix de la actualización en milisegundos
* `type: <string>` - El tipo de actualización, uno de los siguientes:
  * "firstShredReceived"
  * "completed"
  * "createdBank"
  * "frozen"
  * "dead"
  * "optimisticConfirmation"
  * "root"

<RequestExample>
  ```json Request theme={"system"}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "slotsUpdatesSubscribe"
  }
  ```
</RequestExample>

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

  ```json Notification theme={"system"}
  {
    "jsonrpc": "2.0",
    "method": "slotsUpdatesNotification",
    "params": {
      "result": {
        "parent": 75,
        "slot": 76,
        "timestamp": 1625081266243,
        "type": "optimisticConfirmation"
      },
      "subscription": 0
    }
  }
  ```
</ResponseExample>
