# Open Interest Limit Channel

### Description

Push changes to the single-user open interest (OI) limit for a trading pair. When the OI limit quota changes, this channel pushes a message containing the new values. A full snapshot of the current limit is pushed immediately after a successful subscription.

For stock contracts, the OI limit differs from crypto contracts: the single-UID limit can be up to 20%, and the single-user (master + sub-accounts) limit can be up to 40%.

<div className="api-aligning">

```json title="Request Example"
{
    "op": "subscribe",
    "args": [
        {
            "instType": "usdt-futures",
            "topic": "open-interest-limit",
            "symbol": "BTCUSDT"
        }
    ]
}
```

### Request Parameters

| Parameters    | Type               | Required | Description                                                                                                        |
|---------------|--------------------|----------|----------------------------------------------------------------------------------------------------------------------|
| op            | String             | Yes      | Operation <br/> `subscribe` Subscribe <br/> `unsubscribe` Unsubscribe                                              |
| args          | List&lt;Object&gt; | Yes      | Subscribed channel                                                                                                  |
| &gt; instType | String             | Yes      | Product type<br/>`usdt-futures` USDT futures <br/> `coin-futures` Coin-M futures <br/> `usdc-futures` USDC futures |
| &gt; topic    | String             | Yes      | Topic <br/> `open-interest-limit` Open interest limit channel                                                      |
| &gt; symbol   | String             | Yes      | Trading pair <br/> e.g. `BTCUSDT`                                                                                  |

</div>

<div className="api-br-10"></div>

<div className="api-aligning">

```json title="Response Example"
{
  "event": "subscribe",
  "arg": {
    "instType": "usdt-futures",
    "topic": "open-interest-limit",
    "symbol": "BTCUSDT"
  },
  "connId": "xxxxxxxxxx"
}
```

### Response Parameters

| Parameters    | Type   | Description                                                                                                        |
|---------------|--------|------------------------------------------------------------------------------------------------------------------------|
| event         | String | Event                                                                                                                |
| arg           | Object | Subscribed channel                                                                                                  |
| &gt; instType | String | Product type<br/>`usdt-futures` USDT futures <br/> `coin-futures` Coin-M futures <br/> `usdc-futures` USDC futures |
| &gt; topic    | String | Topic <br/> `open-interest-limit` Open interest limit channel                                                      |
| &gt; symbol   | String | Trading pair <br/> e.g. `BTCUSDT`                                                                                  |
| code          | String | Error code                                                                                                           |
| msg           | String | Error message                                                                                                       |
| connId        | String | Connection ID                                                                                                        |

</div>

<div className="api-br-10"></div>

<div className="api-aligning">

```json title="Push Data"
{
  "data": [
    {
      "symbol": "BTCUSDT",
      "notionalValue": "1000000",
      "singlePositionRatio": "0.1",
      "totalNotionalValue": "5000000",
      "totalPositionRatio": "0.2"
    }
  ],
  "arg": {
    "instType": "usdt-futures",
    "topic": "open-interest-limit",
    "symbol": "BTCUSDT"
  },
  "action": "snapshot",
  "ts": 1736371332162
}
```

### Push Parameters

| Parameters    | Parameter Type     | Description                                                                                                        |
|---------------|--------------------|------------------------------------------------------------------------------------------------------------------------|
| arg           | Object             | Subscribed successful channel                                                                                       |
| &gt; instType | String             | Product type<br/>`usdt-futures` USDT futures <br/> `coin-futures` Coin-M futures <br/> `usdc-futures` USDC futures |
| &gt; topic    | String             | Topic <br/> `open-interest-limit` Open interest limit channel                                                      |
| &gt; symbol   | String             | Trading pair <br/> e.g. `BTCUSDT`                                                                                  |
| action        | String             | Data push action <br/> `snapshot` Full data <br/> `update` Incremental data                                        |
| data          | List&lt;Object&gt; | Subscribed data                                                                                                     |
| &gt; symbol   | String             | Trading pair name, pushed on change                                                                                |
| &gt; notionalValue | String       | Individual user position notional value, pushed on change                                                          |
| &gt; singlePositionRatio | String | Single UID contract position ratio, pushed on change <br/> Returned as a decimal, e.g. `0.1` represents 10%  |
| &gt; totalNotionalValue | String  | Master/sub-account position notional value, pushed on change                                                      |
| &gt; totalPositionRatio | String  | Master/sub-account contract position ratio, pushed on change <br/> Returned as a decimal, e.g. `0.1` represents 10% |

</div>
