{
  "asyncapi": "3.0.0",
  "id": "https://deribit.com/api/v2/subscriptions",
  "info": {
    "title": "Deribit Subscriptions",
    "version": "1.0.0",
    "description": "AsyncAPI specification for Deribit subscriptions",
    "contact": {
      "name": "Deribit API Support",
      "url": "https://docs.deribit.com"
    }
  },
  "servers": {
    "production": {
      "host": "deribit.com/ws/api/v2",
      "protocol": "wss",
      "description": "Deribit WebSocket API"
    },
    "testnet": {
      "host": "test.deribit.com/ws/api/v2",
      "protocol": "wss",
      "description": "Deribit Testnet WebSocket API"
    }
  },
  "defaultContentType": "application/json",
  "channels": {
    "platform_state": {
      "address": "platform_state",
      "title": "platform_state ",
      "summary": "Platform state notifications.\n\nUse this channel to monitor whether the Deribit platform is operational and to detect maintenance periods or partial outages that may affect trading, authentication, or market data.\n",
      "description": "Platform state notifications.\n\nUse this channel to monitor whether the Deribit platform is operational and to detect maintenance periods or partial outages that may affect trading, authentication, or market data.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `platform_state` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "platform_state"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "platform_state_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `platform_state` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "price_index": {
                    "type": "string",
                    "description": "Name of index that is locked or unlocked, sent only with `locked` field",
                    "example": "btc_usdc"
                  },
                  "locked": {
                    "type": "boolean",
                    "description": "Value is set to 'true' when index is locked on platform, sent only with `price_index` field",
                    "example": false
                  },
                  "maintenance": {
                    "type": "boolean",
                    "description": "Value is set to `true` when the maintenance break begins",
                    "example": true
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "price_index": "sol_usdc",
                  "locked": true
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "platform_state.public_methods_state": {
      "address": "platform_state.public_methods_state",
      "title": "platform_state.public_methods_state ",
      "summary": "Notifications indicating whether unauthenticated (public) requests are currently allowed.\n\nThis is useful for monitoring service availability for public endpoints (e.g., market data) without authentication.\n",
      "description": "Notifications indicating whether unauthenticated (public) requests are currently allowed.\n\nThis is useful for monitoring service availability for public endpoints (e.g., market data) without authentication.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `platform_state.public_methods_state` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "platform_state.public_methods_state"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "platform_state_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `platform_state.public_methods_state` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "allow_unauthenticated_public_requests": {
                    "type": "boolean",
                    "description": "Value is set to 'true' when unauthorized public requests are allowed"
                  }
                },
                "required": [
                  "allow_unauthenticated_public_requests"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "allow_unauthenticated_public_requests": true
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "announcements": {
      "address": "announcements",
      "title": "announcements ",
      "summary": "General announcements concerning the Deribit platform.\n\nSubscribe to receive operational messages such as maintenance notices, incidents, and important platform updates.\n",
      "description": "General announcements concerning the Deribit platform.\n\nSubscribe to receive operational messages such as maintenance notices, incidents, and important platform updates.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `announcements` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "announcements"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "announcements_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `announcements` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "Announcement's identifier",
                    "example": 1532593832021
                  },
                  "title": {
                    "type": "string",
                    "description": "Announcement's title",
                    "example": "Example announcement"
                  },
                  "body": {
                    "type": "string",
                    "description": "HTML-formatted announcement body",
                    "example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
                  },
                  "publication_timestamp": {
                    "type": "integer",
                    "description": "The timestamp (milliseconds since the Unix epoch) of announcement publication",
                    "example": 1532593832021
                  },
                  "important": {
                    "type": "boolean",
                    "description": "Whether the announcement is marked as important"
                  },
                  "confirmation": {
                    "type": "boolean",
                    "description": "Whether the user confirmation is required for this announcement"
                  },
                  "unread": {
                    "type": "integer",
                    "description": "The number of previous unread announcements (optional, only for authorized users)."
                  },
                  "action": {
                    "type": "string",
                    "description": "Action taken by the platform administrators. Published a `new` announcement, or `delete`d the old one",
                    "enum": [
                      "new",
                      "deleted"
                    ]
                  }
                },
                "required": [
                  "id",
                  "action",
                  "title",
                  "body",
                  "publication_timestamp",
                  "important"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          }
        }
      },
      "tags": [
        {
          "name": "Announcements"
        }
      ]
    },
    "book.(instrument_name).(interval)": {
      "address": "book.(instrument_name).(interval)",
      "title": "book.(instrument_name).(interval) ",
      "summary": "Real-time order book updates for a specific instrument.\n\n- The first notification contains a full snapshot of the book (bids and asks for **all price levels** — no depth limit).\n- Subsequent notifications contain only incremental changes to individual price levels.\n- Updates are tuples in the form `[action, price, amount]`, where `action` is one of: `new`, `change`, `delete`.\n\nEach notification includes a `change_id`. Every message except the first also contains `prev_change_id`. If `prev_change_id` equals the `change_id` of the previous message, it indicates that no messages were missed.\n\nFor Starbase-routed instruments, the published price levels include accepted mass-quote liquidity.\n\n**Depth:** This channel delivers the complete order book with no depth restriction. If you need a depth-limited, price-grouped snapshot, use `book.{instrument_name}.{group}.{depth}.{interval}` instead.\n\n**Units:** For perpetuals and futures, `amount` is in USD units. For options, `amount` is in the corresponding cryptocurrency contracts (e.g., BTC or ETH).\n",
      "description": "Real-time order book updates for a specific instrument.\n\n- The first notification contains a full snapshot of the book (bids and asks for **all price levels** — no depth limit).\n- Subsequent notifications contain only incremental changes to individual price levels.\n- Updates are tuples in the form `[action, price, amount]`, where `action` is one of: `new`, `change`, `delete`.\n\nEach notification includes a `change_id`. Every message except the first also contains `prev_change_id`. If `prev_change_id` equals the `change_id` of the previous message, it indicates that no messages were missed.\n\nFor Starbase-routed instruments, the published price levels include accepted mass-quote liquidity.\n\n**Depth:** This channel delivers the complete order book with no depth restriction. If you need a depth-limited, price-grouped snapshot, use `book.{instrument_name}.{group}.{depth}.{interval}` instead.\n\n**Units:** For perpetuals and futures, `amount` is in USD units. For options, `amount` is in the corresponding cryptocurrency contracts (e.g., BTC or ETH).\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to book channel. Channel name format: `book.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "book.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "book_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `book.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "change_id": {
                    "type": "integer",
                    "description": "Identifier of the notification"
                  },
                  "prev_change_id": {
                    "type": "integer",
                    "description": "Identifier of the previous notification (it's **not** included for the first notification)"
                  },
                  "asks": {
                    "type": "array",
                    "description": ""
                  },
                  "bids": {
                    "type": "array",
                    "description": ""
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp of last change (milliseconds since the Unix epoch)"
                  },
                  "type": {
                    "type": "string",
                    "description": "Type of notification: `snapshot` for initial, `change` for others",
                    "enum": [
                      "snapshot",
                      "change"
                    ]
                  }
                },
                "required": [
                  "instrument_name",
                  "change_id",
                  "asks",
                  "bids"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "first",
              "summary": "First notification example",
              "payload": {
                "data": {
                  "type": "snapshot",
                  "timestamp": 1554373962454,
                  "instrument_name": "BTC-PERPETUAL",
                  "change_id": 297217,
                  "bids": [
                    [
                      "new",
                      5042.34,
                      30
                    ],
                    [
                      "new",
                      5041.94,
                      20
                    ]
                  ],
                  "asks": [
                    [
                      "new",
                      5042.64,
                      40
                    ],
                    [
                      "new",
                      5043.3,
                      40
                    ]
                  ]
                }
              }
            },
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "type": "change",
                  "timestamp": 1554373911330,
                  "prev_change_id": 297217,
                  "instrument_name": "BTC-PERPETUAL",
                  "change_id": 297218,
                  "bids": [
                    [
                      "delete",
                      5041.94,
                      0
                    ],
                    [
                      "delete",
                      5042.34,
                      0
                    ]
                  ],
                  "asks": []
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "book.(instrument_name).(group).(depth).(interval)": {
      "address": "book.(instrument_name).(group).(depth).(interval)",
      "title": "book.(instrument_name).(group).(depth).(interval) ",
      "summary": "Aggregated order book updates for a specific instrument.\n\nNotifications are sent once per specified `interval`, with prices grouped (rounded) according to `group`, and the book truncated to the specified `depth` (number of price levels).\n\nThe `asks` and `bids` fields are both lists of `[price, amount]` pairs.\n\n- `price`: price level, rounded according to `group` (USD per BTC)\n- `amount`: total amount at that price level\n\nFor Starbase-routed instruments, the published price levels include accepted mass-quote liquidity.\n\n**Units:** For perpetual and inverse futures the amount is in USD units. For options and linear futures it is in the underlying base currency coin.\n",
      "description": "Aggregated order book updates for a specific instrument.\n\nNotifications are sent once per specified `interval`, with prices grouped (rounded) according to `group`, and the book truncated to the specified `depth` (number of price levels).\n\nThe `asks` and `bids` fields are both lists of `[price, amount]` pairs.\n\n- `price`: price level, rounded according to `group` (USD per BTC)\n- `amount`: total amount at that price level\n\nFor Starbase-routed instruments, the published price levels include accepted mass-quote liquidity.\n\n**Units:** For perpetual and inverse futures the amount is in USD units. For options and linear futures it is in the underlying base currency coin.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "group": {
          "description": "Group prices (by rounding). Use `none` for no grouping.\n\nFor ETH cryptocurrency, the real `group` is divided by `100.0`. Example: a value of `5` means using `0.05`.\n\nAllowed values:\n\n- BTC: `none`, `1`, `2`, `5`, `10`\n- ETH: `none`, `5`, `10`, `25`, `100`, `250`\n\n**Allowed values:** `none`, `1`, `2`, `5`, `10`, `25`, `100`, `250`",
          "enum": [
            "none",
            "1",
            "2",
            "5",
            "10",
            "25",
            "100",
            "250"
          ]
        },
        "depth": {
          "description": "Number of price levels to be included\n\n**Allowed values:** `1`, `10`, `20`",
          "enum": [
            "1",
            "10",
            "20"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to book channel. Channel name format: `book.(instrument_name).(group).(depth).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "book.BTC-PERPETUAL.(group).(depth).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "book_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `book.(instrument_name).(group).(depth).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "change_id": {
                    "type": "integer",
                    "description": "id of the notification"
                  },
                  "bids": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 2,
                      "maxItems": 2,
                      "description": "List of bids (price-amount pairs)"
                    }
                  },
                  "asks": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "minItems": 2,
                      "maxItems": 2,
                      "description": "List of asks (price-amount pairs)"
                    }
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp of last change (milliseconds since the Unix epoch)"
                  }
                },
                "required": [
                  "instrument_name",
                  "change_id",
                  "asks",
                  "bids"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "timestamp": 1554375447971,
                  "instrument_name": "ETH-PERPETUAL",
                  "change_id": 109615,
                  "bids": [
                    [
                      160,
                      40
                    ]
                  ],
                  "asks": [
                    [
                      161,
                      20
                    ]
                  ]
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "ticker.(instrument_name).(interval)": {
      "address": "ticker.(instrument_name).(interval)",
      "title": "ticker.(instrument_name).(interval) ",
      "summary": "Real-time ticker data providing comprehensive market information for the specified instrument.\n\nThis subscription delivers key market metrics including:\n\n- **Price data:** Best bid/ask prices and amounts, last trade price, mark price, index price, settlement price, and estimated delivery price\n- **Market statistics:** 24-hour volume (in base currency and USD for futures), high/low prices, price change percentage, and open interest\n- **Order book state:** Current state of the instrument (open, settlement, delivered, inactive, locked, halted, or archivized)\n- **Price limits:** Minimum and maximum price constraints for order placement\n- **Options-specific data:** Implied volatility (bid/ask/mark IV), Greeks (delta, gamma, theta, vega, rho), underlying price, and interest rate\n- **Perpetual-specific data:** Current funding rate and 8-hour funding rate\n- **Futures-specific data:** Interest value and delivery price\n\nThe `interval` parameter controls the frequency of updates: `raw` (finest granularity - events aggregated over a 1 millisecond interval, authorized users only), `100ms` (aggregated every 100 milliseconds), or `agg2` (aggregated every 2 seconds).\n\nThis is the recommended method for real-time market data updates, as it provides efficient push-based notifications instead of requiring polling.\n",
      "description": "Real-time ticker data providing comprehensive market information for the specified instrument.\n\nThis subscription delivers key market metrics including:\n\n- **Price data:** Best bid/ask prices and amounts, last trade price, mark price, index price, settlement price, and estimated delivery price\n- **Market statistics:** 24-hour volume (in base currency and USD for futures), high/low prices, price change percentage, and open interest\n- **Order book state:** Current state of the instrument (open, settlement, delivered, inactive, locked, halted, or archivized)\n- **Price limits:** Minimum and maximum price constraints for order placement\n- **Options-specific data:** Implied volatility (bid/ask/mark IV), Greeks (delta, gamma, theta, vega, rho), underlying price, and interest rate\n- **Perpetual-specific data:** Current funding rate and 8-hour funding rate\n- **Futures-specific data:** Interest value and delivery price\n\nThe `interval` parameter controls the frequency of updates: `raw` (finest granularity - events aggregated over a 1 millisecond interval, authorized users only), `100ms` (aggregated every 100 milliseconds), or `agg2` (aggregated every 2 seconds).\n\nThis is the recommended method for real-time market data updates, as it provides efficient push-based notifications instead of requiring polling.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to ticker channel. Channel name format: `ticker.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "ticker.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "ticker_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `ticker.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "state": {
                    "description": "The state of the order book. Represents the current lifecycle stage of the instrument.\n\n**State Lifecycle and Meanings:**\n\n- `open`: Default state for running books. In this state book is accepting new orders, edits, cancels; prices should be updated, trading is live.\n- `settlement`: Books enters to this state during settlement/delivery. New orders, edits, cancels are not accepted. After this state normally next state should be `open` if it was settlement, or `delivered` if it was delivery. On enter to this state good till day orders in book are canceled.\n- `delivered`: Final state of book that has been delivered. New orders, edits, cancels are not accepted. After some time book process will be terminated and, instrument moved to `expired_instruments` and its `instrument_state` will become archivized. On enter to this all open orders in book are canceled.\n- `inactive`: After a book is deactivated, this state is set on book. New orders, edits, cancels are not accepted. On enter to this all open orders in book are canceled. Book in this state is not considered as open. This can be also final state for book.\n- `locked`: New orders, edits, are not accepted, only cancels ARE accepted. In some cases when configured books can start as locked or it may become locked on admin request. Settlement is possible on locked books.\n- `halted`: The state that books enter as a result of an error. Settlement is not possible when there is at least one book in this state.\n- `archivized`: Set when instrument is moved to `expired_instruments` table, final state.\n",
                    "type": "string",
                    "enum": [
                      "open",
                      "settlement",
                      "delivered",
                      "inactive",
                      "locked",
                      "halted",
                      "archivized"
                    ]
                  },
                  "stats": {
                    "type": "object",
                    "required": [
                      "volume",
                      "high",
                      "low"
                    ],
                    "properties": {
                      "volume": {
                        "description": "Volume during last 24h in base currency",
                        "type": "number"
                      },
                      "low": {
                        "description": "Lowest price during 24h",
                        "type": "number"
                      },
                      "high": {
                        "description": "Highest price during 24h",
                        "type": "number"
                      },
                      "price_change": {
                        "description": "24-hour price change expressed as a percentage, `null` if there weren't any trades",
                        "example": 10.23,
                        "type": "number"
                      },
                      "volume_usd": {
                        "description": "Volume in usd (futures only)",
                        "type": "number"
                      }
                    }
                  },
                  "open_interest": {
                    "description": "The total amount of outstanding contracts in the corresponding amount units. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                    "type": "number"
                  },
                  "best_bid_price": {
                    "description": "The current best bid price, `null` if there aren't any bids",
                    "type": "number"
                  },
                  "best_bid_amount": {
                    "description": "It represents the requested order size of all best bids",
                    "type": "number"
                  },
                  "best_ask_price": {
                    "description": "The current best ask price, `null` if there aren't any asks",
                    "type": "number"
                  },
                  "best_ask_amount": {
                    "description": "It represents the requested order size of all best asks",
                    "type": "number"
                  },
                  "index_price": {
                    "description": "Current index price",
                    "type": "number",
                    "example": 8247.27
                  },
                  "min_price": {
                    "description": "The minimum price for the future. Any sell orders you submit lower than this price will be clamped to this minimum.",
                    "type": "number"
                  },
                  "max_price": {
                    "description": "The maximum price for the future. Any buy orders you submit higher than this price, will be clamped to this maximum.",
                    "type": "number"
                  },
                  "mark_price": {
                    "description": "The mark price for the instrument",
                    "type": "number"
                  },
                  "last_price": {
                    "description": "The price for the last trade",
                    "type": "number"
                  },
                  "underlying_price": {
                    "description": "Underlying price for implied volatility calculations (options only)",
                    "type": "number"
                  },
                  "underlying_index": {
                    "description": "Name of the underlying future, or `index_price` (options only)",
                    "type": "number"
                  },
                  "interest_rate": {
                    "description": "Interest rate used in implied volatility calculations (options only)",
                    "type": "number"
                  },
                  "bid_iv": {
                    "description": "(Only for option) implied volatility for best bid",
                    "type": "number"
                  },
                  "ask_iv": {
                    "description": "(Only for option) implied volatility for best ask",
                    "type": "number"
                  },
                  "mark_iv": {
                    "description": "(Only for option) implied volatility for mark price",
                    "type": "number"
                  },
                  "greeks": {
                    "description": "Only for options. Greeks are risk measures that describe how the option's price changes with respect to various factors.\n\n**Delta (Δ)**\n\nDeribit uses two different Deltas:\n- **DeltaTotal** in the account summary uses the **Net Transaction Delta (NTD)**\n- **Delta** for individual option expiries is the **Black Scholes Delta**\n\nIn the settings section you can toggle Net Transaction Delta instead.\n\n**What is DeltaTotal in the account summary?**\n`DeltaTotal = Net Transaction Delta of options + BTC Position of Futures`\n\n**What is Net Transaction Delta?**\n`Net Transaction Delta = Black Scholes Delta - Mark Price of Options`\n\n**Why do we use a Net Transaction Delta?**\nThe Delta Total uses the Net Transaction Delta (or price adjusted Delta) of the options. This is because, from a risk perspective, we are interested in the change in Bitcoin price as the underlying changes.\n\nYou should actually treat your delta as **Equity + Delta Total** if you want to have less risk for your USD PnL.\n\n**Example:** Consider a call option with strike 0, which has a Black Scholes Delta of 1 and Net Transaction Delta = 0.\n\nImagine you have 2 BTC equity and no positions and BTC price is at USD 60k. In that case you would short 2 Futures contracts to hedge your USD exposure to BTC.\n\nNow let's say you buy one call with strike 0. The question is if you should sell another future?\n\nThe call will always have a price of 1 BTC. So you buy it at 1 BTC which equates to USD 60k. Let's say the price increases to USD 70k. The value of the call is still 1 BTC. At settlement you receive 1 BTC for the call. So you paid 1 BTC and then receive 1 BTC which means your USD PnL on buying the call is 0. If you sold a future on it, then you would actually lose on the future.\n\n⚠️ **During the 30 minute settlement period we decay your Delta.** See [Delta decay during settlement](https://support.deribit.com/hc/en-us/articles/25944751433757-Delta-decay-during-settlement) for more details.\n\n**Theta (Θ)**\n\nThe Theta that Deribit uses is the **minimum of (1 day Theta, lifetime theta of the option)**. So if you take an option with 1 hour to expire for example, generally Black Scholes Theta will give you the equivalent 1 day Theta. Whereas we show the 1 hour Theta, so our Theta would differ from Black Scholes Theta when time to expiry is less than 1 day.\n\n**Vega, Gamma, and Rho**\n\nVega (not actually a Greek symbol), Gamma, Theta and Rho values shown on Deribit are calculated using **standard Black Scholes without adjustments**.\n",
                    "type": "object",
                    "required": [
                      "delta",
                      "gamma",
                      "rho",
                      "theta",
                      "vega"
                    ],
                    "properties": {
                      "delta": {
                        "description": "(Only for option) The delta value for the option. This is the **Black Scholes Delta** for individual option expiries. \n\nNote that DeltaTotal in account summary uses Net Transaction Delta instead. See the greeks object description for more details.\n",
                        "type": "number"
                      },
                      "gamma": {
                        "description": "(Only for option) The gamma value for the option. Calculated using standard Black Scholes without adjustments.\n\nGamma measures the rate of change of delta with respect to changes in the underlying asset price.\n",
                        "type": "number"
                      },
                      "rho": {
                        "description": "(Only for option) The rho value for the option. Calculated using standard Black Scholes without adjustments.\n\nRho measures the sensitivity of the option price to changes in the risk-free interest rate.\n",
                        "type": "number"
                      },
                      "theta": {
                        "description": "(Only for option) The theta value for the option. Deribit uses the **minimum of (1 day Theta, lifetime theta of the option)**.\n\nSo if you take an option with 1 hour to expire for example, generally Black Scholes Theta will give you the equivalent 1 day Theta. Whereas we show the 1 hour Theta, so our Theta would differ from Black Scholes Theta when time to expiry is less than 1 day.\n\nTheta measures the rate of change of the option price with respect to time decay.\n",
                        "type": "number"
                      },
                      "vega": {
                        "description": "(Only for option) The vega value for the option. Calculated using standard Black Scholes without adjustments.\n\nVega (not actually a Greek symbol) measures the sensitivity of the option price to changes in implied volatility.\n",
                        "type": "number"
                      }
                    }
                  },
                  "funding_8h": {
                    "description": "Funding 8h (perpetual only)",
                    "type": "number"
                  },
                  "current_funding": {
                    "description": "Current funding (perpetual only)",
                    "type": "number"
                  },
                  "interest_value": {
                    "description": "Value used to calculate `realized_funding` in positions (perpetual only)",
                    "type": "number"
                  },
                  "delivery_price": {
                    "description": "The settlement price for the instrument. Only when `state = closed`",
                    "type": "number"
                  },
                  "settlement_price": {
                    "description": "Optional (not added for spot). The settlement price for the instrument. Only when `state = open`",
                    "type": "number"
                  },
                  "estimated_delivery_price": {
                    "description": "Estimated delivery price for the market. For more details, see Contract Specification > General Documentation > Expiration Price",
                    "example": 11628.81,
                    "type": "number"
                  },
                  "is_anchor_breached": {
                    "type": "boolean",
                    "description": "Whether the mark price has breached the anchor price band. Only present for RWA perpetual instruments when an anchor price is active."
                  },
                  "anchor_min_price": {
                    "type": "number",
                    "description": "The lower bound of the anchor price band, computed as `anchor_price * (1 - bandwidth)`. Only present for RWA perpetual instruments when an anchor price and bandwidth are defined."
                  },
                  "anchor_max_price": {
                    "type": "number",
                    "description": "The upper bound of the anchor price band, computed as `anchor_price * (1 + bandwidth)`. Only present for RWA perpetual instruments when an anchor price and bandwidth are defined."
                  }
                },
                "required": [
                  "instrument_name",
                  "timestamp",
                  "state",
                  "stats",
                  "open_interest",
                  "index_price",
                  "best_bid_price",
                  "best_bid_amount",
                  "best_ask_price",
                  "best_ask_amount",
                  "min_price",
                  "max_price",
                  "mark_price",
                  "last_price",
                  "estimated_delivery_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "best_ask_amount": 100,
                  "best_ask_price": 36443,
                  "best_bid_amount": 5000,
                  "best_bid_price": 36442.5,
                  "current_funding": 0,
                  "estimated_delivery_price": 36441.64,
                  "funding_8h": 0.0000211,
                  "index_price": 36441.64,
                  "instrument_name": "BTC-PERPETUAL",
                  "interest_value": 1.7362511643080387,
                  "last_price": 36457.5,
                  "mark_price": 36446.51,
                  "max_price": 36991.72,
                  "min_price": 35898.37,
                  "open_interest": 502097590,
                  "settlement_price": 36169.49,
                  "state": "open",
                  "stats": {
                    "high": 36824.5,
                    "low": 35213.5,
                    "price_change": 0.7229,
                    "volume": 7871.02139035,
                    "volume_usd": 284061480
                  },
                  "timestamp": 1623060194301
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "incremental_ticker.(instrument_name)": {
      "address": "incremental_ticker.(instrument_name)",
      "title": "incremental_ticker.(instrument_name) ",
      "summary": "Real-time ticker updates for an instrument, delivered as a snapshot followed by incremental updates.\n\n- The first notification contains the full ticker snapshot.\n- Subsequent notifications contain only fields that changed since the previous update.\n\nThis event is sent at most once per second.\n",
      "description": "Real-time ticker updates for an instrument, delivered as a snapshot followed by incremental updates.\n\n- The first notification contains the full ticker snapshot.\n- Subsequent notifications contain only fields that changed since the previous update.\n\nThis event is sent at most once per second.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to incremental_ticker channel. Channel name format: `incremental_ticker.(instrument_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "incremental_ticker.BTC-PERPETUAL"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "incremental_ticker_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `incremental_ticker.(instrument_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "Type of notification: `snapshot` for initial, `change` for others.",
                    "enum": [
                      "snapshot",
                      "change"
                    ]
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "state": {
                    "description": "The state of the order book. Represents the current lifecycle stage of the instrument.\n\n**State Lifecycle and Meanings:**\n\n- `open`: Default state for running books. In this state book is accepting new orders, edits, cancels; prices should be updated, trading is live.\n- `settlement`: Books enters to this state during settlement/delivery. New orders, edits, cancels are not accepted. After this state normally next state should be `open` if it was settlement, or `delivered` if it was delivery. On enter to this state good till day orders in book are canceled.\n- `delivered`: Final state of book that has been delivered. New orders, edits, cancels are not accepted. After some time book process will be terminated and, instrument moved to `expired_instruments` and its `instrument_state` will become archivized. On enter to this all open orders in book are canceled.\n- `inactive`: After a book is deactivated, this state is set on book. New orders, edits, cancels are not accepted. On enter to this all open orders in book are canceled. Book in this state is not considered as open. This can be also final state for book.\n- `locked`: New orders, edits, are not accepted, only cancels ARE accepted. In some cases when configured books can start as locked or it may become locked on admin request. Settlement is possible on locked books.\n- `halted`: The state that books enter as a result of an error. Settlement is not possible when there is at least one book in this state.\n- `archivized`: Set when instrument is moved to `expired_instruments` table, final state.\n",
                    "type": "string",
                    "enum": [
                      "open",
                      "settlement",
                      "delivered",
                      "inactive",
                      "locked",
                      "halted",
                      "archivized"
                    ]
                  },
                  "stats": {
                    "type": "object",
                    "required": [
                      "volume",
                      "high",
                      "low"
                    ],
                    "properties": {
                      "volume": {
                        "description": "Volume during last 24h in base currency",
                        "type": "number"
                      },
                      "low": {
                        "description": "Lowest price during 24h",
                        "type": "number"
                      },
                      "high": {
                        "description": "Highest price during 24h",
                        "type": "number"
                      },
                      "price_change": {
                        "description": "24-hour price change expressed as a percentage, `null` if there weren't any trades",
                        "example": 10.23,
                        "type": "number"
                      },
                      "volume_usd": {
                        "description": "Volume in usd (futures only)",
                        "type": "number"
                      }
                    }
                  },
                  "open_interest": {
                    "description": "The total amount of outstanding contracts in the corresponding amount units. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                    "type": "number"
                  },
                  "best_bid_price": {
                    "description": "The current best bid price, `null` if there aren't any bids",
                    "type": "number"
                  },
                  "best_bid_amount": {
                    "description": "It represents the requested order size of all best bids",
                    "type": "number"
                  },
                  "best_ask_price": {
                    "description": "The current best ask price, `null` if there aren't any asks",
                    "type": "number"
                  },
                  "best_ask_amount": {
                    "description": "It represents the requested order size of all best asks",
                    "type": "number"
                  },
                  "index_price": {
                    "description": "Current index price",
                    "type": "number",
                    "example": 8247.27
                  },
                  "min_price": {
                    "description": "The minimum price for the future. Any sell orders you submit lower than this price will be clamped to this minimum.",
                    "type": "number"
                  },
                  "max_price": {
                    "description": "The maximum price for the future. Any buy orders you submit higher than this price, will be clamped to this maximum.",
                    "type": "number"
                  },
                  "mark_price": {
                    "description": "The mark price for the instrument",
                    "type": "number"
                  },
                  "last_price": {
                    "description": "The price for the last trade",
                    "type": "number"
                  },
                  "underlying_price": {
                    "description": "Underlying price for implied volatility calculations (options only)",
                    "type": "number"
                  },
                  "underlying_index": {
                    "description": "Name of the underlying future, or `index_price` (options only)",
                    "type": "number"
                  },
                  "interest_rate": {
                    "description": "Interest rate used in implied volatility calculations (options only)",
                    "type": "number"
                  },
                  "bid_iv": {
                    "description": "(Only for option) implied volatility for best bid",
                    "type": "number"
                  },
                  "ask_iv": {
                    "description": "(Only for option) implied volatility for best ask",
                    "type": "number"
                  },
                  "mark_iv": {
                    "description": "(Only for option) implied volatility for mark price",
                    "type": "number"
                  },
                  "greeks": {
                    "description": "Only for options. Greeks are risk measures that describe how the option's price changes with respect to various factors.\n\n**Delta (Δ)**\n\nDeribit uses two different Deltas:\n- **DeltaTotal** in the account summary uses the **Net Transaction Delta (NTD)**\n- **Delta** for individual option expiries is the **Black Scholes Delta**\n\nIn the settings section you can toggle Net Transaction Delta instead.\n\n**What is DeltaTotal in the account summary?**\n`DeltaTotal = Net Transaction Delta of options + BTC Position of Futures`\n\n**What is Net Transaction Delta?**\n`Net Transaction Delta = Black Scholes Delta - Mark Price of Options`\n\n**Why do we use a Net Transaction Delta?**\nThe Delta Total uses the Net Transaction Delta (or price adjusted Delta) of the options. This is because, from a risk perspective, we are interested in the change in Bitcoin price as the underlying changes.\n\nYou should actually treat your delta as **Equity + Delta Total** if you want to have less risk for your USD PnL.\n\n**Example:** Consider a call option with strike 0, which has a Black Scholes Delta of 1 and Net Transaction Delta = 0.\n\nImagine you have 2 BTC equity and no positions and BTC price is at USD 60k. In that case you would short 2 Futures contracts to hedge your USD exposure to BTC.\n\nNow let's say you buy one call with strike 0. The question is if you should sell another future?\n\nThe call will always have a price of 1 BTC. So you buy it at 1 BTC which equates to USD 60k. Let's say the price increases to USD 70k. The value of the call is still 1 BTC. At settlement you receive 1 BTC for the call. So you paid 1 BTC and then receive 1 BTC which means your USD PnL on buying the call is 0. If you sold a future on it, then you would actually lose on the future.\n\n⚠️ **During the 30 minute settlement period we decay your Delta.** See [Delta decay during settlement](https://support.deribit.com/hc/en-us/articles/25944751433757-Delta-decay-during-settlement) for more details.\n\n**Theta (Θ)**\n\nThe Theta that Deribit uses is the **minimum of (1 day Theta, lifetime theta of the option)**. So if you take an option with 1 hour to expire for example, generally Black Scholes Theta will give you the equivalent 1 day Theta. Whereas we show the 1 hour Theta, so our Theta would differ from Black Scholes Theta when time to expiry is less than 1 day.\n\n**Vega, Gamma, and Rho**\n\nVega (not actually a Greek symbol), Gamma, Theta and Rho values shown on Deribit are calculated using **standard Black Scholes without adjustments**.\n",
                    "type": "object",
                    "required": [
                      "delta",
                      "gamma",
                      "rho",
                      "theta",
                      "vega"
                    ],
                    "properties": {
                      "delta": {
                        "description": "(Only for option) The delta value for the option. This is the **Black Scholes Delta** for individual option expiries. \n\nNote that DeltaTotal in account summary uses Net Transaction Delta instead. See the greeks object description for more details.\n",
                        "type": "number"
                      },
                      "gamma": {
                        "description": "(Only for option) The gamma value for the option. Calculated using standard Black Scholes without adjustments.\n\nGamma measures the rate of change of delta with respect to changes in the underlying asset price.\n",
                        "type": "number"
                      },
                      "rho": {
                        "description": "(Only for option) The rho value for the option. Calculated using standard Black Scholes without adjustments.\n\nRho measures the sensitivity of the option price to changes in the risk-free interest rate.\n",
                        "type": "number"
                      },
                      "theta": {
                        "description": "(Only for option) The theta value for the option. Deribit uses the **minimum of (1 day Theta, lifetime theta of the option)**.\n\nSo if you take an option with 1 hour to expire for example, generally Black Scholes Theta will give you the equivalent 1 day Theta. Whereas we show the 1 hour Theta, so our Theta would differ from Black Scholes Theta when time to expiry is less than 1 day.\n\nTheta measures the rate of change of the option price with respect to time decay.\n",
                        "type": "number"
                      },
                      "vega": {
                        "description": "(Only for option) The vega value for the option. Calculated using standard Black Scholes without adjustments.\n\nVega (not actually a Greek symbol) measures the sensitivity of the option price to changes in implied volatility.\n",
                        "type": "number"
                      }
                    }
                  },
                  "funding_8h": {
                    "description": "Funding 8h (perpetual only)",
                    "type": "number"
                  },
                  "current_funding": {
                    "description": "Current funding (perpetual only)",
                    "type": "number"
                  },
                  "delivery_price": {
                    "description": "The settlement price for the instrument. Only when `state = closed`",
                    "type": "number"
                  },
                  "settlement_price": {
                    "description": "Optional (not added for spot). The settlement price for the instrument. Only when `state = open`",
                    "type": "number"
                  },
                  "estimated_delivery_price": {
                    "description": "Estimated delivery price for the market. For more details, see Contract Specification > General Documentation > Expiration Price",
                    "example": 11628.81,
                    "type": "number"
                  }
                },
                "required": [
                  "instrument_name",
                  "timestamp"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "first",
              "summary": "First notification example",
              "payload": {
                "data": {
                  "type": "snapshot",
                  "best_ask_amount": 100,
                  "best_ask_price": 36443,
                  "best_bid_amount": 5000,
                  "best_bid_price": 36442.5,
                  "current_funding": 0,
                  "estimated_delivery_price": 36441.64,
                  "funding_8h": 0.0000211,
                  "index_price": 36441.64,
                  "instrument_name": "BTC-PERPETUAL",
                  "last_price": 36457.5,
                  "mark_price": 36446.51,
                  "max_price": 36991.72,
                  "min_price": 35898.37,
                  "open_interest": 502097590,
                  "settlement_price": 36169.49,
                  "state": "open",
                  "stats": {
                    "high": 36824.5,
                    "low": 35213.5,
                    "price_change": 0.7229,
                    "volume": 7871.02139035,
                    "volume_usd": 284061480
                  },
                  "timestamp": 1623060194301
                }
              }
            },
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "type": "change",
                  "best_ask_amount": 120,
                  "best_bid_amount": 300,
                  "best_bid_price": 36452.5,
                  "funding_8h": 0.0000311,
                  "index_price": 36442.64,
                  "instrument_name": "BTC-PERPETUAL",
                  "mark_price": 36448.61,
                  "stats": {
                    "volume": 7872.02139035,
                    "volume_usd": 284073480
                  },
                  "timestamp": 1623060199024
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "perpetual.(instrument_name).(interval)": {
      "address": "perpetual.(instrument_name).(interval)",
      "title": "perpetual.(instrument_name).(interval) ",
      "summary": "Provide current interest rate - but only for **perpetual** instruments. Other types won't generate any notification.",
      "description": "Provide current interest rate - but only for **perpetual** instruments. Other types won't generate any notification.",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to perpetual channel. Channel name format: `perpetual.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "perpetual.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "perpetual_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `perpetual.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "interest": {
                    "type": "number",
                    "description": "Current interest"
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "index_price": {
                    "description": "Current index price",
                    "type": "number",
                    "example": 8247.27
                  }
                },
                "required": [
                  "interest",
                  "timestamp",
                  "index_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "interest": 0.004999511380756577,
                  "timestamp": 1571386349530,
                  "index_price": 7872.88
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "quote.(instrument_name)": {
      "address": "quote.(instrument_name)",
      "title": "quote.(instrument_name) ",
      "summary": "Best bid/ask price and size for a specific instrument.\n\nThis subscription provides top-of-book updates (best bid and best ask) without the full depth of the order book. Use it when you only need the current spread and top sizes.\n",
      "description": "Best bid/ask price and size for a specific instrument.\n\nThis subscription provides top-of-book updates (best bid and best ask) without the full depth of the order book. Use it when you only need the current spread and top sizes.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to quote channel. Channel name format: `quote.(instrument_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "quote.BTC-PERPETUAL"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "quote_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `quote.(instrument_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "best_bid_price": {
                    "description": "The current best bid price, `null` if there aren't any bids",
                    "type": "number"
                  },
                  "best_bid_amount": {
                    "description": "It represents the requested order size of all best bids",
                    "type": "number"
                  },
                  "best_ask_price": {
                    "description": "The current best ask price, `null` if there aren't any asks",
                    "type": "number"
                  },
                  "best_ask_amount": {
                    "description": "It represents the requested order size of all best asks",
                    "type": "number"
                  }
                },
                "required": [
                  "timestamp",
                  "instrument_name",
                  "best_bid_amount",
                  "best_bid_price",
                  "best_add_amount",
                  "best_add_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "best_ask_amount": 50,
                  "best_ask_price": 3996.61,
                  "best_bid_amount": 40,
                  "best_bid_price": 3914.97,
                  "instrument_name": "BTC-PERPETUAL",
                  "timestamp": 1550658624149
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "trades.(instrument_name).(interval)": {
      "address": "trades.(instrument_name).(interval)",
      "title": "trades.(instrument_name).(interval) ",
      "summary": "Trade notifications for a specific instrument.\n\nUse this channel to receive executed trades as they happen for the given instrument. The `interval` controls how frequently trade events are aggregated.\n",
      "description": "Trade notifications for a specific instrument.\n\nUse this channel to receive executed trades as they happen for the given instrument. The `interval` controls how frequently trade events are aggregated.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to trades channel. Channel name format: `trades.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "trades.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "trades_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `trades.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  }
                },
                "required": [
                  "trade_id",
                  "instrument_name",
                  "timestamp",
                  "trade_seq",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 30289442,
                    "trade_id": "48079269",
                    "timestamp": 1590484512188,
                    "tick_direction": 2,
                    "price": 8950,
                    "mark_price": 8948.9,
                    "instrument_name": "BTC-PERPETUAL",
                    "index_price": 8955.88,
                    "direction": "sell",
                    "amount": 10,
                    "contracts": 1
                  },
                  {
                    "trade_seq": 30289443,
                    "trade_id": "48079270",
                    "timestamp": 1590484513004,
                    "tick_direction": 0,
                    "price": 8960,
                    "mark_price": 8948.9,
                    "instrument_name": "BTC-PERPETUAL",
                    "index_price": 8955.88,
                    "direction": "buy",
                    "amount": 20,
                    "contracts": 2,
                    "liquidation": "T"
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "block_trade_confirmations": {
      "address": "block_trade_confirmations",
      "title": "block_trade_confirmations ",
      "summary": "Provides notifications regarding block trade approval. Subscribe to this channel to receive notifications about pending block trades that require your approval.\n\n**📖 Related Article:** [Block Trading](https://docs.deribit.com/articles/block-trading-api)\n",
      "description": "Provides notifications regarding block trade approval. Subscribe to this channel to receive notifications about pending block trades that require your approval.\n\n**📖 Related Article:** [Block Trading](https://docs.deribit.com/articles/block-trading-api)\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `block_trade_confirmations` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_trade_confirmations"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_trade_confirmations_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_trade_confirmations` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "nonce": {
                    "type": "string",
                    "description": "Nonce that can be used to approve or reject pending block trade.",
                    "example": "bF1_gfgcsd"
                  },
                  "timestamp": {
                    "type": "integer",
                    "description": "Timestamp that can be used to approve or reject pending block trade."
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "type": "number",
                        "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      }
                    },
                    "required": [
                      "instrument_name",
                      "direction",
                      "price",
                      "amount"
                    ],
                    "additionalProperties": false
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that executed the block trade on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "username": {
                    "type": "string",
                    "description": "Username of the user who initiated the block trade.",
                    "example": "Trader"
                  },
                  "role": {
                    "description": "Trade role of the user: `maker` or `taker`",
                    "type": "string",
                    "enum": [
                      "maker",
                      "taker"
                    ]
                  },
                  "user_id": {
                    "description": "Unique user identifier",
                    "type": "integer",
                    "example": 57874
                  },
                  "broker_code": {
                    "type": "string",
                    "description": "Broker code associated with the broker block trade.",
                    "example": "jpqYKgg1"
                  },
                  "broker_name": {
                    "type": "string",
                    "description": "Name of the broker associated with the block trade.",
                    "example": "Test Broker"
                  },
                  "state": {
                    "type": "object",
                    "description": "State of the pending block trade for current user."
                  },
                  "counterparty_state": {
                    "type": "object",
                    "description": "State of the pending block trade for the other party (optional)."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Combo instrument identifier",
                    "example": "BTC-CS-27JUN25-80000_85000"
                  }
                },
                "required": [
                  "nonce",
                  "timestamp",
                  "trades",
                  "app_name",
                  "role",
                  "user_id",
                  "state"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "nonce": "bt-jdqv98",
                  "role": "maker",
                  "user_id": 7,
                  "state": {
                    "value": "rejected",
                    "timestamp": 1711468632693
                  },
                  "trades": [
                    {
                      "instrument_name": "BTC-PERPETUAL",
                      "price": 70246.66,
                      "direction": "buy",
                      "amount": 10
                    }
                  ],
                  "timestamp": 1711468468131
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "block_trade_confirmations.(currency)": {
      "address": "block_trade_confirmations.(currency)",
      "title": "block_trade_confirmations.(currency) ",
      "summary": "Provides notifications regarding block trade approval. Supports filtering by currency. Subscribe to this channel to receive notifications about pending block trades that require your approval, filtered by a specific currency.\n\n**📖 Related Article:** [Block Trading](https://docs.deribit.com/articles/block-trading-api)\n",
      "description": "Provides notifications regarding block trade approval. Supports filtering by currency. Subscribe to this channel to receive notifications about pending block trades that require your approval, filtered by a specific currency.\n\n**📖 Related Article:** [Block Trading](https://docs.deribit.com/articles/block-trading-api)\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to block_trade_confirmations channel. Channel name format: `block_trade_confirmations.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_trade_confirmations.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_trade_confirmations_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_trade_confirmations.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "nonce": {
                    "type": "string",
                    "description": "Nonce that can be used to approve or reject pending block trade.",
                    "example": "bF1_gfgcsd"
                  },
                  "timestamp": {
                    "type": "integer",
                    "description": "Timestamp that can be used to approve or reject pending block trade."
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "type": "number",
                        "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      }
                    },
                    "required": [
                      "instrument_name",
                      "direction",
                      "price",
                      "amount"
                    ],
                    "additionalProperties": false
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that executed the block trade on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "username": {
                    "type": "string",
                    "description": "Username of the user who initiated the block trade.",
                    "example": "Trader"
                  },
                  "role": {
                    "description": "Trade role of the user: `maker` or `taker`",
                    "type": "string",
                    "enum": [
                      "maker",
                      "taker"
                    ]
                  },
                  "user_id": {
                    "description": "Unique user identifier",
                    "type": "integer",
                    "example": 57874
                  },
                  "broker_code": {
                    "type": "string",
                    "description": "Broker code associated with the broker block trade.",
                    "example": "jpqYKgg1"
                  },
                  "broker_name": {
                    "type": "string",
                    "description": "Name of the broker associated with the block trade.",
                    "example": "Test Broker"
                  },
                  "state": {
                    "type": "object",
                    "description": "State of the pending block trade for current user."
                  },
                  "counterparty_state": {
                    "type": "object",
                    "description": "State of the pending block trade for the other party (optional)."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Combo instrument identifier",
                    "example": "BTC-CS-27JUN25-80000_85000"
                  }
                },
                "required": [
                  "nonce",
                  "timestamp",
                  "trades",
                  "app_name",
                  "role",
                  "user_id",
                  "state"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "nonce": "bt-jdqv98",
                  "role": "maker",
                  "user_id": 7,
                  "state": {
                    "value": "rejected",
                    "timestamp": 1711468632693
                  },
                  "trades": [
                    {
                      "instrument_name": "BTC-PERPETUAL",
                      "price": 70246.66,
                      "direction": "buy",
                      "amount": 10
                    }
                  ],
                  "timestamp": 1711468468131
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "trades.(kind).(currency).(interval)": {
      "address": "trades.(kind).(currency).(interval)",
      "title": "trades.(kind).(currency).(interval) ",
      "summary": "Trade notifications across all instruments for a given kind and currency.\n\nUse this channel when you want a consolidated stream of trades across all instruments of a specific `kind` (e.g., futures, options) and `currency`. The `interval` controls aggregation frequency.\n",
      "description": "Trade notifications across all instruments for a given kind and currency.\n\nUse this channel when you want a consolidated stream of trades across all instruments of a specific `kind` (e.g., futures, options) and `currency`. The `interval` controls aggregation frequency.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to trades channel. Channel name format: `trades.(kind).(currency).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "trades.(kind).(currency).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "trades_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `trades.(kind).(currency).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  }
                },
                "required": [
                  "trade_id",
                  "instrument_name",
                  "timestamp",
                  "trade_seq",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 2,
                    "trade_id": "48079289",
                    "timestamp": 1590484589306,
                    "tick_direction": 2,
                    "price": 0.0075,
                    "mark_price": 0.01062686,
                    "iv": 47.58,
                    "instrument_name": "BTC-27MAY20-9000-C",
                    "index_price": 8956.17,
                    "direction": "sell",
                    "amount": 3,
                    "contracts": 3
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "deribit_price_index.(index_name)": {
      "address": "deribit_price_index.(index_name)",
      "title": "deribit_price_index.(index_name) ",
      "summary": "Deribit index price updates for the given `index_name` (current index value).\n\nUse this channel to track the real-time value of a Deribit index (e.g., `btc_usd`), which is used across pricing, margining, and settlement-related calculations.\n",
      "description": "Deribit index price updates for the given `index_name` (current index value).\n\nUse this channel to track the real-time value of a Deribit index (e.g., `btc_usd`), which is used across pricing, margining, and settlement-related calculations.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to deribit_price_index channel. Channel name format: `deribit_price_index.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "deribit_price_index.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "deribit_price_index_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `deribit_price_index.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "price": {
                    "description": "Current index price",
                    "type": "number",
                    "example": 8247.27
                  },
                  "index_name": {
                    "description": "Index identifier, matches (base) cryptocurrency with quote currency",
                    "type": "string",
                    "enum": [
                      "btc_usd",
                      "eth_usd",
                      "ada_usdc",
                      "algo_usdc",
                      "avax_usdc",
                      "bch_usdc",
                      "bnb_usdc",
                      "btc_usdc",
                      "btcdvol_usdc",
                      "buidl_usdc",
                      "doge_usdc",
                      "dot_usdc",
                      "eurr_usdc",
                      "eth_usdc",
                      "ethdvol_usdc",
                      "hype_usdc",
                      "link_usdc",
                      "ltc_usdc",
                      "near_usdc",
                      "paxg_usdc",
                      "shib_usdc",
                      "sol_usdc",
                      "steth_usdc",
                      "ton_usdc",
                      "trump_usdc",
                      "trx_usdc",
                      "uni_usdc",
                      "usde_usdc",
                      "usyc_usdc",
                      "xrp_usdc",
                      "btc_usdt",
                      "eth_usdt",
                      "eurr_usdt",
                      "sol_usdt",
                      "steth_usdt",
                      "usdc_usdt",
                      "usde_usdt",
                      "btc_eurr",
                      "btc_usde",
                      "btc_usyc",
                      "eth_btc",
                      "eth_eurr",
                      "eth_usde",
                      "eth_usyc",
                      "steth_eth",
                      "paxg_btc",
                      "drbfix-btc_usdc",
                      "drbfix-eth_usdc"
                    ]
                  }
                },
                "required": [
                  "timestamp",
                  "price",
                  "index_name"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "index_name": "btc_usd",
                  "price": 3937.89,
                  "timestamp": 1550588002899
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "deribit_price_ranking.(index_name)": {
      "address": "deribit_price_ranking.(index_name)",
      "title": "deribit_price_ranking.(index_name) ",
      "summary": "Price ranking updates for the component exchanges used to calculate the Deribit index.\n\nUse this channel to see per-exchange price contributions that feed into the index calculation for the given `index_name`.\n",
      "description": "Price ranking updates for the component exchanges used to calculate the Deribit index.\n\nUse this channel to see per-exchange price contributions that feed into the index calculation for the given `index_name`.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to deribit_price_ranking channel. Channel name format: `deribit_price_ranking.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "deribit_price_ranking.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "deribit_price_ranking_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `deribit_price_ranking.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "identifier": {
                    "type": "string",
                    "description": "Stock exchange identifier",
                    "example": "binance"
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Stock exchange status"
                  },
                  "original_price": {
                    "type": "number",
                    "description": "Index price retrieved from stock's data"
                  },
                  "price": {
                    "type": "number",
                    "description": "Adjusted stock exchange index price, used for Deribit price index calculations"
                  },
                  "timestamp": {
                    "type": "integer",
                    "description": "The timestamp of the last update from stock exchange (milliseconds since the UNIX epoch)",
                    "example": 1536569522277
                  },
                  "weight": {
                    "type": "number",
                    "description": "The weight of the ranking given in percent"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "weight": 16.666667,
                    "original_price": 41160.5,
                    "price": 41160.5,
                    "identifier": "bitfinex",
                    "timestamp": 1702465142997,
                    "enabled": true
                  },
                  {
                    "weight": 16.666667,
                    "original_price": 41119,
                    "price": 41119,
                    "identifier": "binance",
                    "timestamp": 1702465143045,
                    "enabled": true
                  },
                  {
                    "weight": 16.666667,
                    "original_price": 41115.53,
                    "price": 41115.53,
                    "identifier": "coinbase",
                    "timestamp": 1702465139000,
                    "enabled": true
                  },
                  {
                    "weight": 16.666667,
                    "original_price": 41116.42,
                    "price": 41116.42,
                    "identifier": "gemini",
                    "timestamp": 1702465142921,
                    "enabled": true
                  },
                  {
                    "weight": 16.666667,
                    "original_price": 41108.88,
                    "price": 41108.88,
                    "identifier": "itbit",
                    "timestamp": 1702465141954,
                    "enabled": true
                  },
                  {
                    "weight": 16.666667,
                    "original_price": 41108.35,
                    "price": 41108.35,
                    "identifier": "kraken",
                    "timestamp": 1702465142906,
                    "enabled": true
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "deribit_price_statistics.(index_name)": {
      "address": "deribit_price_statistics.(index_name)",
      "title": "deribit_price_statistics.(index_name) ",
      "summary": "Basic statistics for the Deribit index.\n\nProvides statistical information related to the given `index_name` (e.g., aggregated stats derived from index updates). Useful for monitoring index behavior over time.\n",
      "description": "Basic statistics for the Deribit index.\n\nProvides statistical information related to the given `index_name` (e.g., aggregated stats derived from index updates). Useful for monitoring index behavior over time.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to deribit_price_statistics channel. Channel name format: `deribit_price_statistics.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "deribit_price_statistics.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "deribit_price_statistics_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `deribit_price_statistics.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "index_name": {
                    "description": "Index identifier, matches (base) cryptocurrency with quote currency",
                    "type": "string",
                    "enum": [
                      "btc_usd",
                      "eth_usd",
                      "ada_usdc",
                      "algo_usdc",
                      "avax_usdc",
                      "bch_usdc",
                      "bnb_usdc",
                      "btc_usdc",
                      "btcdvol_usdc",
                      "buidl_usdc",
                      "doge_usdc",
                      "dot_usdc",
                      "eurr_usdc",
                      "eth_usdc",
                      "ethdvol_usdc",
                      "hype_usdc",
                      "link_usdc",
                      "ltc_usdc",
                      "near_usdc",
                      "paxg_usdc",
                      "shib_usdc",
                      "sol_usdc",
                      "steth_usdc",
                      "ton_usdc",
                      "trump_usdc",
                      "trx_usdc",
                      "uni_usdc",
                      "usde_usdc",
                      "usyc_usdc",
                      "xrp_usdc",
                      "btc_usdt",
                      "eth_usdt",
                      "eurr_usdt",
                      "sol_usdt",
                      "steth_usdt",
                      "usdc_usdt",
                      "usde_usdt",
                      "btc_eurr",
                      "btc_usde",
                      "btc_usyc",
                      "eth_btc",
                      "eth_eurr",
                      "eth_usde",
                      "eth_usyc",
                      "steth_eth",
                      "paxg_btc",
                      "drbfix-btc_usdc",
                      "drbfix-eth_usdc"
                    ]
                  },
                  "low24h": {
                    "type": "number",
                    "description": "The lowest recorded price within the last 24 hours"
                  },
                  "high24h": {
                    "type": "number",
                    "description": "The highest recorded price within the last 24 hours"
                  },
                  "change24h": {
                    "type": "number",
                    "description": "The price index change calculated between the first and last point within most recent 24 hours window"
                  },
                  "fast_market": {
                    "type": "boolean",
                    "description": "Indicates the fast moving prices period on the market. The value `true` is set when the price index value drastically changed within the last 1 hour. This indicator remains active even for 2 more hours after the prices calm down"
                  }
                },
                "required": [
                  "index_name",
                  "low24h",
                  "high24h",
                  "change24h"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "low24h": 58012.08,
                  "index_name": "btc_usd",
                  "high24h": 59311.42,
                  "change24h": 1009.61,
                  "high_volatility": false
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "deribit_volatility_index.(index_name)": {
      "address": "deribit_volatility_index.(index_name)",
      "title": "deribit_volatility_index.(index_name) ",
      "summary": "Volatility index updates for the given `index_name`.\n\nUse this channel to receive volatility index values (e.g., DVOL-like measures) as they update.\n",
      "description": "Volatility index updates for the given `index_name`.\n\nUse this channel to receive volatility index values (e.g., DVOL-like measures) as they update.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to deribit_volatility_index channel. Channel name format: `deribit_volatility_index.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "deribit_volatility_index.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "deribit_volatility_index_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `deribit_volatility_index.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "volatility": {
                    "description": "Value of the corresponding volatility",
                    "type": "number"
                  },
                  "index_name": {
                    "description": "Index identifier supported for DVOL",
                    "type": "string",
                    "enum": [
                      "btc_usd",
                      "eth_usd"
                    ]
                  }
                },
                "required": [
                  "timestamp",
                  "volatility",
                  "index_name"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "volatility": 129.36,
                  "timestamp": 1619777946007,
                  "index_name": "btc_usd"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "markprice.options.(index_name)": {
      "address": "markprice.options.(index_name)",
      "title": "markprice.options.(index_name) ",
      "summary": "Options mark price updates for the given `index_name`.\n\nUse this channel to receive mark prices for options under the given index, useful for valuation, risk monitoring, and P&L calculations.\n",
      "description": "Options mark price updates for the given `index_name`.\n\nUse this channel to receive mark prices for options under the given index, useful for valuation, risk monitoring, and P&L calculations.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to markprice channel. Channel name format: `markprice.options.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "markprice.options.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "markprice_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `markprice.options.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "mark_price": {
                    "description": "The mark price for the instrument",
                    "type": "number"
                  },
                  "iv": {
                    "description": "Value of the volatility of the underlying instrument",
                    "type": "number"
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "timestamp": 1622470378005,
                    "mark_price": 0.0333,
                    "iv": 0.9,
                    "instrument_name": "BTC-2JUN21-37000-P"
                  },
                  {
                    "timestamp": 1622470378005,
                    "mark_price": 0.117,
                    "iv": 0.9,
                    "instrument_name": "BTC-4JUN21-40500-P"
                  },
                  {
                    "timestamp": 1622470378005,
                    "mark_price": 0.0177,
                    "iv": 0.9,
                    "instrument_name": "BTC-4JUN21-38250-C"
                  },
                  {
                    "timestamp": 1622470378005,
                    "mark_price": 0.0098,
                    "iv": 0.9,
                    "instrument_name": "BTC-1JUN21-37000-C"
                  },
                  {
                    "timestamp": 1622470378005,
                    "mark_price": 0.0371,
                    "iv": 0.9,
                    "instrument_name": "BTC-4JUN21-36500-P"
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "estimated_expiration_price.(index_name)": {
      "address": "estimated_expiration_price.(index_name)",
      "title": "estimated_expiration_price.(index_name) ",
      "summary": "Estimated expiration (delivery) price updates for the given `index_name`.\n\nProvides calculated estimates of the ending price used around expirations/settlement. Useful for monitoring expected settlement levels.\n",
      "description": "Estimated expiration (delivery) price updates for the given `index_name`.\n\nProvides calculated estimates of the ending price used around expirations/settlement. Useful for monitoring expected settlement levels.\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to estimated_expiration_price channel. Channel name format: `estimated_expiration_price.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "estimated_expiration_price.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "estimated_expiration_price_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `estimated_expiration_price.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "seconds": {
                    "type": "integer",
                    "description": "Number of seconds remaining until the expiration of the nearest expiring instrument"
                  },
                  "price": {
                    "type": "number",
                    "description": "The current index price or the estimated expiration price for the index. When `is_estimated` is `true`, this represents the calculated estimated ending price; otherwise, it is the current index price.",
                    "example": 8247.27
                  },
                  "is_estimated": {
                    "type": "boolean",
                    "description": "Indicates whether the price is an estimated value. When `true`, the price represents a calculated estimated ending price for expiration. When `false`, the price is the current index price."
                  },
                  "left_ticks": {
                    "type": "number",
                    "description": "Number of time ticks remaining until expiration. This field is only present when `is_estimated` is `true`."
                  },
                  "total_ticks": {
                    "type": "number",
                    "description": "Total number of time ticks for the expiration period. This field is only present when `is_estimated` is `true`."
                  }
                },
                "required": [
                  "seconds",
                  "price",
                  "is_estimated"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "is_estimated": false,
                  "price": 3939.73,
                  "seconds": 180929
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "chart.trades.(instrument_name).(resolution)": {
      "address": "chart.trades.(instrument_name).(resolution)",
      "title": "chart.trades.(instrument_name).(resolution) ",
      "summary": "Publicly available market data used to generate a TradingView trade candle chart.\n\nDuring a single resolution period, many events can be sent, each with updated values for the recent period.\n\n**Notice:** When there is no trade during the requested resolution period (e.g. 1 minute), a filling sample is generated which uses data from the last available trade candle (open and close values).\n",
      "description": "Publicly available market data used to generate a TradingView trade candle chart.\n\nDuring a single resolution period, many events can be sent, each with updated values for the recent period.\n\n**Notice:** When there is no trade during the requested resolution period (e.g. 1 minute), a filling sample is generated which uses data from the last available trade candle (open and close values).\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "resolution": {
          "description": "Chart bars resolution given in full minutes or keyword `1D` (only some specific resolutions are supported)\n\n**Allowed values:** `1`, `3`, `5`, `10`, `15`, ... (total 12 values)",
          "enum": [
            "1",
            "3",
            "5",
            "10",
            "15",
            "30",
            "60",
            "120",
            "180",
            "360",
            "720",
            "1D"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to chart channel. Channel name format: `chart.trades.(instrument_name).(resolution)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "chart.trades.BTC-PERPETUAL.(resolution)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "chart_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `chart.trades.(instrument_name).(resolution)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "tick": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "volume": {
                    "type": "number",
                    "description": "Volume data for the candle"
                  },
                  "cost": {
                    "type": "number",
                    "description": "Cost data for the candle"
                  },
                  "open": {
                    "type": "number",
                    "description": "The open price for the candle'"
                  },
                  "close": {
                    "type": "number",
                    "description": "The close price for the candle"
                  },
                  "high": {
                    "type": "number",
                    "description": "The highest price level for the candle"
                  },
                  "low": {
                    "type": "number",
                    "description": "The lowest price level for the candle"
                  }
                },
                "required": [
                  "tick",
                  "volume",
                  "cost",
                  "open",
                  "close",
                  "high",
                  "low"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "volume": 0.05219351,
                  "tick": 1573645080000,
                  "open": 8869.79,
                  "low": 8788.25,
                  "high": 8870.31,
                  "cost": 460,
                  "close": 8791.25
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "user.mmp_trigger.(index_name)": {
      "address": "user.mmp_trigger.(index_name)",
      "title": "user.mmp_trigger.(index_name) ",
      "summary": "Real-time notifications for Market Maker Protection (MMP) triggers. This subscription provides feedback when MMP protection is activated for a given index, enabling clients to react promptly when protection is triggered.\n\nUpon MMP being triggered for a given index, the client will receive a trigger notification containing:\n\n- **frozen_until**: Unix timestamp in milliseconds indicating until when the MMP is active (orders remain blocked). If `frozen_until: 0`, it means MMP will remain active until manually reset using the `private/reset_mmp` method.\n- **index_name**: Index identifier of derivative instrument on the platform. For Block RFQ MMP, this will be \"all\" when triggered by trade count limit.\n- **mmp_group**: Triggered MMP group (optional, appears only for Mass Quote orders trigger)\n- **block_rfq**: If true, indicates that the MMP trigger is for Block RFQ. Block RFQ MMP triggers are completely separate from normal order/quote MMP triggers.\n\nThis notification allows the client to track MMP state per index and avoid submitting new orders that would be rejected due to ongoing MMP freeze.\n\n**📖 Related Article:** [Market Maker Protection API Configuration](https://docs.deribit.com/articles/market-maker-protection)\n",
      "description": "Real-time notifications for Market Maker Protection (MMP) triggers. This subscription provides feedback when MMP protection is activated for a given index, enabling clients to react promptly when protection is triggered.\n\nUpon MMP being triggered for a given index, the client will receive a trigger notification containing:\n\n- **frozen_until**: Unix timestamp in milliseconds indicating until when the MMP is active (orders remain blocked). If `frozen_until: 0`, it means MMP will remain active until manually reset using the `private/reset_mmp` method.\n- **index_name**: Index identifier of derivative instrument on the platform. For Block RFQ MMP, this will be \"all\" when triggered by trade count limit.\n- **mmp_group**: Triggered MMP group (optional, appears only for Mass Quote orders trigger)\n- **block_rfq**: If true, indicates that the MMP trigger is for Block RFQ. Block RFQ MMP triggers are completely separate from normal order/quote MMP triggers.\n\nThis notification allows the client to track MMP state per index and avoid submitting new orders that would be rejected due to ongoing MMP freeze.\n\n**📖 Related Article:** [Market Maker Protection API Configuration](https://docs.deribit.com/articles/market-maker-protection)\n",
      "parameters": {
        "index_name": {
          "description": "Index identifier, matches (base) cryptocurrency with quote currency\n\n**Allowed values:** `btc_usd`, `eth_usd`, `ada_usdc`, `algo_usdc`, `avax_usdc`, ... (total 47 values)",
          "enum": [
            "btc_usd",
            "eth_usd",
            "ada_usdc",
            "algo_usdc",
            "avax_usdc",
            "bch_usdc",
            "bnb_usdc",
            "btc_usdc",
            "btcdvol_usdc",
            "buidl_usdc",
            "doge_usdc",
            "dot_usdc",
            "eurr_usdc",
            "eth_usdc",
            "ethdvol_usdc",
            "link_usdc",
            "ltc_usdc",
            "near_usdc",
            "paxg_usdc",
            "shib_usdc",
            "sol_usdc",
            "steth_usdc",
            "ton_usdc",
            "trump_usdc",
            "trx_usdc",
            "uni_usdc",
            "usde_usdc",
            "usyc_usdc",
            "xrp_usdc",
            "btc_usdt",
            "eth_usdt",
            "eurr_usdt",
            "sol_usdt",
            "steth_usdt",
            "usdc_usdt",
            "usde_usdt",
            "btc_eurr",
            "btc_usde",
            "btc_usyc",
            "eth_btc",
            "eth_eurr",
            "eth_usde",
            "eth_usyc",
            "steth_eth",
            "paxg_btc",
            "drbfix-btc_usdc",
            "drbfix-eth_usdc"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.mmp_trigger.(index_name)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.mmp_trigger.(index_name)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.mmp_trigger.(index_name)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "frozen_until": {
                    "type": "integer",
                    "description": "Timestamp (milliseconds since the UNIX epoch) until the user will be frozen - 0 means that the user is frozen until manual reset.",
                    "example": 0
                  },
                  "index_name": {
                    "type": "string",
                    "description": "Index identifier of derivative instrument on the platform. For Block RFQ MMP, this will be \"all\" when triggered by trade count limit.",
                    "example": "eth_usdc"
                  },
                  "mmp_group": {
                    "type": "string",
                    "description": "Triggered mmp group, this parameter is optional (appears only for Mass Quote orders trigger)",
                    "example": "MassQuoteBot7"
                  },
                  "block_rfq": {
                    "type": "boolean",
                    "description": "If true, indicates that the MMP trigger is for Block RFQ. Block RFQ MMP triggers are completely separate from normal order/quote MMP triggers."
                  }
                },
                "required": [
                  "frozen_until"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          }
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.portfolio.(currency)": {
      "address": "user.portfolio.(currency)",
      "title": "user.portfolio.(currency) ",
      "summary": "Real-time notifications for user portfolio information. This subscription provides comprehensive account and portfolio data for the specified currency, including balances, margins, profit and loss, and Greeks.\n\nEach notification includes:\n\n- **Account balances:** Current balance, equity, margin balance, available funds, and available withdrawal funds\n- **Margin information:** Initial margin, maintenance margin, and projected margins\n- **Profit and Loss:** Total P&L, session unrealized P&L (UPL), session realized P&L (RPL), and separate P&L for options and futures\n- **Options Greeks:** Delta, gamma, theta, vega, and options value, with per-index mappings\n- **Position data:** Delta total, projected delta total, and delta total map per index\n- **Account settings:** Portfolio margining status, cross collateral status, and margin model\n- **Cross collateral data:** Total equity, margins, and delta in USD (when cross collateral is enabled)\n- **Additional reserves:** Fee balance and additional reserve information\n\nWhen cross collateral is enabled, aggregated values are calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.\n\nSubscribe to a specific currency (BTC, ETH, USDC, USDT, etc.) or use `any` to receive portfolio updates for all currencies.\n",
      "description": "Real-time notifications for user portfolio information. This subscription provides comprehensive account and portfolio data for the specified currency, including balances, margins, profit and loss, and Greeks.\n\nEach notification includes:\n\n- **Account balances:** Current balance, equity, margin balance, available funds, and available withdrawal funds\n- **Margin information:** Initial margin, maintenance margin, and projected margins\n- **Profit and Loss:** Total P&L, session unrealized P&L (UPL), session realized P&L (RPL), and separate P&L for options and futures\n- **Options Greeks:** Delta, gamma, theta, vega, and options value, with per-index mappings\n- **Position data:** Delta total, projected delta total, and delta total map per index\n- **Account settings:** Portfolio margining status, cross collateral status, and margin model\n- **Cross collateral data:** Total equity, margins, and delta in USD (when cross collateral is enabled)\n- **Additional reserves:** Fee balance and additional reserve information\n\nWhen cross collateral is enabled, aggregated values are calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.\n\nSubscribe to a specific currency (BTC, ETH, USDC, USDT, etc.) or use `any` to receive portfolio updates for all currencies.\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.portfolio.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.portfolio.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.portfolio.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string",
                    "description": "The selected currency",
                    "example": "ETH"
                  },
                  "equity": {
                    "type": "number",
                    "description": "The account's current equity",
                    "example": 2.6437733
                  },
                  "maintenance_margin": {
                    "type": "number",
                    "description": "The maintenance margin. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 0.1334519
                  },
                  "initial_margin": {
                    "type": "number",
                    "description": "The account's initial margin. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 0.379882
                  },
                  "available_funds": {
                    "type": "number",
                    "description": "The account's available funds. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 2.2638913
                  },
                  "available_withdrawal_funds": {
                    "type": "number",
                    "description": "The account's available to withdrawal funds",
                    "example": 2.26
                  },
                  "balance": {
                    "type": "number",
                    "description": "The account's balance",
                    "example": 3.4906363
                  },
                  "fee_balance": {
                    "description": "The account's fee balance (it can be used to pay for fees)",
                    "type": "number"
                  },
                  "margin_balance": {
                    "type": "number",
                    "description": "The account's margin balance. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 2.25
                  },
                  "session_upl": {
                    "description": "Session unrealized profit and loss",
                    "type": "number",
                    "example": 0.846863
                  },
                  "session_rpl": {
                    "description": "Session realized profit and loss",
                    "type": "number",
                    "example": 0.1
                  },
                  "total_pl": {
                    "type": "number",
                    "description": "Profit and loss",
                    "example": 0.02032221
                  },
                  "options_pl": {
                    "type": "number",
                    "description": "Options profit and Loss",
                    "example": 0
                  },
                  "options_session_rpl": {
                    "type": "number",
                    "description": "Options session realized profit and Loss",
                    "example": 0
                  },
                  "options_session_upl": {
                    "type": "number",
                    "description": "Options session unrealized profit and Loss",
                    "example": 0
                  },
                  "options_delta": {
                    "type": "number",
                    "description": "Options summary delta",
                    "example": 0
                  },
                  "options_gamma": {
                    "type": "number",
                    "description": "Options summary gamma",
                    "example": 0
                  },
                  "options_theta": {
                    "type": "number",
                    "description": "Options summary theta",
                    "example": 0
                  },
                  "options_value": {
                    "type": "number",
                    "description": "Options value",
                    "example": 0
                  },
                  "options_vega": {
                    "type": "number",
                    "description": "Options summary vega",
                    "example": 0
                  },
                  "futures_pl": {
                    "type": "number",
                    "description": "Futures profit and Loss",
                    "example": 0
                  },
                  "futures_session_rpl": {
                    "type": "number",
                    "description": "Futures session realized profit and Loss",
                    "example": 0
                  },
                  "futures_session_upl": {
                    "type": "number",
                    "description": "Futures session unrealized profit and Loss",
                    "example": 0
                  },
                  "delta_total": {
                    "description": "The sum of position deltas. \n\n**DeltaTotal = Net Transaction Delta of options + BTC Position of Futures**\n\nThe DeltaTotal uses the Net Transaction Delta (or price adjusted Delta) of the options, where Net Transaction Delta = Black Scholes Delta - Mark Price of Options.\n\nThis is because, from a risk perspective, we are interested in the change in Bitcoin price as the underlying changes.\n\nYou should actually treat your delta as **Equity + Delta Total** if you want to have less risk for your USD PnL.\n\n⚠️ **During the 30 minute settlement period we decay your Delta.** See [Delta decay during settlement](https://support.deribit.com/hc/en-us/articles/25944751433757-Delta-decay-during-settlement) for more details.\n",
                    "example": 0.1334,
                    "type": "number"
                  },
                  "delta_total_map": {
                    "type": "object",
                    "description": "Map of position sum's per index"
                  },
                  "options_gamma_map": {
                    "type": "object",
                    "description": "Map of options' gammas per index"
                  },
                  "options_theta_map": {
                    "type": "object",
                    "description": "Map of options' thetas per index"
                  },
                  "options_vega_map": {
                    "type": "object",
                    "description": "Map of options' vegas per index"
                  },
                  "projected_delta_total": {
                    "description": "The sum of position deltas without positions that will expire during closest expiration",
                    "example": 0.1334,
                    "type": "number"
                  },
                  "portfolio_margining_enabled": {
                    "type": "boolean",
                    "description": "When `true` portfolio margining is enabled for user",
                    "example": true
                  },
                  "cross_collateral_enabled": {
                    "type": "boolean",
                    "description": "When `true` cross collateral is enabled for user",
                    "example": true
                  },
                  "margin_model": {
                    "type": "string",
                    "description": "Name of user's currently enabled margin model",
                    "example": "segregated_sm"
                  },
                  "total_equity_usd": {
                    "type": "number",
                    "description": "Optional (only for users using cross margin). The account's total equity in all cross collateral currencies, expressed in USD",
                    "example": 2.6437733
                  },
                  "total_initial_margin_usd": {
                    "type": "number",
                    "description": "Optional (only for users using cross margin). The account's total initial margin in all cross collateral currencies, expressed in USD",
                    "example": 0.379882
                  },
                  "total_maintenance_margin_usd": {
                    "type": "number",
                    "description": "Optional (only for users using cross margin). The account's total maintenance margin in all cross collateral currencies, expressed in USD",
                    "example": 0.1334519
                  },
                  "total_margin_balance_usd": {
                    "type": "number",
                    "description": "Optional (only for users using cross margin). The account's total margin balance in all cross collateral currencies, expressed in USD",
                    "example": 2.25
                  },
                  "total_delta_total_usd": {
                    "type": "number",
                    "description": "Optional (only for users using cross margin). The account's total delta total in all cross collateral currencies, expressed in USD",
                    "example": 1.8
                  },
                  "projected_initial_margin": {
                    "description": "Projected initial margin. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 1,
                    "type": "number"
                  },
                  "projected_maintenance_margin": {
                    "description": "Projected maintenance margin. When cross collateral is enabled, this aggregated value is calculated by converting the sum of each cross collateral currency's value to the given currency, using each cross collateral currency's index.",
                    "example": 1,
                    "type": "number"
                  },
                  "estimated_liquidation_ratio": {
                    "type": "number",
                    "description": "[DEPRECATED] Estimated Liquidation Ratio is returned only for users with `segregated_sm` margin model. Multiplying it by future position's market price returns its estimated liquidation price. Use estimated_liquidation_ratio_map instead.",
                    "example": 0.0000234
                  },
                  "estimated_liquidation_ratio_map": {
                    "type": "object",
                    "description": "Map of Estimated Liquidation Ratio per index, it is returned only for users with `segregated_sm` margin model. Multiplying it by future position's market price returns its estimated liquidation price."
                  },
                  "additional_reserve": {
                    "description": "The account's balance reserved in other orders",
                    "example": 0.3,
                    "type": "number"
                  }
                },
                "required": [
                  "currency",
                  "equity",
                  "maintenance_margin",
                  "initial_margin",
                  "available_funds",
                  "available_withdrawal_funds",
                  "balance",
                  "margin_balance",
                  "session_upl",
                  "session_rpl",
                  "total_pl",
                  "options_pl",
                  "options_session_upl",
                  "options_session_rpl",
                  "options_delta",
                  "options_gamma",
                  "options_value",
                  "options_vega",
                  "options_theta",
                  "options_gamma_map",
                  "options_vega_map",
                  "options_theta_map",
                  "futures_pl",
                  "futures_session_upl",
                  "futures_session_rpl",
                  "delta_total_map",
                  "projected_delta_total",
                  "portfolio_margining_enabled",
                  "cross_collateral_enabled",
                  "margin_model",
                  "projected_maintenance_margin"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "delta_total_map": {
                    "btc_usd": 31.594397699
                  },
                  "margin_balance": 302.62675921,
                  "futures_session_rpl": -0.03311399,
                  "options_session_rpl": 0,
                  "estimated_liquidation_ratio_map": {
                    "btc_usd": 0.10098729140701267
                  },
                  "session_upl": 0.05341555,
                  "estimated_liquidation_ratio": 0.10098729,
                  "options_gamma_map": {
                    "btc_usd": 0.00001
                  },
                  "options_vega": 0.07976,
                  "options_value": -0.0079,
                  "available_withdrawal_funds": 301.35426172,
                  "projected_delta_total": 32.613978,
                  "maintenance_margin": 0.8854841,
                  "total_pl": -0.33014225,
                  "options_theta_map": {
                    "btc_usd": 16.13825
                  },
                  "projected_maintenance_margin": 0.7543841,
                  "available_funds": 301.38036328,
                  "options_delta": -1.01958,
                  "balance": 302.60065765,
                  "equity": 302.6188592,
                  "futures_session_upl": 0.05921555,
                  "fee_balance": 0,
                  "currency": "BTC",
                  "options_session_upl": -0.0058,
                  "projected_initial_margin": 1.01529592,
                  "options_theta": 16.13825,
                  "portfolio_margining_enabled": false,
                  "cross_collateral_enabled": false,
                  "margin_model": "segregated_sm",
                  "options_vega_map": {
                    "btc_usd": 0.07976
                  },
                  "futures_pl": -0.32434225,
                  "options_pl": -0.0058,
                  "initial_margin": 1.24639592,
                  "spot_reserve": 0,
                  "delta_total": 31.602298,
                  "options_gamma": 0.00001,
                  "session_rpl": -0.03311399,
                  "additional_reserve": 0
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Portfolio"
        }
      ]
    },
    "user.trades.(instrument_name).(interval)": {
      "address": "user.trades.(instrument_name).(interval)",
      "title": "user.trades.(instrument_name).(interval) ",
      "summary": "User trade notifications for a specific instrument.\n\nReceive private trade events for your account for the given instrument. The `interval` controls how frequently events are aggregated.\n\n**Block RFQ trades:** Trades resulting from Block RFQ execution are included in this channel. These trades carry the following additional fields:\n- `block_rfq_id` — ID of the Block RFQ.\n- `block_trade_id` — ID of the resulting block trade.\n- `block_rfq_quote_id` — ID of the accepted quote (present on the **maker** side only).\n- `order_id` — always present for direct trade participants (makers and takers).\n",
      "description": "User trade notifications for a specific instrument.\n\nReceive private trade events for your account for the given instrument. The `interval` controls how frequently events are aggregated.\n\n**Block RFQ trades:** Trades resulting from Block RFQ execution are included in this channel. These trades carry the following additional fields:\n- `block_rfq_id` — ID of the Block RFQ.\n- `block_trade_id` — ID of the resulting block trade.\n- `block_rfq_quote_id` — ID of the accepted quote (present on the **maker** side only).\n- `order_id` — always present for direct trade participants (makers and takers).\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.trades.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.trades.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.trades.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                    "example": 103148386170
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                    "enum": [
                      "limit",
                      "market",
                      "liquidation"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "advanced": {
                    "type": "string",
                    "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "order_id": {
                    "type": "string",
                    "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                  },
                  "matching_id": {
                    "type": "string",
                    "description": "Always `null`"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "underlying_price": {
                    "type": "number",
                    "description": "Underlying price for implied volatility calculations (Options only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "liquidity": {
                    "type": "string",
                    "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                    "enum": [
                      "M",
                      "T"
                    ]
                  },
                  "fee": {
                    "type": "number",
                    "description": "User's fee in units of the specified `fee_currency`"
                  },
                  "fee_currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (presented only when previously set for order by user)"
                  },
                  "state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "archive"
                    ]
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  },
                  "block_rfq_quote_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                  },
                  "reduce_only": {
                    "type": "string",
                    "description": "`true` if user order is reduce-only"
                  },
                  "post_only": {
                    "type": "string",
                    "description": "`true` if user order is post-only"
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if user order is MMP"
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if user order was created with API"
                  },
                  "profit_loss": {
                    "type": "number",
                    "description": "Profit and loss in base currency."
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "legs": {
                    "type": "array",
                    "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "trade_allocations": {
                    "type": "object",
                    "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                    "properties": {
                      "user_id": {
                        "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                        "type": "integer"
                      },
                      "amount": {
                        "description": "Amount allocated to this user.",
                        "type": "number"
                      },
                      "fee": {
                        "description": "Fee for the allocated part of the trade.",
                        "type": "number"
                      },
                      "client_info": {
                        "description": "Optional client allocation info for brokers.",
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                            "type": "integer"
                          },
                          "client_link_id": {
                            "description": "ID assigned to a single user in a client; available to broker.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name of the linked user within the client; available to broker.",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "amount",
                      "fee"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "trade_id",
                  "trade_seq",
                  "instrument_name",
                  "timestamp",
                  "order_id",
                  "matching_id",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "fee",
                  "fee_currency",
                  "state",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 30289432,
                    "trade_id": "48079254",
                    "timestamp": 1590484156350,
                    "tick_direction": 0,
                    "state": "filled",
                    "reduce_only": false,
                    "price": 8954,
                    "post_only": false,
                    "order_type": "market",
                    "order_id": "4008965646",
                    "matching_id": null,
                    "mark_price": 8952.86,
                    "liquidity": "T",
                    "instrument_name": "BTC-PERPETUAL",
                    "index_price": 8956.73,
                    "fee_currency": "BTC",
                    "fee": 0.00000168,
                    "direction": "sell",
                    "amount": 20
                  },
                  {
                    "trade_seq": 30289433,
                    "trade_id": "48079255",
                    "timestamp": 1590484156350,
                    "tick_direction": 1,
                    "state": "filled",
                    "reduce_only": false,
                    "price": 8954,
                    "post_only": false,
                    "order_type": "market",
                    "order_id": "4008965646",
                    "matching_id": null,
                    "mark_price": 8952.86,
                    "liquidity": "T",
                    "instrument_name": "BTC-PERPETUAL",
                    "index_price": 8956.73,
                    "fee_currency": "BTC",
                    "fee": 0.00000168,
                    "direction": "sell",
                    "amount": 20
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "user.trades.(kind).(currency).(interval)": {
      "address": "user.trades.(kind).(currency).(interval)",
      "title": "user.trades.(kind).(currency).(interval) ",
      "summary": "User trade notifications across all instruments for a given kind and currency.\n\nReceive a consolidated stream of your private trades across all instruments matching the specified `kind` and `currency`. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Trades resulting from Block RFQ execution are included in this channel. See `user.trades.{instrument_name}.{interval}` for the complete list of Block RFQ-specific fields.\n",
      "description": "User trade notifications across all instruments for a given kind and currency.\n\nReceive a consolidated stream of your private trades across all instruments matching the specified `kind` and `currency`. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Trades resulting from Block RFQ execution are included in this channel. See `user.trades.{instrument_name}.{interval}` for the complete list of Block RFQ-specific fields.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.trades.(kind).(currency).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.trades.(kind).(currency).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.trades.(kind).(currency).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                    "example": 103148386170
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                    "enum": [
                      "limit",
                      "market",
                      "liquidation"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "advanced": {
                    "type": "string",
                    "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "order_id": {
                    "type": "string",
                    "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                  },
                  "matching_id": {
                    "type": "string",
                    "description": "Always `null`"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "underlying_price": {
                    "type": "number",
                    "description": "Underlying price for implied volatility calculations (Options only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "liquidity": {
                    "type": "string",
                    "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                    "enum": [
                      "M",
                      "T"
                    ]
                  },
                  "fee": {
                    "type": "number",
                    "description": "User's fee in units of the specified `fee_currency`"
                  },
                  "fee_currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (presented only when previously set for order by user)"
                  },
                  "state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "archive"
                    ]
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  },
                  "block_rfq_quote_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                  },
                  "reduce_only": {
                    "type": "string",
                    "description": "`true` if user order is reduce-only"
                  },
                  "post_only": {
                    "type": "string",
                    "description": "`true` if user order is post-only"
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if user order is MMP"
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if user order was created with API"
                  },
                  "profit_loss": {
                    "type": "number",
                    "description": "Profit and loss in base currency."
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "legs": {
                    "type": "array",
                    "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "trade_allocations": {
                    "type": "object",
                    "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                    "properties": {
                      "user_id": {
                        "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                        "type": "integer"
                      },
                      "amount": {
                        "description": "Amount allocated to this user.",
                        "type": "number"
                      },
                      "fee": {
                        "description": "Fee for the allocated part of the trade.",
                        "type": "number"
                      },
                      "client_info": {
                        "description": "Optional client allocation info for brokers.",
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                            "type": "integer"
                          },
                          "client_link_id": {
                            "description": "ID assigned to a single user in a client; available to broker.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name of the linked user within the client; available to broker.",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "amount",
                      "fee"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "trade_id",
                  "trade_seq",
                  "instrument_name",
                  "timestamp",
                  "order_id",
                  "matching_id",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "fee",
                  "fee_currency",
                  "state",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 74405,
                    "trade_id": "48079262",
                    "timestamp": 1590484255886,
                    "tick_direction": 2,
                    "state": "filled",
                    "reduce_only": false,
                    "price": 8947,
                    "post_only": false,
                    "order_type": "limit",
                    "order_id": "4008978075",
                    "matching_id": null,
                    "mark_price": 8970.03,
                    "liquidity": "T",
                    "instrument_name": "BTC-25SEP20",
                    "index_price": 8953.53,
                    "fee_currency": "BTC",
                    "fee": 0.00049961,
                    "direction": "sell",
                    "amount": 8940
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "user.combo_trades.(instrument_name).(interval)": {
      "address": "user.combo_trades.(instrument_name).(interval)",
      "title": "user.combo_trades.(instrument_name).(interval) ",
      "summary": "User trade notifications for a specific combo instrument.\n\nTrades include a `legs` field describing the underlying legs of the combo. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Block RFQ does not support combo instruments. RFQ-executed trades do not appear in this channel.\n",
      "description": "User trade notifications for a specific combo instrument.\n\nTrades include a `legs` field describing the underlying legs of the combo. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Block RFQ does not support combo instruments. RFQ-executed trades do not appear in this channel.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.combo_trades.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.combo_trades.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.combo_trades.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                    "example": 103148386170
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                    "enum": [
                      "limit",
                      "market",
                      "liquidation"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "advanced": {
                    "type": "string",
                    "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "order_id": {
                    "type": "string",
                    "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                  },
                  "matching_id": {
                    "type": "string",
                    "description": "Always `null`"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "underlying_price": {
                    "type": "number",
                    "description": "Underlying price for implied volatility calculations (Options only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "liquidity": {
                    "type": "string",
                    "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                    "enum": [
                      "M",
                      "T"
                    ]
                  },
                  "fee": {
                    "type": "number",
                    "description": "User's fee in units of the specified `fee_currency`"
                  },
                  "fee_currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (presented only when previously set for order by user)"
                  },
                  "state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "archive"
                    ]
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  },
                  "block_rfq_quote_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                  },
                  "reduce_only": {
                    "type": "string",
                    "description": "`true` if user order is reduce-only"
                  },
                  "post_only": {
                    "type": "string",
                    "description": "`true` if user order is post-only"
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if user order is MMP"
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if user order was created with API"
                  },
                  "profit_loss": {
                    "type": "number",
                    "description": "Profit and loss in base currency."
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "legs": {
                    "type": "array",
                    "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "trade_allocations": {
                    "type": "object",
                    "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                    "properties": {
                      "user_id": {
                        "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                        "type": "integer"
                      },
                      "amount": {
                        "description": "Amount allocated to this user.",
                        "type": "number"
                      },
                      "fee": {
                        "description": "Fee for the allocated part of the trade.",
                        "type": "number"
                      },
                      "client_info": {
                        "description": "Optional client allocation info for brokers.",
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                            "type": "integer"
                          },
                          "client_link_id": {
                            "description": "ID assigned to a single user in a client; available to broker.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name of the linked user within the client; available to broker.",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "amount",
                      "fee"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "trade_id",
                  "trade_seq",
                  "instrument_name",
                  "timestamp",
                  "order_id",
                  "matching_id",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "fee",
                  "fee_currency",
                  "state",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 39,
                    "trade_id": "1154",
                    "timestamp": 1661867454334,
                    "tick_direction": 2,
                    "state": "filled",
                    "risk_reducing": false,
                    "reduce_only": false,
                    "profit_loss": null,
                    "price": 1191.82,
                    "post_only": false,
                    "order_type": "limit",
                    "order_id": "720074",
                    "mmp": false,
                    "matching_id": null,
                    "mark_price": 767.6,
                    "liquidity": "T",
                    "legs": [
                      {
                        "trade_seq": 179,
                        "trade_id": "1156",
                        "timestamp": 1661867454335,
                        "tick_direction": 2,
                        "state": "filled",
                        "risk_reducing": false,
                        "reduce_only": false,
                        "profit_loss": 0,
                        "price": 20008.5,
                        "post_only": false,
                        "order_type": "limit",
                        "order_id": "720078",
                        "mmp": false,
                        "matching_id": null,
                        "mark_price": 20220.61,
                        "liquidity": "T",
                        "instrument_name": "BTC-PERPETUAL",
                        "index_price": 20332.44,
                        "fee_currency": "BTC",
                        "fee": 5e-8,
                        "direction": "buy",
                        "combo_trade_id": "1154",
                        "combo_id": "BTC-FS-2SEP22_PERP",
                        "api": false,
                        "amount": 10
                      },
                      {
                        "trade_seq": 159,
                        "trade_id": "1155",
                        "timestamp": 1661867454335,
                        "tick_direction": 0,
                        "state": "filled",
                        "risk_reducing": false,
                        "reduce_only": false,
                        "profit_loss": 0,
                        "price": 21200.32,
                        "post_only": false,
                        "order_type": "limit",
                        "order_id": "720077",
                        "mmp": false,
                        "matching_id": null,
                        "mark_price": 20988.21,
                        "liquidity": "T",
                        "instrument_name": "BTC-2SEP22",
                        "index_price": 20332.44,
                        "fee_currency": "BTC",
                        "fee": 5e-8,
                        "direction": "sell",
                        "combo_trade_id": "1154",
                        "combo_id": "BTC-FS-2SEP22_PERP",
                        "api": false,
                        "amount": 10
                      }
                    ],
                    "instrument_name": "BTC-FS-2SEP22_PERP",
                    "index_price": 20332.44,
                    "fee_currency": "BTC",
                    "fee": 0,
                    "direction": "sell",
                    "api": false,
                    "amount": 10
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "user.combo_trades.(kind).(currency).(interval)": {
      "address": "user.combo_trades.(kind).(currency).(interval)",
      "title": "user.combo_trades.(kind).(currency).(interval) ",
      "summary": "User trade notifications across all combo instruments for a given kind and currency.\n\nTrades include a `legs` field describing the underlying legs. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Block RFQ does not support combo instruments. RFQ-executed trades do not appear in this channel.\n",
      "description": "User trade notifications across all combo instruments for a given kind and currency.\n\nTrades include a `legs` field describing the underlying legs. The `interval` controls aggregation frequency.\n\n**Block RFQ trades:** Block RFQ does not support combo instruments. RFQ-executed trades do not appear in this channel.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.combo_trades.(kind).(currency).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.combo_trades.(kind).(currency).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.combo_trades.(kind).(currency).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "trade_id": {
                    "type": "string",
                    "description": "Unique (per currency) trade identifier"
                  },
                  "trade_seq": {
                    "description": "The sequence number of the trade within instrument",
                    "type": "integer"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "starbase_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                    "example": 103148386170
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                    "enum": [
                      "limit",
                      "market",
                      "liquidation"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "advanced": {
                    "type": "string",
                    "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "order_id": {
                    "type": "string",
                    "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                  },
                  "matching_id": {
                    "type": "string",
                    "description": "Always `null`"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "tick_direction": {
                    "type": "integer",
                    "enum": [
                      0,
                      1,
                      2,
                      3
                    ],
                    "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                  },
                  "index_price": {
                    "type": "number",
                    "description": "Index Price at the moment of trade"
                  },
                  "price": {
                    "description": "Price in base currency",
                    "type": "number"
                  },
                  "amount": {
                    "type": "number",
                    "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "Trade size in contract units (optional, may be absent in historical trades)"
                  },
                  "iv": {
                    "type": "number",
                    "description": "Option implied volatility for the price (Option only)"
                  },
                  "underlying_price": {
                    "type": "number",
                    "description": "Underlying price for implied volatility calculations (Options only)"
                  },
                  "liquidation": {
                    "type": "string",
                    "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                    "enum": [
                      "M",
                      "T",
                      "MT"
                    ]
                  },
                  "liquidity": {
                    "type": "string",
                    "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                    "enum": [
                      "M",
                      "T"
                    ]
                  },
                  "fee": {
                    "type": "number",
                    "description": "User's fee in units of the specified `fee_currency`"
                  },
                  "fee_currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (presented only when previously set for order by user)"
                  },
                  "state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "archive"
                    ]
                  },
                  "block_trade_id": {
                    "description": "Block trade id - when trade was part of a block trade",
                    "type": "string",
                    "example": "154"
                  },
                  "block_trade_leg_count": {
                    "description": "Block trade leg count - when trade was part of a block trade",
                    "type": "integer",
                    "example": 3
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                  },
                  "block_rfq_quote_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                  },
                  "reduce_only": {
                    "type": "string",
                    "description": "`true` if user order is reduce-only"
                  },
                  "post_only": {
                    "type": "string",
                    "description": "`true` if user order is post-only"
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if user order is MMP"
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if user order was created with API"
                  },
                  "profit_loss": {
                    "type": "number",
                    "description": "Profit and loss in base currency."
                  },
                  "mark_price": {
                    "type": "number",
                    "description": "Mark Price at the moment of trade"
                  },
                  "legs": {
                    "type": "array",
                    "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Optional field containing combo instrument name if the trade is a combo trade"
                  },
                  "combo_trade_id": {
                    "type": "string",
                    "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                  },
                  "starbase_match_id": {
                    "type": "integer",
                    "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                  },
                  "trade_allocations": {
                    "type": "object",
                    "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                    "properties": {
                      "user_id": {
                        "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                        "type": "integer"
                      },
                      "amount": {
                        "description": "Amount allocated to this user.",
                        "type": "number"
                      },
                      "fee": {
                        "description": "Fee for the allocated part of the trade.",
                        "type": "number"
                      },
                      "client_info": {
                        "description": "Optional client allocation info for brokers.",
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                            "type": "integer"
                          },
                          "client_link_id": {
                            "description": "ID assigned to a single user in a client; available to broker.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name of the linked user within the client; available to broker.",
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "amount",
                      "fee"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "trade_id",
                  "trade_seq",
                  "instrument_name",
                  "timestamp",
                  "order_id",
                  "matching_id",
                  "direction",
                  "tick_direction",
                  "index_price",
                  "price",
                  "amount",
                  "fee",
                  "fee_currency",
                  "state",
                  "mark_price"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "trade_seq": 39,
                    "trade_id": "1154",
                    "timestamp": 1661867454334,
                    "tick_direction": 2,
                    "state": "filled",
                    "risk_reducing": false,
                    "reduce_only": false,
                    "profit_loss": null,
                    "price": 1191.82,
                    "post_only": false,
                    "order_type": "limit",
                    "order_id": "720074",
                    "mmp": false,
                    "matching_id": null,
                    "mark_price": 767.6,
                    "liquidity": "T",
                    "legs": [
                      {
                        "trade_seq": 179,
                        "trade_id": "1156",
                        "timestamp": 1661867454335,
                        "tick_direction": 2,
                        "state": "filled",
                        "risk_reducing": false,
                        "reduce_only": false,
                        "profit_loss": 0,
                        "price": 20008.5,
                        "post_only": false,
                        "order_type": "limit",
                        "order_id": "720078",
                        "mmp": false,
                        "matching_id": null,
                        "mark_price": 20220.61,
                        "liquidity": "T",
                        "instrument_name": "BTC-PERPETUAL",
                        "index_price": 20332.44,
                        "fee_currency": "BTC",
                        "fee": 5e-8,
                        "direction": "buy",
                        "combo_trade_id": "1154",
                        "combo_id": "BTC-FS-2SEP22_PERP",
                        "api": false,
                        "amount": 10
                      },
                      {
                        "trade_seq": 159,
                        "trade_id": "1155",
                        "timestamp": 1661867454335,
                        "tick_direction": 0,
                        "state": "filled",
                        "risk_reducing": false,
                        "reduce_only": false,
                        "profit_loss": 0,
                        "price": 21200.32,
                        "post_only": false,
                        "order_type": "limit",
                        "order_id": "720077",
                        "mmp": false,
                        "matching_id": null,
                        "mark_price": 20988.21,
                        "liquidity": "T",
                        "instrument_name": "BTC-2SEP22",
                        "index_price": 20332.44,
                        "fee_currency": "BTC",
                        "fee": 5e-8,
                        "direction": "sell",
                        "combo_trade_id": "1154",
                        "combo_id": "BTC-FS-2SEP22_PERP",
                        "api": false,
                        "amount": 10
                      }
                    ],
                    "instrument_name": "BTC-FS-2SEP22_PERP",
                    "index_price": 20332.44,
                    "fee_currency": "BTC",
                    "fee": 0,
                    "direction": "sell",
                    "api": false,
                    "amount": 10
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "instrument.creation.(kind).(currency)": {
      "address": "instrument.creation.(kind).(currency)",
      "title": "instrument.creation.(kind).(currency) ",
      "summary": "Notification published once when an instrument is created, carrying full instrument data in the same format as `public/get_instruments`.\n\nThe notification fires exactly once at creation time, regardless of the instrument's initial state.\n\n**Subscription examples:**\n\n| Channel | Description |\n|---|---|\n| `instrument.creation.any.any` | All instruments |\n| `instrument.creation.future.BTC` | BTC futures only |\n| `instrument.creation.option.any` | All options |\n",
      "description": "Notification published once when an instrument is created, carrying full instrument data in the same format as `public/get_instruments`.\n\nThe notification fires exactly once at creation time, regardless of the instrument's initial state.\n\n**Subscription examples:**\n\n| Channel | Description |\n|---|---|\n| `instrument.creation.any.any` | All instruments |\n| `instrument.creation.future.BTC` | BTC futures only |\n| `instrument.creation.option.any` | All options |\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to instrument channel. Channel name format: `instrument.creation.(kind).(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "instrument.creation.(kind).(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "instrument_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `instrument.creation.(kind).(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "The actual notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "The actual notification data",
                "additionalProperties": true
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "tick_size": 0.0005,
                  "tick_size_steps": [
                    {
                      "above_price": 120,
                      "tick_size": 0.001
                    }
                  ],
                  "taker_commission": 0.0003,
                  "strike": 16000,
                  "settlement_period": "week",
                  "settlement_currency": "BTC",
                  "quote_currency": "BTC",
                  "price_index": "btc_usd",
                  "option_type": "put",
                  "min_trade_amount": 0.1,
                  "maker_commission": 0.0003,
                  "kind": "option",
                  "is_active": true,
                  "instrument_name": "BTC-13JAN23-16000-P",
                  "instrument_id": 144613,
                  "expiration_timestamp": 1673596800000,
                  "creation_timestamp": 1671696002000,
                  "timestamp": 1671696002000,
                  "counter_currency": "USD",
                  "contract_size": 1,
                  "lot_size": 1,
                  "block_trade_tick_size": 0.0001,
                  "block_trade_min_trade_amount": 25,
                  "block_trade_commission": 0.00015,
                  "base_currency": "BTC",
                  "state": "open"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "instrument.state.(kind).(currency)": {
      "address": "instrument.state.(kind).(currency)",
      "title": "instrument.state.(kind).(currency) ",
      "summary": "Notifications about new or terminated instruments of a given kind in a given currency.\n\nUse this channel to track instrument lifecycle events (new listings, expirations/terminations) without polling.\n\n**Note:** Our system does not send notifications when currencies are locked. Users are advised to subscribe to the [platform_state](https://docs.deribit.com/subscriptions/platform/platform_state) channel to monitor the state of currencies actively.\n",
      "description": "Notifications about new or terminated instruments of a given kind in a given currency.\n\nUse this channel to track instrument lifecycle events (new listings, expirations/terminations) without polling.\n\n**Note:** Our system does not send notifications when currencies are locked. Users are advised to subscribe to the [platform_state](https://docs.deribit.com/subscriptions/platform/platform_state) channel to monitor the state of currencies actively.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to instrument channel. Channel name format: `instrument.state.(kind).(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "instrument.state.(kind).(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "instrument_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `instrument.state.(kind).(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "state": {
                    "description": "The state of the order book. Represents the current lifecycle stage of the instrument.\n\n**State Lifecycle and Meanings:**\n\n- `open`: Default state for running books. In this state book is accepting new orders, edits, cancels; prices should be updated, trading is live.\n- `settlement`: Books enters to this state during settlement/delivery. New orders, edits, cancels are not accepted. After this state normally next state should be `open` if it was settlement, or `delivered` if it was delivery. On enter to this state good till day orders in book are canceled.\n- `delivered`: Final state of book that has been delivered. New orders, edits, cancels are not accepted. After some time book process will be terminated and, instrument moved to `expired_instruments` and its `instrument_state` will become archivized. On enter to this all open orders in book are canceled.\n- `inactive`: After a book is deactivated, this state is set on book. New orders, edits, cancels are not accepted. On enter to this all open orders in book are canceled. Book in this state is not considered as open. This can be also final state for book.\n- `locked`: New orders, edits, are not accepted, only cancels ARE accepted. In some cases when configured books can start as locked or it may become locked on admin request. Settlement is possible on locked books.\n- `halted`: The state that books enter as a result of an error. Settlement is not possible when there is at least one book in this state.\n- `archivized`: Set when instrument is moved to `expired_instruments` table, final state.\n",
                    "type": "string",
                    "enum": [
                      "open",
                      "settlement",
                      "delivered",
                      "inactive",
                      "locked",
                      "halted",
                      "archivized"
                    ]
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "timestamp": 1553080940000,
                  "state": "open",
                  "instrument_name": "BTC-22MAR19"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "user.orders.(instrument_name).raw": {
      "address": "user.orders.(instrument_name).raw",
      "title": "user.orders.(instrument_name).raw ",
      "summary": "User order updates for a specific instrument (raw stream).\n\nUse this channel to receive private order updates for the given instrument with the highest granularity (raw). Prefer this for real-time order state tracking.\n",
      "description": "User order updates for a specific instrument (raw stream).\n\nUse this channel to receive private order updates for the given instrument with the highest granularity (raw). Prefer this for real-time order state tracking.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.orders.(instrument_name).raw`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.orders.BTC-PERPETUAL.raw"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.orders.(instrument_name).raw` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "order_state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "triggered"
                    ]
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                    "enum": [
                      "market",
                      "limit",
                      "stop_market",
                      "stop_limit",
                      "take_market",
                      "take_limit",
                      "trailing_stop"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "time_in_force": {
                    "type": "string",
                    "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                    "enum": [
                      "good_til_cancelled",
                      "good_til_day",
                      "fill_or_kill",
                      "immediate_or_cancel"
                    ]
                  },
                  "is_rebalance": {
                    "type": "boolean",
                    "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                  },
                  "is_liquidation": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "creation_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "starbase_last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "price": {
                    "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (up to 64 characters)"
                  },
                  "post_only": {
                    "type": "boolean",
                    "description": "`true` for post-only orders only"
                  },
                  "reject_post_only": {
                    "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                    "type": "boolean"
                  },
                  "reduce_only": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if created with API"
                  },
                  "web": {
                    "type": "boolean",
                    "description": "`true` if created via Deribit frontend (optional)"
                  },
                  "mobile": {
                    "type": "boolean",
                    "description": "Optional field with value `true` added only when created with Mobile Application"
                  },
                  "refresh_amount": {
                    "type": "number",
                    "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                  },
                  "display_amount": {
                    "type": "number",
                    "description": "The actual display amount of iceberg order. Absent for other types of orders."
                  },
                  "amount": {
                    "type": "number",
                    "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                  },
                  "filled_amount": {
                    "type": "number",
                    "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                  },
                  "average_price": {
                    "type": "number",
                    "description": "Average fill price of the order"
                  },
                  "advanced": {
                    "type": "string",
                    "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "implv": {
                    "type": "number",
                    "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                  },
                  "usd": {
                    "type": "number",
                    "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                  },
                  "triggered": {
                    "type": "boolean",
                    "description": "Whether the trigger order has been triggered"
                  },
                  "trigger": {
                    "type": "string",
                    "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                    "enum": [
                      "index_price",
                      "mark_price",
                      "last_price"
                    ]
                  },
                  "trigger_price": {
                    "type": "number",
                    "description": "Trigger price (Only for future trigger orders)"
                  },
                  "trigger_offset": {
                    "type": "number",
                    "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                  },
                  "trigger_reference_price": {
                    "type": "number",
                    "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                  },
                  "block_trade": {
                    "description": "`true` if order made from block_trade trade, added only in that case.",
                    "type": "boolean",
                    "example": true
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if the order is a MMP order, otherwise `false`."
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                  },
                  "replaced": {
                    "type": "boolean",
                    "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                  },
                  "auto_replaced": {
                    "type": "boolean",
                    "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                  },
                  "quote": {
                    "type": "boolean",
                    "description": "If order is a quote. Present only if true."
                  },
                  "mmp_group": {
                    "type": "string",
                    "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "trigger_order_id": {
                    "type": "string",
                    "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                    "example": "SLIB-370"
                  },
                  "combo_order_id": {
                    "type": "string",
                    "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                    "example": "103148386169"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                    "example": 103148386170
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that placed the order on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "mmp_cancelled": {
                    "type": "boolean",
                    "description": "`true` if order was cancelled by mmp trigger (optional)",
                    "example": true
                  },
                  "cancel_reason": {
                    "type": "string",
                    "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                    "enum": [
                      "user_request",
                      "autoliquidation",
                      "cancel_on_disconnect",
                      "risk_mitigation",
                      "pme_risk_reduction",
                      "pme_account_locked",
                      "position_locked",
                      "mmp_trigger",
                      "mmp_config_curtailment",
                      "edit_post_only_reject",
                      "oco_other_closed",
                      "oto_primary_closed",
                      "settlement"
                    ]
                  },
                  "oto_order_ids": {
                    "type": "object",
                    "description": "The Ids of the orders that will be triggered if the order is filled",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "trigger_fill_condition": {
                    "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                    "type": "string",
                    "enum": [
                      "first_hit",
                      "complete_fill",
                      "incremental"
                    ]
                  },
                  "oco_ref": {
                    "type": "string",
                    "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                  },
                  "primary_order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "is_secondary_oto": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                  },
                  "is_primary_otoco": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                  }
                },
                "required": [
                  "order_id",
                  "order_state",
                  "order_type",
                  "time_in_force",
                  "instrument_name",
                  "creation_timestamp",
                  "last_update_timestamp",
                  "direction",
                  "price",
                  "label",
                  "post_only",
                  "api"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "time_in_force": "good_til_cancelled",
                  "replaced": false,
                  "reduce_only": false,
                  "price": 10502.52,
                  "post_only": false,
                  "original_order_type": "market",
                  "order_type": "limit",
                  "order_state": "open",
                  "order_id": "5",
                  "max_show": 200,
                  "last_update_timestamp": 1581507423789,
                  "label": "",
                  "is_rebalance": false,
                  "is_liquidation": false,
                  "instrument_name": "BTC-PERPETUAL",
                  "filled_amount": 0,
                  "direction": "buy",
                  "creation_timestamp": 1581507423789,
                  "average_price": 0,
                  "api": false,
                  "amount": 200
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "user.orders.(instrument_name).(interval)": {
      "address": "user.orders.(instrument_name).(interval)",
      "title": "user.orders.(instrument_name).(interval) ",
      "summary": "User order updates for a specific instrument (aggregated).\n\nUse this channel to receive private order updates for the given instrument, aggregated according to `interval`.\n",
      "description": "User order updates for a specific instrument (aggregated).\n\nUse this channel to receive private order updates for the given instrument, aggregated according to `interval`.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.orders.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.orders.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.orders.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "order_state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "triggered"
                    ]
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                    "enum": [
                      "market",
                      "limit",
                      "stop_market",
                      "stop_limit",
                      "take_market",
                      "take_limit",
                      "trailing_stop"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "time_in_force": {
                    "type": "string",
                    "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                    "enum": [
                      "good_til_cancelled",
                      "good_til_day",
                      "fill_or_kill",
                      "immediate_or_cancel"
                    ]
                  },
                  "is_rebalance": {
                    "type": "boolean",
                    "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                  },
                  "is_liquidation": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "creation_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "starbase_last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "price": {
                    "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (up to 64 characters)"
                  },
                  "post_only": {
                    "type": "boolean",
                    "description": "`true` for post-only orders only"
                  },
                  "reject_post_only": {
                    "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                    "type": "boolean"
                  },
                  "reduce_only": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if created with API"
                  },
                  "web": {
                    "type": "boolean",
                    "description": "`true` if created via Deribit frontend (optional)"
                  },
                  "mobile": {
                    "type": "boolean",
                    "description": "Optional field with value `true` added only when created with Mobile Application"
                  },
                  "refresh_amount": {
                    "type": "number",
                    "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                  },
                  "display_amount": {
                    "type": "number",
                    "description": "The actual display amount of iceberg order. Absent for other types of orders."
                  },
                  "amount": {
                    "type": "number",
                    "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                  },
                  "filled_amount": {
                    "type": "number",
                    "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                  },
                  "average_price": {
                    "type": "number",
                    "description": "Average fill price of the order"
                  },
                  "advanced": {
                    "type": "string",
                    "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "implv": {
                    "type": "number",
                    "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                  },
                  "usd": {
                    "type": "number",
                    "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                  },
                  "triggered": {
                    "type": "boolean",
                    "description": "Whether the trigger order has been triggered"
                  },
                  "trigger": {
                    "type": "string",
                    "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                    "enum": [
                      "index_price",
                      "mark_price",
                      "last_price"
                    ]
                  },
                  "trigger_price": {
                    "type": "number",
                    "description": "Trigger price (Only for future trigger orders)"
                  },
                  "trigger_offset": {
                    "type": "number",
                    "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                  },
                  "trigger_reference_price": {
                    "type": "number",
                    "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                  },
                  "block_trade": {
                    "description": "`true` if order made from block_trade trade, added only in that case.",
                    "type": "boolean",
                    "example": true
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if the order is a MMP order, otherwise `false`."
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                  },
                  "replaced": {
                    "type": "boolean",
                    "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                  },
                  "auto_replaced": {
                    "type": "boolean",
                    "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                  },
                  "quote": {
                    "type": "boolean",
                    "description": "If order is a quote. Present only if true."
                  },
                  "mmp_group": {
                    "type": "string",
                    "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "trigger_order_id": {
                    "type": "string",
                    "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                    "example": "SLIB-370"
                  },
                  "combo_order_id": {
                    "type": "string",
                    "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                    "example": "103148386169"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                    "example": 103148386170
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that placed the order on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "mmp_cancelled": {
                    "type": "boolean",
                    "description": "`true` if order was cancelled by mmp trigger (optional)",
                    "example": true
                  },
                  "cancel_reason": {
                    "type": "string",
                    "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                    "enum": [
                      "user_request",
                      "autoliquidation",
                      "cancel_on_disconnect",
                      "risk_mitigation",
                      "pme_risk_reduction",
                      "pme_account_locked",
                      "position_locked",
                      "mmp_trigger",
                      "mmp_config_curtailment",
                      "edit_post_only_reject",
                      "oco_other_closed",
                      "oto_primary_closed",
                      "settlement"
                    ]
                  },
                  "oto_order_ids": {
                    "type": "object",
                    "description": "The Ids of the orders that will be triggered if the order is filled",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "trigger_fill_condition": {
                    "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                    "type": "string",
                    "enum": [
                      "first_hit",
                      "complete_fill",
                      "incremental"
                    ]
                  },
                  "oco_ref": {
                    "type": "string",
                    "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                  },
                  "primary_order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "is_secondary_oto": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                  },
                  "is_primary_otoco": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                  }
                },
                "required": [
                  "order_id",
                  "order_state",
                  "order_type",
                  "time_in_force",
                  "instrument_name",
                  "creation_timestamp",
                  "last_update_timestamp",
                  "direction",
                  "price",
                  "label",
                  "post_only",
                  "api"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "time_in_force": "good_til_cancelled",
                    "replaced": false,
                    "reduce_only": false,
                    "price": 10460.43,
                    "post_only": false,
                    "original_order_type": "market",
                    "order_type": "limit",
                    "order_state": "open",
                    "order_id": "4",
                    "max_show": 200,
                    "last_update_timestamp": 1581507159533,
                    "label": "",
                    "is_rebalance": false,
                    "is_liquidation": false,
                    "instrument_name": "BTC-PERPETUAL",
                    "filled_amount": 0,
                    "direction": "buy",
                    "creation_timestamp": 1581507159533,
                    "average_price": 0,
                    "api": false,
                    "amount": 200
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "user.orders.(kind).(currency).raw": {
      "address": "user.orders.(kind).(currency).raw",
      "title": "user.orders.(kind).(currency).raw ",
      "summary": "User order updates across all instruments for a given kind and currency (raw stream).\n\nUse this channel to receive private order updates across all matching instruments with the highest granularity (raw).\n",
      "description": "User order updates across all instruments for a given kind and currency (raw stream).\n\nUse this channel to receive private order updates across all matching instruments with the highest granularity (raw).\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.orders.(kind).(currency).raw`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.orders.(kind).(currency).raw"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.orders.(kind).(currency).raw` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "order_state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "triggered"
                    ]
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                    "enum": [
                      "market",
                      "limit",
                      "stop_market",
                      "stop_limit",
                      "take_market",
                      "take_limit",
                      "trailing_stop"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "time_in_force": {
                    "type": "string",
                    "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                    "enum": [
                      "good_til_cancelled",
                      "good_til_day",
                      "fill_or_kill",
                      "immediate_or_cancel"
                    ]
                  },
                  "is_rebalance": {
                    "type": "boolean",
                    "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                  },
                  "is_liquidation": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "creation_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "starbase_last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "price": {
                    "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (up to 64 characters)"
                  },
                  "post_only": {
                    "type": "boolean",
                    "description": "`true` for post-only orders only"
                  },
                  "reject_post_only": {
                    "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                    "type": "boolean"
                  },
                  "reduce_only": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if created with API"
                  },
                  "web": {
                    "type": "boolean",
                    "description": "`true` if created via Deribit frontend (optional)"
                  },
                  "mobile": {
                    "type": "boolean",
                    "description": "Optional field with value `true` added only when created with Mobile Application"
                  },
                  "refresh_amount": {
                    "type": "number",
                    "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                  },
                  "display_amount": {
                    "type": "number",
                    "description": "The actual display amount of iceberg order. Absent for other types of orders."
                  },
                  "amount": {
                    "type": "number",
                    "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                  },
                  "filled_amount": {
                    "type": "number",
                    "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                  },
                  "average_price": {
                    "type": "number",
                    "description": "Average fill price of the order"
                  },
                  "advanced": {
                    "type": "string",
                    "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "implv": {
                    "type": "number",
                    "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                  },
                  "usd": {
                    "type": "number",
                    "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                  },
                  "triggered": {
                    "type": "boolean",
                    "description": "Whether the trigger order has been triggered"
                  },
                  "trigger": {
                    "type": "string",
                    "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                    "enum": [
                      "index_price",
                      "mark_price",
                      "last_price"
                    ]
                  },
                  "trigger_price": {
                    "type": "number",
                    "description": "Trigger price (Only for future trigger orders)"
                  },
                  "trigger_offset": {
                    "type": "number",
                    "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                  },
                  "trigger_reference_price": {
                    "type": "number",
                    "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                  },
                  "block_trade": {
                    "description": "`true` if order made from block_trade trade, added only in that case.",
                    "type": "boolean",
                    "example": true
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if the order is a MMP order, otherwise `false`."
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                  },
                  "replaced": {
                    "type": "boolean",
                    "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                  },
                  "auto_replaced": {
                    "type": "boolean",
                    "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                  },
                  "quote": {
                    "type": "boolean",
                    "description": "If order is a quote. Present only if true."
                  },
                  "mmp_group": {
                    "type": "string",
                    "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "trigger_order_id": {
                    "type": "string",
                    "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                    "example": "SLIB-370"
                  },
                  "combo_order_id": {
                    "type": "string",
                    "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                    "example": "103148386169"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                    "example": 103148386170
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that placed the order on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "mmp_cancelled": {
                    "type": "boolean",
                    "description": "`true` if order was cancelled by mmp trigger (optional)",
                    "example": true
                  },
                  "cancel_reason": {
                    "type": "string",
                    "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                    "enum": [
                      "user_request",
                      "autoliquidation",
                      "cancel_on_disconnect",
                      "risk_mitigation",
                      "pme_risk_reduction",
                      "pme_account_locked",
                      "position_locked",
                      "mmp_trigger",
                      "mmp_config_curtailment",
                      "edit_post_only_reject",
                      "oco_other_closed",
                      "oto_primary_closed",
                      "settlement"
                    ]
                  },
                  "oto_order_ids": {
                    "type": "object",
                    "description": "The Ids of the orders that will be triggered if the order is filled",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "trigger_fill_condition": {
                    "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                    "type": "string",
                    "enum": [
                      "first_hit",
                      "complete_fill",
                      "incremental"
                    ]
                  },
                  "oco_ref": {
                    "type": "string",
                    "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                  },
                  "primary_order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "is_secondary_oto": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                  },
                  "is_primary_otoco": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                  }
                },
                "required": [
                  "order_id",
                  "order_state",
                  "order_type",
                  "time_in_force",
                  "instrument_name",
                  "creation_timestamp",
                  "last_update_timestamp",
                  "direction",
                  "price",
                  "label",
                  "post_only",
                  "api"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "time_in_force": "good_til_cancelled",
                  "replaced": false,
                  "reduce_only": false,
                  "price": 10542.68,
                  "post_only": false,
                  "original_order_type": "market",
                  "order_type": "limit",
                  "order_state": "open",
                  "order_id": "6",
                  "max_show": 200,
                  "last_update_timestamp": 1581507583024,
                  "label": "",
                  "is_rebalance": false,
                  "is_liquidation": false,
                  "instrument_name": "BTC-PERPETUAL",
                  "filled_amount": 0,
                  "direction": "buy",
                  "creation_timestamp": 1581507583024,
                  "average_price": 0,
                  "api": false,
                  "amount": 200
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "user.orders.(kind).(currency).(interval)": {
      "address": "user.orders.(kind).(currency).(interval)",
      "title": "user.orders.(kind).(currency).(interval) ",
      "summary": "User order updates across all instruments for a given kind and currency (aggregated).\n\nUse this channel to receive private order updates across all matching instruments, aggregated according to `interval`.\n",
      "description": "User order updates across all instruments for a given kind and currency (aggregated).\n\nUse this channel to receive private order updates across all matching instruments, aggregated according to `interval`.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.orders.(kind).(currency).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.orders.(kind).(currency).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.orders.(kind).(currency).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "order_state": {
                    "type": "string",
                    "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                    "enum": [
                      "open",
                      "filled",
                      "rejected",
                      "cancelled",
                      "untriggered",
                      "triggered"
                    ]
                  },
                  "order_type": {
                    "type": "string",
                    "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                    "enum": [
                      "market",
                      "limit",
                      "stop_market",
                      "stop_limit",
                      "take_market",
                      "take_limit",
                      "trailing_stop"
                    ]
                  },
                  "original_order_type": {
                    "type": "string",
                    "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                    "enum": [
                      "market",
                      "market_limit"
                    ]
                  },
                  "time_in_force": {
                    "type": "string",
                    "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                    "enum": [
                      "good_til_cancelled",
                      "good_til_day",
                      "fill_or_kill",
                      "immediate_or_cancel"
                    ]
                  },
                  "is_rebalance": {
                    "type": "boolean",
                    "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                  },
                  "is_liquidation": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "creation_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "starbase_last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277000000,
                    "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                  },
                  "starbase_client_order_id": {
                    "type": "string",
                    "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction: `buy`, or `sell`",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "price": {
                    "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label (up to 64 characters)"
                  },
                  "post_only": {
                    "type": "boolean",
                    "description": "`true` for post-only orders only"
                  },
                  "reject_post_only": {
                    "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                    "type": "boolean"
                  },
                  "reduce_only": {
                    "type": "boolean",
                    "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                  },
                  "api": {
                    "type": "boolean",
                    "description": "`true` if created with API"
                  },
                  "web": {
                    "type": "boolean",
                    "description": "`true` if created via Deribit frontend (optional)"
                  },
                  "mobile": {
                    "type": "boolean",
                    "description": "Optional field with value `true` added only when created with Mobile Application"
                  },
                  "refresh_amount": {
                    "type": "number",
                    "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                  },
                  "display_amount": {
                    "type": "number",
                    "description": "The actual display amount of iceberg order. Absent for other types of orders."
                  },
                  "amount": {
                    "type": "number",
                    "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                  },
                  "contracts": {
                    "type": "number",
                    "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                  },
                  "filled_amount": {
                    "type": "number",
                    "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                  },
                  "average_price": {
                    "type": "number",
                    "description": "Average fill price of the order"
                  },
                  "advanced": {
                    "type": "string",
                    "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                    "enum": [
                      "usd",
                      "implv"
                    ]
                  },
                  "implv": {
                    "type": "number",
                    "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                  },
                  "usd": {
                    "type": "number",
                    "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                  },
                  "triggered": {
                    "type": "boolean",
                    "description": "Whether the trigger order has been triggered"
                  },
                  "trigger": {
                    "type": "string",
                    "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                    "enum": [
                      "index_price",
                      "mark_price",
                      "last_price"
                    ]
                  },
                  "trigger_price": {
                    "type": "number",
                    "description": "Trigger price (Only for future trigger orders)"
                  },
                  "trigger_offset": {
                    "type": "number",
                    "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                  },
                  "trigger_reference_price": {
                    "type": "number",
                    "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                  },
                  "block_trade": {
                    "description": "`true` if order made from block_trade trade, added only in that case.",
                    "type": "boolean",
                    "example": true
                  },
                  "mmp": {
                    "type": "boolean",
                    "description": "`true` if the order is a MMP order, otherwise `false`."
                  },
                  "risk_reducing": {
                    "type": "boolean",
                    "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                  },
                  "replaced": {
                    "type": "boolean",
                    "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                  },
                  "auto_replaced": {
                    "type": "boolean",
                    "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                  },
                  "quote": {
                    "type": "boolean",
                    "description": "If order is a quote. Present only if true."
                  },
                  "mmp_group": {
                    "type": "string",
                    "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_set_id": {
                    "type": "string",
                    "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "quote_id": {
                    "type": "string",
                    "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                  },
                  "trigger_order_id": {
                    "type": "string",
                    "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                    "example": "SLIB-370"
                  },
                  "combo_order_id": {
                    "type": "string",
                    "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                    "example": "103148386169"
                  },
                  "starbase_order_id": {
                    "type": "integer",
                    "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                    "example": 103148386170
                  },
                  "app_name": {
                    "type": "string",
                    "description": "The name of the application that placed the order on behalf of the user (optional).",
                    "example": "Example Application"
                  },
                  "mmp_cancelled": {
                    "type": "boolean",
                    "description": "`true` if order was cancelled by mmp trigger (optional)",
                    "example": true
                  },
                  "cancel_reason": {
                    "type": "string",
                    "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                    "enum": [
                      "user_request",
                      "autoliquidation",
                      "cancel_on_disconnect",
                      "risk_mitigation",
                      "pme_risk_reduction",
                      "pme_account_locked",
                      "position_locked",
                      "mmp_trigger",
                      "mmp_config_curtailment",
                      "edit_post_only_reject",
                      "oco_other_closed",
                      "oto_primary_closed",
                      "settlement"
                    ]
                  },
                  "oto_order_ids": {
                    "type": "object",
                    "description": "The Ids of the orders that will be triggered if the order is filled",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "trigger_fill_condition": {
                    "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                    "type": "string",
                    "enum": [
                      "first_hit",
                      "complete_fill",
                      "incremental"
                    ]
                  },
                  "oco_ref": {
                    "type": "string",
                    "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                  },
                  "primary_order_id": {
                    "description": "Unique order identifier",
                    "type": "string",
                    "example": "ETH-100234"
                  },
                  "is_secondary_oto": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                  },
                  "is_primary_otoco": {
                    "type": "boolean",
                    "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                  }
                },
                "required": [
                  "order_id",
                  "order_state",
                  "order_type",
                  "time_in_force",
                  "instrument_name",
                  "creation_timestamp",
                  "last_update_timestamp",
                  "direction",
                  "price",
                  "label",
                  "post_only",
                  "api"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "time_in_force": "good_til_cancelled",
                    "reduce_only": false,
                    "price": 3928.5,
                    "post_only": false,
                    "order_type": "limit",
                    "order_state": "open",
                    "order_id": "476137",
                    "max_show": 120,
                    "last_update_timestamp": 1550826337209,
                    "label": "",
                    "is_rebalance": false,
                    "is_liquidation": false,
                    "instrument_name": "BTC-PERPETUAL",
                    "filled_amount": 0,
                    "direction": "buy",
                    "creation_timestamp": 1550826337209,
                    "average_price": 0,
                    "api": false,
                    "amount": 120
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "user.changes.(instrument_name).(interval)": {
      "address": "user.changes.(instrument_name).(interval)",
      "title": "user.changes.(instrument_name).(interval) ",
      "summary": "User change stream (orders, trades, and related updates) for a specific instrument.\n\nThis channel provides a consolidated private update stream for your account for the given instrument. Use it when you want a single feed instead of subscribing to orders and trades separately.\n",
      "description": "User change stream (orders, trades, and related updates) for a specific instrument.\n\nThis channel provides a consolidated private update stream for your account for the given instrument. Use it when you want a single feed instead of subscribing to orders and trades separately.\n",
      "parameters": {
        "instrument_name": {
          "description": "The name of the instrument"
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.changes.(instrument_name).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.changes.BTC-PERPETUAL.100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.changes.(instrument_name).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "trade_id": {
                        "type": "string",
                        "description": "Unique (per currency) trade identifier"
                      },
                      "trade_seq": {
                        "description": "The sequence number of the trade within instrument",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "timestamp": {
                        "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                        "example": 1517329113791,
                        "type": "integer"
                      },
                      "starbase_timestamp": {
                        "type": "integer",
                        "example": 1536569522277000000,
                        "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                      },
                      "starbase_order_id": {
                        "type": "integer",
                        "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                        "example": 103148386170
                      },
                      "starbase_client_order_id": {
                        "type": "string",
                        "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                      },
                      "order_type": {
                        "type": "string",
                        "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                        "enum": [
                          "limit",
                          "market",
                          "liquidation"
                        ]
                      },
                      "original_order_type": {
                        "type": "string",
                        "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                        "enum": [
                          "market",
                          "market_limit"
                        ]
                      },
                      "advanced": {
                        "type": "string",
                        "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                        "enum": [
                          "usd",
                          "implv"
                        ]
                      },
                      "order_id": {
                        "type": "string",
                        "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                      },
                      "matching_id": {
                        "type": "string",
                        "description": "Always `null`"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "tick_direction": {
                        "type": "integer",
                        "enum": [
                          0,
                          1,
                          2,
                          3
                        ],
                        "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                      },
                      "index_price": {
                        "type": "number",
                        "description": "Index Price at the moment of trade"
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "type": "number",
                        "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      },
                      "contracts": {
                        "type": "number",
                        "description": "Trade size in contract units (optional, may be absent in historical trades)"
                      },
                      "iv": {
                        "type": "number",
                        "description": "Option implied volatility for the price (Option only)"
                      },
                      "underlying_price": {
                        "type": "number",
                        "description": "Underlying price for implied volatility calculations (Options only)"
                      },
                      "liquidation": {
                        "type": "string",
                        "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                        "enum": [
                          "M",
                          "T",
                          "MT"
                        ]
                      },
                      "liquidity": {
                        "type": "string",
                        "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                        "enum": [
                          "M",
                          "T"
                        ]
                      },
                      "fee": {
                        "type": "number",
                        "description": "User's fee in units of the specified `fee_currency`"
                      },
                      "fee_currency": {
                        "type": "string",
                        "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                        "enum": [
                          "BTC",
                          "ETH",
                          "USDC",
                          "USDT",
                          "EURR"
                        ]
                      },
                      "label": {
                        "type": "string",
                        "description": "User defined label (presented only when previously set for order by user)"
                      },
                      "state": {
                        "type": "string",
                        "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                        "enum": [
                          "open",
                          "filled",
                          "rejected",
                          "cancelled",
                          "untriggered",
                          "archive"
                        ]
                      },
                      "block_trade_id": {
                        "description": "Block trade id - when trade was part of a block trade",
                        "type": "string",
                        "example": "154"
                      },
                      "block_trade_leg_count": {
                        "description": "Block trade leg count - when trade was part of a block trade",
                        "type": "integer",
                        "example": 3
                      },
                      "block_rfq_id": {
                        "type": "integer",
                        "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                      },
                      "block_rfq_quote_id": {
                        "type": "integer",
                        "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                      },
                      "reduce_only": {
                        "type": "string",
                        "description": "`true` if user order is reduce-only"
                      },
                      "post_only": {
                        "type": "string",
                        "description": "`true` if user order is post-only"
                      },
                      "mmp": {
                        "type": "boolean",
                        "description": "`true` if user order is MMP"
                      },
                      "risk_reducing": {
                        "type": "boolean",
                        "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                      },
                      "api": {
                        "type": "boolean",
                        "description": "`true` if user order was created with API"
                      },
                      "profit_loss": {
                        "type": "number",
                        "description": "Profit and loss in base currency."
                      },
                      "mark_price": {
                        "type": "number",
                        "description": "Mark Price at the moment of trade"
                      },
                      "legs": {
                        "type": "array",
                        "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                      },
                      "combo_id": {
                        "type": "string",
                        "description": "Optional field containing combo instrument name if the trade is a combo trade"
                      },
                      "combo_trade_id": {
                        "type": "string",
                        "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                      },
                      "starbase_match_id": {
                        "type": "integer",
                        "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                      },
                      "quote_set_id": {
                        "type": "string",
                        "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                      },
                      "quote_id": {
                        "type": "string",
                        "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                      },
                      "trade_allocations": {
                        "type": "object",
                        "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                        "properties": {
                          "user_id": {
                            "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                            "type": "integer"
                          },
                          "amount": {
                            "description": "Amount allocated to this user.",
                            "type": "number"
                          },
                          "fee": {
                            "description": "Fee for the allocated part of the trade.",
                            "type": "number"
                          },
                          "client_info": {
                            "description": "Optional client allocation info for brokers.",
                            "type": "object",
                            "properties": {
                              "client_id": {
                                "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                                "type": "integer"
                              },
                              "client_link_id": {
                                "description": "ID assigned to a single user in a client; available to broker.",
                                "type": "integer"
                              },
                              "name": {
                                "description": "Name of the linked user within the client; available to broker.",
                                "type": "string"
                              }
                            }
                          }
                        },
                        "required": [
                          "amount",
                          "fee"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "trade_id",
                      "trade_seq",
                      "instrument_name",
                      "timestamp",
                      "order_id",
                      "matching_id",
                      "direction",
                      "tick_direction",
                      "index_price",
                      "price",
                      "amount",
                      "fee",
                      "fee_currency",
                      "state",
                      "mark_price"
                    ],
                    "additionalProperties": false
                  },
                  "orders": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "order_id": {
                        "description": "Unique order identifier",
                        "type": "string",
                        "example": "ETH-100234"
                      },
                      "order_state": {
                        "type": "string",
                        "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                        "enum": [
                          "open",
                          "filled",
                          "rejected",
                          "cancelled",
                          "untriggered",
                          "triggered"
                        ]
                      },
                      "order_type": {
                        "type": "string",
                        "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                        "enum": [
                          "market",
                          "limit",
                          "stop_market",
                          "stop_limit",
                          "take_market",
                          "take_limit",
                          "trailing_stop"
                        ]
                      },
                      "original_order_type": {
                        "type": "string",
                        "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                        "enum": [
                          "market",
                          "market_limit"
                        ]
                      },
                      "time_in_force": {
                        "type": "string",
                        "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                        "enum": [
                          "good_til_cancelled",
                          "good_til_day",
                          "fill_or_kill",
                          "immediate_or_cancel"
                        ]
                      },
                      "is_rebalance": {
                        "type": "boolean",
                        "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                      },
                      "is_liquidation": {
                        "type": "boolean",
                        "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "creation_timestamp": {
                        "type": "integer",
                        "example": 1536569522277,
                        "description": "The timestamp (milliseconds since the Unix epoch)"
                      },
                      "last_update_timestamp": {
                        "type": "integer",
                        "example": 1536569522277,
                        "description": "The timestamp (milliseconds since the Unix epoch)"
                      },
                      "starbase_last_update_timestamp": {
                        "type": "integer",
                        "example": 1536569522277000000,
                        "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                      },
                      "starbase_client_order_id": {
                        "type": "string",
                        "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                      },
                      "label": {
                        "type": "string",
                        "description": "User defined label (up to 64 characters)"
                      },
                      "post_only": {
                        "type": "boolean",
                        "description": "`true` for post-only orders only"
                      },
                      "reject_post_only": {
                        "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                        "type": "boolean"
                      },
                      "reduce_only": {
                        "type": "boolean",
                        "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                      },
                      "api": {
                        "type": "boolean",
                        "description": "`true` if created with API"
                      },
                      "web": {
                        "type": "boolean",
                        "description": "`true` if created via Deribit frontend (optional)"
                      },
                      "mobile": {
                        "type": "boolean",
                        "description": "Optional field with value `true` added only when created with Mobile Application"
                      },
                      "refresh_amount": {
                        "type": "number",
                        "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                      },
                      "display_amount": {
                        "type": "number",
                        "description": "The actual display amount of iceberg order. Absent for other types of orders."
                      },
                      "amount": {
                        "type": "number",
                        "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      },
                      "contracts": {
                        "type": "number",
                        "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                      },
                      "filled_amount": {
                        "type": "number",
                        "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                      },
                      "average_price": {
                        "type": "number",
                        "description": "Average fill price of the order"
                      },
                      "advanced": {
                        "type": "string",
                        "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                        "enum": [
                          "usd",
                          "implv"
                        ]
                      },
                      "implv": {
                        "type": "number",
                        "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                      },
                      "usd": {
                        "type": "number",
                        "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                      },
                      "triggered": {
                        "type": "boolean",
                        "description": "Whether the trigger order has been triggered"
                      },
                      "trigger": {
                        "type": "string",
                        "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                        "enum": [
                          "index_price",
                          "mark_price",
                          "last_price"
                        ]
                      },
                      "trigger_price": {
                        "type": "number",
                        "description": "Trigger price (Only for future trigger orders)"
                      },
                      "trigger_offset": {
                        "type": "number",
                        "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                      },
                      "trigger_reference_price": {
                        "type": "number",
                        "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                      },
                      "block_trade": {
                        "description": "`true` if order made from block_trade trade, added only in that case.",
                        "type": "boolean",
                        "example": true
                      },
                      "mmp": {
                        "type": "boolean",
                        "description": "`true` if the order is a MMP order, otherwise `false`."
                      },
                      "risk_reducing": {
                        "type": "boolean",
                        "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                      },
                      "replaced": {
                        "type": "boolean",
                        "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                      },
                      "auto_replaced": {
                        "type": "boolean",
                        "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                      },
                      "quote": {
                        "type": "boolean",
                        "description": "If order is a quote. Present only if true."
                      },
                      "mmp_group": {
                        "type": "string",
                        "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "quote_set_id": {
                        "type": "string",
                        "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "quote_id": {
                        "type": "string",
                        "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "trigger_order_id": {
                        "type": "string",
                        "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                        "example": "SLIB-370"
                      },
                      "combo_order_id": {
                        "type": "string",
                        "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                        "example": "103148386169"
                      },
                      "starbase_order_id": {
                        "type": "integer",
                        "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                        "example": 103148386170
                      },
                      "app_name": {
                        "type": "string",
                        "description": "The name of the application that placed the order on behalf of the user (optional).",
                        "example": "Example Application"
                      },
                      "mmp_cancelled": {
                        "type": "boolean",
                        "description": "`true` if order was cancelled by mmp trigger (optional)",
                        "example": true
                      },
                      "cancel_reason": {
                        "type": "string",
                        "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                        "enum": [
                          "user_request",
                          "autoliquidation",
                          "cancel_on_disconnect",
                          "risk_mitigation",
                          "pme_risk_reduction",
                          "pme_account_locked",
                          "position_locked",
                          "mmp_trigger",
                          "mmp_config_curtailment",
                          "edit_post_only_reject",
                          "oco_other_closed",
                          "oto_primary_closed",
                          "settlement"
                        ]
                      },
                      "oto_order_ids": {
                        "type": "object",
                        "description": "The Ids of the orders that will be triggered if the order is filled",
                        "properties": {},
                        "additionalProperties": true
                      },
                      "trigger_fill_condition": {
                        "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                        "type": "string",
                        "enum": [
                          "first_hit",
                          "complete_fill",
                          "incremental"
                        ]
                      },
                      "oco_ref": {
                        "type": "string",
                        "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                      },
                      "primary_order_id": {
                        "description": "Unique order identifier",
                        "type": "string",
                        "example": "ETH-100234"
                      },
                      "is_secondary_oto": {
                        "type": "boolean",
                        "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                      },
                      "is_primary_otoco": {
                        "type": "boolean",
                        "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                      }
                    },
                    "required": [
                      "order_id",
                      "order_state",
                      "order_type",
                      "time_in_force",
                      "instrument_name",
                      "creation_timestamp",
                      "last_update_timestamp",
                      "direction",
                      "price",
                      "label",
                      "post_only",
                      "api"
                    ],
                    "additionalProperties": false
                  },
                  "position": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "kind": {
                        "type": "string",
                        "description": "Instrument kind: `\"future\"`, `\"option\"`, `\"spot\"`, `\"future_combo\"`, `\"option_combo\"`",
                        "enum": [
                          "future",
                          "option",
                          "spot",
                          "future_combo",
                          "option_combo"
                        ]
                      },
                      "average_price": {
                        "type": "number",
                        "description": "Average price of trades that built this position"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, `sell` or `zero`",
                        "enum": [
                          "buy",
                          "sell",
                          "zero"
                        ]
                      },
                      "mark_price": {
                        "type": "number",
                        "description": "Current mark price for position's instrument"
                      },
                      "delta": {
                        "type": "number",
                        "description": "Delta parameter"
                      },
                      "gamma": {
                        "type": "number",
                        "description": "Only for options, Gamma parameter"
                      },
                      "vega": {
                        "type": "number",
                        "description": "Only for options, Vega parameter"
                      },
                      "theta": {
                        "type": "number",
                        "description": "Only for options, Theta parameter"
                      },
                      "index_price": {
                        "type": "number",
                        "description": "Current index price"
                      },
                      "initial_margin": {
                        "type": "number",
                        "description": "Initial margin"
                      },
                      "maintenance_margin": {
                        "type": "number",
                        "description": "Maintenance margin"
                      },
                      "settlement_price": {
                        "type": "number",
                        "description": "Optional (not added for spot). Last settlement price for position's instrument 0 if instrument wasn't settled yet"
                      },
                      "total_profit_loss": {
                        "type": "number",
                        "description": "Profit or loss from position"
                      },
                      "floating_profit_loss": {
                        "type": "number",
                        "description": "Floating profit or loss"
                      },
                      "realized_profit_loss": {
                        "type": "number",
                        "description": "Realized profit or loss"
                      },
                      "size": {
                        "type": "number",
                        "description": "Position size for futures size in quote currency (e.g. USD), for options size is in base currency (e.g. BTC)"
                      },
                      "size_currency": {
                        "type": "number",
                        "description": "Only for futures, position size in base currency"
                      },
                      "average_price_usd": {
                        "type": "number",
                        "description": "Only for options, average price in USD"
                      },
                      "floating_profit_loss_usd": {
                        "type": "number",
                        "description": "Only for options, floating profit or loss in USD"
                      },
                      "leverage": {
                        "type": "integer",
                        "description": "Current available leverage for future position"
                      },
                      "realized_funding": {
                        "type": "number",
                        "description": "Realized Funding in current session included in session realized profit or loss, only for positions of perpetual instruments"
                      },
                      "interest_value": {
                        "type": "number",
                        "description": "Value used to calculate `realized_funding` (perpetual only)"
                      }
                    },
                    "required": [
                      "instrument_name",
                      "kind",
                      "average_price",
                      "direction",
                      "mark_price",
                      "delta",
                      "index_price",
                      "initial_margin",
                      "maintenance_margin",
                      "settlement_price",
                      "total_profit_loss",
                      "floating_profit_loss",
                      "realized_profit_loss",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "trades": [
                    {
                      "trade_seq": 866638,
                      "trade_id": "1430914",
                      "timestamp": 1605780344032,
                      "tick_direction": 1,
                      "state": "filled",
                      "reduce_only": false,
                      "profit_loss": 0.00004898,
                      "price": 17391,
                      "post_only": false,
                      "order_type": "market",
                      "order_id": "3398016",
                      "matching_id": null,
                      "mark_price": 17391,
                      "liquidity": "T",
                      "instrument_name": "BTC-PERPETUAL",
                      "index_price": 17501.88,
                      "fee_currency": "BTC",
                      "fee": 1.6e-7,
                      "direction": "sell",
                      "amount": 10
                    }
                  ],
                  "positions": [
                    {
                      "total_profit_loss": 1.69711368,
                      "size_currency": 10.646886321,
                      "size": 185160,
                      "settlement_price": 16025.83,
                      "realized_profit_loss": 0.012454598,
                      "realized_funding": 0.01235663,
                      "mark_price": 17391,
                      "maintenance_margin": 0.234575865,
                      "leverage": 33,
                      "kind": "future",
                      "interest_value": 1.7362511643080387,
                      "instrument_name": "BTC-PERPETUAL",
                      "initial_margin": 0.319750953,
                      "index_price": 17501.88,
                      "floating_profit_loss": 0.906961435,
                      "direction": "buy",
                      "delta": 10.646886321,
                      "average_price": 15000
                    }
                  ],
                  "orders": [
                    {
                      "web": true,
                      "time_in_force": "good_til_cancelled",
                      "replaced": false,
                      "reduce_only": false,
                      "price": 15665.5,
                      "post_only": false,
                      "order_type": "market",
                      "order_state": "filled",
                      "order_id": "3398016",
                      "max_show": 10,
                      "last_update_timestamp": 1605780344032,
                      "label": "",
                      "is_rebalance": false,
                      "is_liquidation": false,
                      "instrument_name": "BTC-PERPETUAL",
                      "filled_amount": 10,
                      "direction": "sell",
                      "creation_timestamp": 1605780344032,
                      "average_price": 17391,
                      "api": false,
                      "amount": 10
                    }
                  ],
                  "instrument_name": "BTC-PERPETUAL"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.changes.(kind).(currency).(interval)": {
      "address": "user.changes.(kind).(currency).(interval)",
      "title": "user.changes.(kind).(currency).(interval) ",
      "summary": "User change stream (orders, trades, and related updates) across all instruments for a given kind and currency.\n\nThis channel provides a consolidated private update stream for your account across all matching instruments. Use it when you want a single feed instead of subscribing to orders and trades separately.\n",
      "description": "User change stream (orders, trades, and related updates) across all instruments for a given kind and currency.\n\nThis channel provides a consolidated private update stream for your account across all matching instruments. Use it when you want a single feed instead of subscribing to orders and trades separately.\n",
      "parameters": {
        "kind": {
          "description": "Instrument kind\n\n**Allowed values:** `future`, `option`, `spot`, `future_combo`, `option_combo`",
          "enum": [
            "future",
            "option",
            "spot",
            "future_combo",
            "option_combo"
          ]
        },
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        },
        "interval": {
          "description": "Frequency of notifications. Events will be aggregated over this interval. The value `raw` selects the finest granularity - events are aggregated over a 1 millisecond interval **(Please note that `raw` interval is only available to authorized users)**\n\n**Allowed values:** `raw`, `100ms`, `agg2`",
          "enum": [
            "raw",
            "100ms",
            "agg2"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to user channel. Channel name format: `user.changes.(kind).(currency).(interval)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.changes.(kind).(currency).100ms"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.changes.(kind).(currency).(interval)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "trade_id": {
                        "type": "string",
                        "description": "Unique (per currency) trade identifier"
                      },
                      "trade_seq": {
                        "description": "The sequence number of the trade within instrument",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "timestamp": {
                        "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                        "example": 1517329113791,
                        "type": "integer"
                      },
                      "starbase_timestamp": {
                        "type": "integer",
                        "example": 1536569522277000000,
                        "description": "The Starbase causal timestamp of the trade (nanoseconds since the Unix epoch)"
                      },
                      "starbase_order_id": {
                        "type": "integer",
                        "description": "Raw Starbase order id of the user's order, in Starbase's own (non currency-prefixed) id namespace (present only for trades matched in Starbase)",
                        "example": 103148386170
                      },
                      "starbase_client_order_id": {
                        "type": "string",
                        "description": "Client order id of the user's own order (maker or taker side) submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API; for self-trades this is the taker order's client order id"
                      },
                      "order_type": {
                        "type": "string",
                        "description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`",
                        "enum": [
                          "limit",
                          "market",
                          "liquidation"
                        ]
                      },
                      "original_order_type": {
                        "type": "string",
                        "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                        "enum": [
                          "market",
                          "market_limit"
                        ]
                      },
                      "advanced": {
                        "type": "string",
                        "description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)",
                        "enum": [
                          "usd",
                          "implv"
                        ]
                      },
                      "order_id": {
                        "type": "string",
                        "description": "Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade"
                      },
                      "matching_id": {
                        "type": "string",
                        "description": "Always `null`"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "tick_direction": {
                        "type": "integer",
                        "enum": [
                          0,
                          1,
                          2,
                          3
                        ],
                        "description": "Direction of the \"tick\" (`0` = Plus Tick, `1` = Zero-Plus Tick, `2` = Minus Tick, `3` = Zero-Minus Tick)."
                      },
                      "index_price": {
                        "type": "number",
                        "description": "Index Price at the moment of trade"
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "type": "number",
                        "description": "Trade amount. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      },
                      "contracts": {
                        "type": "number",
                        "description": "Trade size in contract units (optional, may be absent in historical trades)"
                      },
                      "iv": {
                        "type": "number",
                        "description": "Option implied volatility for the price (Option only)"
                      },
                      "underlying_price": {
                        "type": "number",
                        "description": "Underlying price for implied volatility calculations (Options only)"
                      },
                      "liquidation": {
                        "type": "string",
                        "description": "Optional field (only for trades caused by liquidation): `\"M\"` when maker side of trade was under liquidation, `\"T\"` when taker side was under liquidation, `\"MT\"` when both sides of trade were under liquidation",
                        "enum": [
                          "M",
                          "T",
                          "MT"
                        ]
                      },
                      "liquidity": {
                        "type": "string",
                        "description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order",
                        "enum": [
                          "M",
                          "T"
                        ]
                      },
                      "fee": {
                        "type": "number",
                        "description": "User's fee in units of the specified `fee_currency`"
                      },
                      "fee_currency": {
                        "type": "string",
                        "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                        "enum": [
                          "BTC",
                          "ETH",
                          "USDC",
                          "USDT",
                          "EURR"
                        ]
                      },
                      "label": {
                        "type": "string",
                        "description": "User defined label (presented only when previously set for order by user)"
                      },
                      "state": {
                        "type": "string",
                        "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"` or `\"archive\"` (if order was archived)",
                        "enum": [
                          "open",
                          "filled",
                          "rejected",
                          "cancelled",
                          "untriggered",
                          "archive"
                        ]
                      },
                      "block_trade_id": {
                        "description": "Block trade id - when trade was part of a block trade",
                        "type": "string",
                        "example": "154"
                      },
                      "block_trade_leg_count": {
                        "description": "Block trade leg count - when trade was part of a block trade",
                        "type": "integer",
                        "example": 3
                      },
                      "block_rfq_id": {
                        "type": "integer",
                        "description": "ID of the Block RFQ - when trade was part of the Block RFQ"
                      },
                      "block_rfq_quote_id": {
                        "type": "integer",
                        "description": "ID of the Block RFQ quote - when trade was part of the Block RFQ"
                      },
                      "reduce_only": {
                        "type": "string",
                        "description": "`true` if user order is reduce-only"
                      },
                      "post_only": {
                        "type": "string",
                        "description": "`true` if user order is post-only"
                      },
                      "mmp": {
                        "type": "boolean",
                        "description": "`true` if user order is MMP"
                      },
                      "risk_reducing": {
                        "type": "boolean",
                        "description": "`true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)"
                      },
                      "api": {
                        "type": "boolean",
                        "description": "`true` if user order was created with API"
                      },
                      "profit_loss": {
                        "type": "number",
                        "description": "Profit and loss in base currency."
                      },
                      "mark_price": {
                        "type": "number",
                        "description": "Mark Price at the moment of trade"
                      },
                      "legs": {
                        "type": "array",
                        "description": "Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events). Each leg trade has the same fields as a top-level user trade, including `starbase_match_id`, `starbase_order_id`, and `starbase_timestamp` when matched in Starbase, and `starbase_client_order_id` for orders submitted via [Starbase](https://docs.deribit.com/starbase/overview) direct access."
                      },
                      "combo_id": {
                        "type": "string",
                        "description": "Optional field containing combo instrument name if the trade is a combo trade"
                      },
                      "combo_trade_id": {
                        "type": "string",
                        "description": "Optional field containing combo trade identifier if the trade is a combo trade"
                      },
                      "starbase_match_id": {
                        "type": "integer",
                        "description": "Optional field containing the Starbase match identifier (present only for trades matched via Starbase)"
                      },
                      "quote_set_id": {
                        "type": "string",
                        "description": "QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`)"
                      },
                      "quote_id": {
                        "type": "string",
                        "description": "QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`)"
                      },
                      "trade_allocations": {
                        "type": "object",
                        "description": "List of allocations for Block RFQ pre-allocation. Each allocation specifies `user_id`, `amount`, and `fee` for the allocated part of the trade. For broker client allocations, a `client_info` object will be included.",
                        "properties": {
                          "user_id": {
                            "description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed.",
                            "type": "integer"
                          },
                          "amount": {
                            "description": "Amount allocated to this user.",
                            "type": "number"
                          },
                          "fee": {
                            "description": "Fee for the allocated part of the trade.",
                            "type": "number"
                          },
                          "client_info": {
                            "description": "Optional client allocation info for brokers.",
                            "type": "object",
                            "properties": {
                              "client_id": {
                                "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                                "type": "integer"
                              },
                              "client_link_id": {
                                "description": "ID assigned to a single user in a client; available to broker.",
                                "type": "integer"
                              },
                              "name": {
                                "description": "Name of the linked user within the client; available to broker.",
                                "type": "string"
                              }
                            }
                          }
                        },
                        "required": [
                          "amount",
                          "fee"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "trade_id",
                      "trade_seq",
                      "instrument_name",
                      "timestamp",
                      "order_id",
                      "matching_id",
                      "direction",
                      "tick_direction",
                      "index_price",
                      "price",
                      "amount",
                      "fee",
                      "fee_currency",
                      "state",
                      "mark_price"
                    ],
                    "additionalProperties": false
                  },
                  "orders": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "order_id": {
                        "description": "Unique order identifier",
                        "type": "string",
                        "example": "ETH-100234"
                      },
                      "order_state": {
                        "type": "string",
                        "description": "Order state: `\"open\"`, `\"filled\"`, `\"rejected\"`, `\"cancelled\"`, `\"untriggered\"`",
                        "enum": [
                          "open",
                          "filled",
                          "rejected",
                          "cancelled",
                          "untriggered",
                          "triggered"
                        ]
                      },
                      "order_type": {
                        "type": "string",
                        "description": "Order type: `\"limit\"`, `\"market\"`, `\"stop_limit\"`, `\"stop_market\"`, `\"take_limit\"`, `\"take_market\"`, `\"trailing_stop\"`",
                        "enum": [
                          "market",
                          "limit",
                          "stop_market",
                          "stop_limit",
                          "take_market",
                          "take_limit",
                          "trailing_stop"
                        ]
                      },
                      "original_order_type": {
                        "type": "string",
                        "description": "Original API order type when an order is represented internally as a limit order. For example, Starbase market orders use `\"limit\"` as `order_type` with `\"market\"` in this optional field.",
                        "enum": [
                          "market",
                          "market_limit"
                        ]
                      },
                      "time_in_force": {
                        "type": "string",
                        "description": "Order time in force: `\"good_til_cancelled\"`, `\"good_til_day\"`, `\"fill_or_kill\"` or `\"immediate_or_cancel\"`",
                        "enum": [
                          "good_til_cancelled",
                          "good_til_day",
                          "fill_or_kill",
                          "immediate_or_cancel"
                        ]
                      },
                      "is_rebalance": {
                        "type": "boolean",
                        "description": "Optional (only for spot). `true` if order was automatically created during cross-collateral balance restoration"
                      },
                      "is_liquidation": {
                        "type": "boolean",
                        "description": "Optional (not added for spot). `true` if order was automatically created during liquidation"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "creation_timestamp": {
                        "type": "integer",
                        "example": 1536569522277,
                        "description": "The timestamp (milliseconds since the Unix epoch)"
                      },
                      "last_update_timestamp": {
                        "type": "integer",
                        "example": 1536569522277,
                        "description": "The timestamp (milliseconds since the Unix epoch)"
                      },
                      "starbase_last_update_timestamp": {
                        "type": "integer",
                        "example": 1536569522277000000,
                        "description": "The Starbase causal timestamp (nanoseconds since the Unix epoch) of the last book update that affected this order. Present only for orders placed in Starbase, including combo leg order updates; not always available for direct access orders"
                      },
                      "starbase_client_order_id": {
                        "type": "string",
                        "description": "Client order id of an order submitted directly to [Starbase](https://docs.deribit.com/starbase/overview) via direct access; not returned for orders placed through the Deribit API (combo legs inherit the parent combo order's client order id)"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency or \"market_price\" in case of open trigger market orders"
                      },
                      "label": {
                        "type": "string",
                        "description": "User defined label (up to 64 characters)"
                      },
                      "post_only": {
                        "type": "boolean",
                        "description": "`true` for post-only orders only"
                      },
                      "reject_post_only": {
                        "description": "`true` if order has `reject_post_only` flag (field is present only when `post_only` is `true`)",
                        "type": "boolean"
                      },
                      "reduce_only": {
                        "type": "boolean",
                        "description": "Optional (not added for spot). '`true` for reduce-only orders only'"
                      },
                      "api": {
                        "type": "boolean",
                        "description": "`true` if created with API"
                      },
                      "web": {
                        "type": "boolean",
                        "description": "`true` if created via Deribit frontend (optional)"
                      },
                      "mobile": {
                        "type": "boolean",
                        "description": "Optional field with value `true` added only when created with Mobile Application"
                      },
                      "refresh_amount": {
                        "type": "number",
                        "description": "The initial display amount of iceberg order. Iceberg order display amount will be refreshed to that value after match consuming actual display amount. Absent for other types of orders"
                      },
                      "display_amount": {
                        "type": "number",
                        "description": "The actual display amount of iceberg order. Absent for other types of orders."
                      },
                      "amount": {
                        "type": "number",
                        "description": "It represents the requested order size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin."
                      },
                      "contracts": {
                        "type": "number",
                        "description": "It represents the order size in contract units. (Optional, may be absent in historical data)."
                      },
                      "filled_amount": {
                        "type": "number",
                        "description": "Filled amount of the order. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                      },
                      "average_price": {
                        "type": "number",
                        "description": "Average fill price of the order"
                      },
                      "advanced": {
                        "type": "string",
                        "description": "advanced type: `\"usd\"` or `\"implv\"` (Only for options; field is omitted if not applicable).\n",
                        "enum": [
                          "usd",
                          "implv"
                        ]
                      },
                      "implv": {
                        "type": "number",
                        "description": "Implied volatility in percent. (Only if `advanced=\"implv\"`)"
                      },
                      "usd": {
                        "type": "number",
                        "description": "Option price in USD (Only if `advanced=\"usd\"`)"
                      },
                      "triggered": {
                        "type": "boolean",
                        "description": "Whether the trigger order has been triggered"
                      },
                      "trigger": {
                        "type": "string",
                        "description": "Trigger type (only for trigger orders). Allowed values: `\"index_price\"`, `\"mark_price\"`, `\"last_price\"`.",
                        "enum": [
                          "index_price",
                          "mark_price",
                          "last_price"
                        ]
                      },
                      "trigger_price": {
                        "type": "number",
                        "description": "Trigger price (Only for future trigger orders)"
                      },
                      "trigger_offset": {
                        "type": "number",
                        "description": "The maximum deviation from the price peak beyond which the order will be triggered (Only for trailing trigger orders)"
                      },
                      "trigger_reference_price": {
                        "type": "number",
                        "description": "The price of the given trigger at the time when the order was placed (Only for trailing trigger orders)"
                      },
                      "block_trade": {
                        "description": "`true` if order made from block_trade trade, added only in that case.",
                        "type": "boolean",
                        "example": true
                      },
                      "mmp": {
                        "type": "boolean",
                        "description": "`true` if the order is a MMP order, otherwise `false`."
                      },
                      "risk_reducing": {
                        "type": "boolean",
                        "description": "`true` if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users), otherwise `false`."
                      },
                      "replaced": {
                        "type": "boolean",
                        "description": "`true` if the order was edited (by user or - in case of advanced options orders - by pricing engine), otherwise `false`."
                      },
                      "auto_replaced": {
                        "type": "boolean",
                        "description": "Options, advanced orders only - `true` if last modification of the order was performed by the pricing engine, otherwise `false`."
                      },
                      "quote": {
                        "type": "boolean",
                        "description": "If order is a quote. Present only if true."
                      },
                      "mmp_group": {
                        "type": "string",
                        "description": "Name of the MMP group supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "quote_set_id": {
                        "type": "string",
                        "description": "Identifier of the QuoteSet supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "quote_id": {
                        "type": "string",
                        "description": "The same QuoteID as supplied in the `private/mass_quote` request. Only present for quote orders."
                      },
                      "trigger_order_id": {
                        "type": "string",
                        "description": "Id of the trigger order that created the order (Only for orders that were created by triggered orders).",
                        "example": "SLIB-370"
                      },
                      "combo_order_id": {
                        "type": "string",
                        "description": "Id of the combo order that created this order (only present for orders that were created as legs of a combo order).",
                        "example": "103148386169"
                      },
                      "starbase_order_id": {
                        "type": "integer",
                        "description": "Raw Starbase order id, in Starbase's own (non currency-prefixed) id namespace. Only present for orders placed in Starbase. Combo leg orders expose the parent combo order's Starbase order id.",
                        "example": 103148386170
                      },
                      "app_name": {
                        "type": "string",
                        "description": "The name of the application that placed the order on behalf of the user (optional).",
                        "example": "Example Application"
                      },
                      "mmp_cancelled": {
                        "type": "boolean",
                        "description": "`true` if order was cancelled by mmp trigger (optional)",
                        "example": true
                      },
                      "cancel_reason": {
                        "type": "string",
                        "description": "Enumerated reason behind cancel `\"user_request\"`, `\"autoliquidation\"`, `\"cancel_on_disconnect\"`, `\"risk_mitigation\"`, `\"pme_risk_reduction\"` (portfolio margining risk reduction), `\"pme_account_locked\"` (portfolio margining account locked per currency), `\"position_locked\"`, `\"mmp_trigger\"` (market maker protection), `\"mmp_config_curtailment\"` (market maker configured quantity decreased), `\"edit_post_only_reject\"` (cancelled on edit because of `reject_post_only` setting), `\"oco_other_closed\"` (the oco order linked to this order was closed), `\"oto_primary_closed\"` (the oto primary order that was going to trigger this order was cancelled), `\"settlement\"` (closed because of a settlement event, e.g. good-til-day orders are cancelled when an instrument enters the daily settlement). Note: orders cancelled because an instrument expired (delivery) currently do not include a `cancel_reason` field.",
                        "enum": [
                          "user_request",
                          "autoliquidation",
                          "cancel_on_disconnect",
                          "risk_mitigation",
                          "pme_risk_reduction",
                          "pme_account_locked",
                          "position_locked",
                          "mmp_trigger",
                          "mmp_config_curtailment",
                          "edit_post_only_reject",
                          "oco_other_closed",
                          "oto_primary_closed",
                          "settlement"
                        ]
                      },
                      "oto_order_ids": {
                        "type": "object",
                        "description": "The Ids of the orders that will be triggered if the order is filled",
                        "properties": {},
                        "additionalProperties": true
                      },
                      "trigger_fill_condition": {
                        "description": "<p>The fill condition of the linked order (Only for linked order types), default: `first_hit`.</p> <ul> <li>`\"first_hit\"` - any execution of the primary order will fully cancel/place all secondary orders.</li> <li>`\"complete_fill\"` - a complete execution (meaning the primary order no longer exists) will cancel/place the secondary orders.</li> <li>`\"incremental\"` - any fill of the primary order will cause proportional partial cancellation/placement of the secondary order. The amount that will be subtracted/added to the secondary order will be rounded down to the contract size.</li> </ul>",
                        "type": "string",
                        "enum": [
                          "first_hit",
                          "complete_fill",
                          "incremental"
                        ]
                      },
                      "oco_ref": {
                        "type": "string",
                        "description": "Unique reference that identifies a one_cancels_others (OCO) pair."
                      },
                      "primary_order_id": {
                        "description": "Unique order identifier",
                        "type": "string",
                        "example": "ETH-100234"
                      },
                      "is_secondary_oto": {
                        "type": "boolean",
                        "description": "`true` if the order is an order that can be triggered by another order, otherwise not present."
                      },
                      "is_primary_otoco": {
                        "type": "boolean",
                        "description": "`true` if the order is an order that can trigger an OCO pair, otherwise not present."
                      }
                    },
                    "required": [
                      "order_id",
                      "order_state",
                      "order_type",
                      "time_in_force",
                      "instrument_name",
                      "creation_timestamp",
                      "last_update_timestamp",
                      "direction",
                      "price",
                      "label",
                      "post_only",
                      "api"
                    ],
                    "additionalProperties": false
                  },
                  "position": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "kind": {
                        "type": "string",
                        "description": "Instrument kind: `\"future\"`, `\"option\"`, `\"spot\"`, `\"future_combo\"`, `\"option_combo\"`",
                        "enum": [
                          "future",
                          "option",
                          "spot",
                          "future_combo",
                          "option_combo"
                        ]
                      },
                      "average_price": {
                        "type": "number",
                        "description": "Average price of trades that built this position"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, `sell` or `zero`",
                        "enum": [
                          "buy",
                          "sell",
                          "zero"
                        ]
                      },
                      "mark_price": {
                        "type": "number",
                        "description": "Current mark price for position's instrument"
                      },
                      "delta": {
                        "type": "number",
                        "description": "Delta parameter"
                      },
                      "gamma": {
                        "type": "number",
                        "description": "Only for options, Gamma parameter"
                      },
                      "vega": {
                        "type": "number",
                        "description": "Only for options, Vega parameter"
                      },
                      "theta": {
                        "type": "number",
                        "description": "Only for options, Theta parameter"
                      },
                      "index_price": {
                        "type": "number",
                        "description": "Current index price"
                      },
                      "initial_margin": {
                        "type": "number",
                        "description": "Initial margin"
                      },
                      "maintenance_margin": {
                        "type": "number",
                        "description": "Maintenance margin"
                      },
                      "settlement_price": {
                        "type": "number",
                        "description": "Optional (not added for spot). Last settlement price for position's instrument 0 if instrument wasn't settled yet"
                      },
                      "total_profit_loss": {
                        "type": "number",
                        "description": "Profit or loss from position"
                      },
                      "floating_profit_loss": {
                        "type": "number",
                        "description": "Floating profit or loss"
                      },
                      "realized_profit_loss": {
                        "type": "number",
                        "description": "Realized profit or loss"
                      },
                      "size": {
                        "type": "number",
                        "description": "Position size for futures size in quote currency (e.g. USD), for options size is in base currency (e.g. BTC)"
                      },
                      "size_currency": {
                        "type": "number",
                        "description": "Only for futures, position size in base currency"
                      },
                      "average_price_usd": {
                        "type": "number",
                        "description": "Only for options, average price in USD"
                      },
                      "floating_profit_loss_usd": {
                        "type": "number",
                        "description": "Only for options, floating profit or loss in USD"
                      },
                      "leverage": {
                        "type": "integer",
                        "description": "Current available leverage for future position"
                      },
                      "realized_funding": {
                        "type": "number",
                        "description": "Realized Funding in current session included in session realized profit or loss, only for positions of perpetual instruments"
                      },
                      "interest_value": {
                        "type": "number",
                        "description": "Value used to calculate `realized_funding` (perpetual only)"
                      }
                    },
                    "required": [
                      "instrument_name",
                      "kind",
                      "average_price",
                      "direction",
                      "mark_price",
                      "delta",
                      "index_price",
                      "initial_margin",
                      "maintenance_margin",
                      "settlement_price",
                      "total_profit_loss",
                      "floating_profit_loss",
                      "realized_profit_loss",
                      "size"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "trades": [
                    {
                      "trade_seq": 866638,
                      "trade_id": "1430914",
                      "timestamp": 1605780344032,
                      "tick_direction": 1,
                      "state": "filled",
                      "reduce_only": false,
                      "profit_loss": 0.00004898,
                      "price": 17391,
                      "post_only": false,
                      "order_type": "market",
                      "order_id": "3398016",
                      "matching_id": null,
                      "mark_price": 17391,
                      "liquidity": "T",
                      "instrument_name": "BTC-PERPETUAL",
                      "index_price": 17501.88,
                      "fee_currency": "BTC",
                      "fee": 1.6e-7,
                      "direction": "sell",
                      "amount": 10
                    }
                  ],
                  "positions": [
                    {
                      "total_profit_loss": 1.69711368,
                      "size_currency": 10.646886321,
                      "size": 185160,
                      "settlement_price": 16025.83,
                      "realized_profit_loss": 0.012454598,
                      "realized_funding": 0.01235663,
                      "mark_price": 17391,
                      "maintenance_margin": 0.234575865,
                      "leverage": 33,
                      "kind": "future",
                      "interest_value": 1.7362511643080387,
                      "instrument_name": "BTC-PERPETUAL",
                      "initial_margin": 0.319750953,
                      "index_price": 17501.88,
                      "floating_profit_loss": 0.906961435,
                      "direction": "buy",
                      "delta": 10.646886321,
                      "average_price": 15000
                    }
                  ],
                  "orders": [
                    {
                      "web": true,
                      "time_in_force": "good_til_cancelled",
                      "replaced": false,
                      "reduce_only": false,
                      "price": 15665.5,
                      "post_only": false,
                      "order_type": "market",
                      "order_state": "filled",
                      "order_id": "3398016",
                      "max_show": 10,
                      "last_update_timestamp": 1605780344032,
                      "label": "",
                      "is_rebalance": false,
                      "is_liquidation": false,
                      "instrument_name": "BTC-PERPETUAL",
                      "filled_amount": 10,
                      "direction": "sell",
                      "creation_timestamp": 1605780344032,
                      "average_price": 17391,
                      "api": false,
                      "amount": 10
                    }
                  ],
                  "instrument_name": "BTC-PERPETUAL"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.access_log": {
      "address": "user.access_log",
      "title": "user.access_log ",
      "summary": "Security event notifications for the account.\n\nUse this channel to monitor account-related security events (e.g., access log entries) and build alerting around suspicious activity.\n",
      "description": "Security event notifications for the account.\n\nUse this channel to monitor account-related security events (e.g., access log entries) and build alerting around suspicious activity.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `user.access_log` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.access_log"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.access_log` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "id": {
                    "description": "Unique identifier",
                    "type": "integer",
                    "example": 5967413
                  },
                  "ip": {
                    "type": "string",
                    "description": "IP address of source that generated action"
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  },
                  "country": {
                    "type": "string",
                    "description": "Country where the IP address is registered (estimated)"
                  },
                  "city": {
                    "type": "string",
                    "description": "City where the IP address is registered (estimated)"
                  },
                  "log": {
                    "type": "string",
                    "description": "Action description. Possible values:\n\n- ``changed_email`` - email was changed\n- ``changed_password`` - password was changed\n- ``disabled_tfa`` - TFA was disabled\n- ``enabled_tfa`` - TFA was enabled\n- ``success`` - successful login\n- ``failure`` - login failure\n- ``enabled_subaccount_login`` - login was enabled for subaccount (in `data` - subaccount uid)\n- ``disabled_subaccount_login`` - login was disabled for subaccount (in `data` - subaccount uid)\n- ``new_api_key`` - API key was created (in `data` key client id)\n- ``removed_api_key`` - API key was removed (in `data` key client id)\n- ``changed_scope`` - scope of API key was changed (in `data` key client id)\n- ``changed_whitelist`` - whitelist of API key was edited (in `data` key client id)\n- ``disabled_api_key`` - API key was disabled (in `data` key client id)\n- ``enabled_api_key`` - API key was enabled (in `data` key client id)\n- ``reset_api_key`` - API key was reset (in `data` key client id)\n"
                  },
                  "data": {
                    "oneOf": [
                      {
                        "type": "object"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "description": "Optional, additional information about action, type depends on `log` value"
                  }
                },
                "required": [
                  "id",
                  "ip",
                  "timestamp",
                  "country",
                  "city",
                  "log"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "timestamp": 1632488963633,
                  "log": "success",
                  "ip": "8.9.10.11",
                  "id": 243343,
                  "country": "China",
                  "city": "Pekin"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.lock": {
      "address": "user.lock",
      "title": "user.lock ",
      "summary": "Notifications when the account is locked or unlocked.\n\nUse this channel to react to account lock events (e.g., pause trading workflows) and to detect when access is restored.\n",
      "description": "Notifications when the account is locked or unlocked.\n\nUse this channel to react to account lock events (e.g., pause trading workflows) and to detect when access is restored.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `user.lock` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.lock"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.lock` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "currency": {
                    "type": "string",
                    "description": "Currency on which account lock has changed, `ALL` if changed for all currencies",
                    "example": "BTC, ALL"
                  },
                  "locked": {
                    "type": "boolean",
                    "description": "Value is set to 'true' when user account is locked in currency",
                    "example": false
                  }
                },
                "required": [
                  "currency",
                  "locked"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "locked": true,
                  "currency": "ALL"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.liquidation": {
      "address": "user.liquidation",
      "title": "user.liquidation ",
      "summary": "Notifications about the authenticated account's own liquidation, auto-deleveraging (ADL), and LSP (Liquidity Support Program) activity — both as the account being liquidated/deleveraged and, for ADL, as a counterparty receiving a deleveraged position.\n\nThis includes the liquidated account's own transfer events (`lsp_transfer`, `adl_transfer`) as well as `adl_transfer_received` for any account that absorbs a position via ADL. See `user.lsp` for the additional notifications sent to the LSP participant *receiving* an assigned position (enable/disable and configuration changes).\n\nEvery notification includes a `state` field identifying the stage of the process — see the notification schema for the full list of states and which fields accompany each.\n",
      "description": "Notifications about the authenticated account's own liquidation, auto-deleveraging (ADL), and LSP (Liquidity Support Program) activity — both as the account being liquidated/deleveraged and, for ADL, as a counterparty receiving a deleveraged position.\n\nThis includes the liquidated account's own transfer events (`lsp_transfer`, `adl_transfer`) as well as `adl_transfer_received` for any account that absorbs a position via ADL. See `user.lsp` for the additional notifications sent to the LSP participant *receiving* an assigned position (enable/disable and configuration changes).\n\nEvery notification includes a `state` field identifying the stage of the process — see the notification schema for the full list of states and which fields accompany each.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `user.liquidation` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.liquidation"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.liquidation` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "description": "The stage of the liquidation/ADL/LSP process this notification represents:\n- `liquidation_started` / `liquidation_completed`: The standard (order-book) liquidation process has started or completed for this account.\n- `close_out_liquidation_started` / `close_out_liquidation_completed`: The LSP/ADL close-out process has started or completed for this account. An account can go through this pair, the `liquidation_started`/`liquidation_completed` pair, or both in sequence (e.g. LSP/ADL close-out first, handed off to standard liquidation if it can't fully resolve the breach).\n- `lsp_transfer`: A position was transferred off this account to an LSP participant. Sent to the liquidated (source) account — see the `user.lsp` channel for the notification sent to the receiving participant.\n- `adl_transfer`: A position was auto-deleveraged off this account. Sent to the account being deleveraged (source).\n- `adl_transfer_received`: A position was auto-deleveraged onto this account from a counterparty. Sent to the receiving (counterparty) account.\n",
                    "enum": [
                      "liquidation_started",
                      "liquidation_completed",
                      "close_out_liquidation_started",
                      "close_out_liquidation_completed",
                      "lsp_transfer",
                      "adl_transfer",
                      "adl_transfer_received"
                    ]
                  },
                  "user_id": {
                    "description": "Unique user identifier",
                    "type": "integer",
                    "example": 57874
                  },
                  "isolated": {
                    "type": "boolean",
                    "description": "Present and `true` only when this event applies to an isolated-margin subaccount."
                  },
                  "currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "margin_balance": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "maintenance_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "initial_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "close_out_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "equity": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. This account's own resulting position side.",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "amount": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`."
                  },
                  "price": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. The transfer price applied."
                  },
                  "commission": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. The commission charged (on `lsp_transfer`/`adl_transfer`) or this account's share of the commission (on `adl_transfer_received`; `0` for an intra-account subaccount ADL move)."
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  }
                },
                "required": [
                  "state",
                  "user_id",
                  "timestamp"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "state": "lsp_transfer",
                  "user_id": 7,
                  "instrument_name": "BTC-PERPETUAL",
                  "direction": "sell",
                  "amount": 5000,
                  "price": 63481.75,
                  "currency": "BTC",
                  "commission": 1.25,
                  "timestamp": 1750000400000
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.isolated.liquidation": {
      "address": "user.isolated.liquidation",
      "title": "user.isolated.liquidation ",
      "summary": "Lets a **main** account observe the liquidation, ADL, and LSP activity of all of its **isolated-margin subaccounts**, without subscribing to each subaccount's own `user.liquidation` channel individually.\n\nEvery event on this channel is a fan-out copy of an event also delivered on the affected subaccount's own `user.liquidation` channel — the payload is identical, including `isolated: true` and the subaccount's `user_id`. The main account's *own* liquidation activity is never delivered here; it stays on the main account's regular `user.liquidation` channel.\n\nRequires the `account:read` scope on an API key belonging to the **main account**, and is only available while isolated margin is enabled on the platform.\n",
      "description": "Lets a **main** account observe the liquidation, ADL, and LSP activity of all of its **isolated-margin subaccounts**, without subscribing to each subaccount's own `user.liquidation` channel individually.\n\nEvery event on this channel is a fan-out copy of an event also delivered on the affected subaccount's own `user.liquidation` channel — the payload is identical, including `isolated: true` and the subaccount's `user_id`. The main account's *own* liquidation activity is never delivered here; it stays on the main account's regular `user.liquidation` channel.\n\nRequires the `account:read` scope on an API key belonging to the **main account**, and is only available while isolated margin is enabled on the platform.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `user.isolated.liquidation` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.isolated.liquidation"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.isolated.liquidation` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "description": "The stage of the liquidation/ADL/LSP process this notification represents:\n- `liquidation_started` / `liquidation_completed`: The standard (order-book) liquidation process has started or completed for this account.\n- `close_out_liquidation_started` / `close_out_liquidation_completed`: The LSP/ADL close-out process has started or completed for this account. An account can go through this pair, the `liquidation_started`/`liquidation_completed` pair, or both in sequence (e.g. LSP/ADL close-out first, handed off to standard liquidation if it can't fully resolve the breach).\n- `lsp_transfer`: A position was transferred off this account to an LSP participant. Sent to the liquidated (source) account — see the `user.lsp` channel for the notification sent to the receiving participant.\n- `adl_transfer`: A position was auto-deleveraged off this account. Sent to the account being deleveraged (source).\n- `adl_transfer_received`: A position was auto-deleveraged onto this account from a counterparty. Sent to the receiving (counterparty) account.\n",
                    "enum": [
                      "liquidation_started",
                      "liquidation_completed",
                      "close_out_liquidation_started",
                      "close_out_liquidation_completed",
                      "lsp_transfer",
                      "adl_transfer",
                      "adl_transfer_received"
                    ]
                  },
                  "user_id": {
                    "description": "Unique user identifier",
                    "type": "integer",
                    "example": 57874
                  },
                  "isolated": {
                    "type": "boolean",
                    "description": "Present and `true` only when this event applies to an isolated-margin subaccount."
                  },
                  "currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "margin_balance": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "maintenance_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "initial_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "close_out_margin": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "equity": {
                    "type": "number",
                    "description": "Present for `liquidation_started`, `liquidation_completed`, `close_out_liquidation_started`, and `close_out_liquidation_completed`."
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. This account's own resulting position side.",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "amount": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`."
                  },
                  "price": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. The transfer price applied."
                  },
                  "commission": {
                    "type": "number",
                    "description": "Present for `lsp_transfer`, `adl_transfer`, and `adl_transfer_received`. The commission charged (on `lsp_transfer`/`adl_transfer`) or this account's share of the commission (on `adl_transfer_received`; `0` for an intra-account subaccount ADL move)."
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  }
                },
                "required": [
                  "state",
                  "user_id",
                  "timestamp"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "state": "liquidation_started",
                  "user_id": 220042,
                  "isolated": true,
                  "currency": "USDC",
                  "margin_balance": 110,
                  "maintenance_margin": 120,
                  "initial_margin": 150,
                  "close_out_margin": 130,
                  "equity": 110,
                  "timestamp": 1750000400000
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "user.lsp": {
      "address": "user.lsp",
      "title": "user.lsp ",
      "summary": "Notifications for an LSP (Liquidity Support Program) participant subaccount: assignment attempts (successful or failed), enable/disable state changes, and effective configuration changes.\n\nSubscribe to this channel with an API key belonging to the LSP participant subaccount itself. See `user.liquidation` for the notification sent to the liquidated (source) user whose position was transferred.\n\nEvery notification includes a `type` field identifying the event kind — see the notification schema for the full list of types and which fields accompany each.\n",
      "description": "Notifications for an LSP (Liquidity Support Program) participant subaccount: assignment attempts (successful or failed), enable/disable state changes, and effective configuration changes.\n\nSubscribe to this channel with an API key belonging to the LSP participant subaccount itself. See `user.liquidation` for the notification sent to the liquidated (source) user whose position was transferred.\n\nEvery notification includes a `type` field identifying the event kind — see the notification schema for the full list of types and which fields accompany each.\n",
      "parameters": {},
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to `user.lsp` channel. This channel does not require any additional parameters.",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "user.lsp"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "user_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `user.lsp` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "description": "The kind of LSP (Liquidity Support Program) event this notification represents:\n- `transfer`: An assignment attempt to this participant completed — check `success` to see whether it succeeded (fully or partially) or failed and was redistributed to other participants (or fell through to ADL).\n- `enabled`: This participant's LSP configuration transitioned from disabled to enabled.\n- `disabled`: This participant's LSP configuration transitioned from enabled to disabled — check `automatic` to see whether this was a manual change or an automatic disable after repeated transfer failures.\n- `configuration_changed`: This participant's effective configuration changed (enable state and/or any group limit, including a change to the platform-wide default that affects this participant). Fired on every configuration write, including no-op enable/disable transitions.\n",
                    "enum": [
                      "transfer",
                      "enabled",
                      "disabled",
                      "configuration_changed"
                    ]
                  },
                  "instrument_name": {
                    "type": "string",
                    "description": "Unique instrument identifier",
                    "example": "BTC-PERPETUAL"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Present for `transfer` only.",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "amount": {
                    "type": "number",
                    "description": "Present for `transfer` only. Size of the position assigned (or attempted)."
                  },
                  "price": {
                    "type": "number",
                    "description": "Present for `transfer` only. The transfer price applied to this assignment attempt."
                  },
                  "currency": {
                    "type": "string",
                    "description": "Currency, i.e `\"BTC\"`, `\"ETH\"`, `\"USDC\"`",
                    "enum": [
                      "BTC",
                      "ETH",
                      "USDC",
                      "USDT",
                      "EURR"
                    ]
                  },
                  "success": {
                    "type": "boolean",
                    "description": "Present for `transfer` only. `true` if the assignment succeeded, `false` if it failed (see `error_reason`)."
                  },
                  "error_reason": {
                    "type": "string",
                    "description": "Present for `transfer` only, and only when `success` is `false`. Machine-readable failure reason.",
                    "enum": [
                      "platform_locked",
                      "lock_count_exceeded",
                      "timeout",
                      "temporarily_unavailable",
                      "not_enough_funds",
                      "internal_error"
                    ]
                  },
                  "automatic": {
                    "type": "boolean",
                    "description": "Present for `disabled` only. `true` if this was an automatic disable after repeated transfer failures, `false` if a manual configuration change."
                  },
                  "failure_count": {
                    "type": "integer",
                    "description": "Present for `disabled` only, and only when `automatic` is `true`. Number of transfer failures that triggered the auto-disable."
                  },
                  "window_minutes": {
                    "type": "integer",
                    "description": "Present for `disabled` only, and only when `automatic` is `true`. Length of the failure-counting window, in minutes."
                  },
                  "configuration": {
                    "type": "object",
                    "description": "Present for `configuration_changed` only. The participant's resolved effective configuration: `enabled`, plus every cooldown group's effective limit percentage (`group_limits`, keyed by group) — per-participant overrides are already resolved against the platform-wide defaults, so every group appears here regardless of whether this participant has an explicit override."
                  },
                  "timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp (milliseconds since the Unix epoch)"
                  }
                },
                "required": [
                  "type",
                  "timestamp"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "type": "transfer",
                  "instrument_name": "BTC-PERPETUAL",
                  "direction": "sell",
                  "amount": 5000,
                  "price": 63481.75,
                  "currency": "BTC",
                  "success": true,
                  "timestamp": 1750000400000
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "block_rfq.maker.(currency)": {
      "address": "block_rfq.maker.(currency)",
      "title": "block_rfq.maker.(currency) ",
      "summary": "Real-time notifications for Block RFQs (Request for Quotes) that are available for the subscribed maker to respond to.\n\nThis subscription notifies makers when new Block RFQs are created in the specified currency (or all currencies if `any` is used) that they can potentially quote on. Each notification includes:\n\n- **RFQ identification:** Unique Block RFQ ID, creation timestamp, and expiration timestamp\n- **RFQ structure:** Multi-leg trade structure with instrument names, directions (buy/sell), and ratios for each leg\n- **Trade parameters:** Total amount (multiplied by leg ratios determines trade size), minimum trade amount, and optional combo identifier\n- **Hedge information:** Optional hedge leg details including instrument, direction, amount, and price\n- **RFQ state:** Current state (open, filled, cancelled, or expired)\n- **Counterparty information:** Taker rating, taker alias (if disclosed), and disclosure status\n- **Execution details:** For filled RFQs, includes trade information with prices, amounts, directions, and maker aliases\n- **Index prices:** List of index prices for underlying instruments at trade execution time (for filled RFQs)\n- **Rating information:** Whether the RFQ is included in taker rating calculation (for closed RFQs)\n\nMakers can subscribe to specific currencies (BTC, ETH, USDC, USDT) or use `any` to receive notifications for all supported currencies. This enables makers to monitor incoming RFQ opportunities and respond with competitive quotes in a timely manner.\n\n**Scope required:** `block_rfq:read`\n\n**Trade cross-posting:** When a Block RFQ is filled, the resulting trades are also delivered through the `user.trades.{instrument_name}.{interval}` and `user.trades.{kind}.{currency}.{interval}` channels. Those notifications include `block_rfq_id`, `block_trade_id`, and — for the maker side — `block_rfq_quote_id`.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "description": "Real-time notifications for Block RFQs (Request for Quotes) that are available for the subscribed maker to respond to.\n\nThis subscription notifies makers when new Block RFQs are created in the specified currency (or all currencies if `any` is used) that they can potentially quote on. Each notification includes:\n\n- **RFQ identification:** Unique Block RFQ ID, creation timestamp, and expiration timestamp\n- **RFQ structure:** Multi-leg trade structure with instrument names, directions (buy/sell), and ratios for each leg\n- **Trade parameters:** Total amount (multiplied by leg ratios determines trade size), minimum trade amount, and optional combo identifier\n- **Hedge information:** Optional hedge leg details including instrument, direction, amount, and price\n- **RFQ state:** Current state (open, filled, cancelled, or expired)\n- **Counterparty information:** Taker rating, taker alias (if disclosed), and disclosure status\n- **Execution details:** For filled RFQs, includes trade information with prices, amounts, directions, and maker aliases\n- **Index prices:** List of index prices for underlying instruments at trade execution time (for filled RFQs)\n- **Rating information:** Whether the RFQ is included in taker rating calculation (for closed RFQs)\n\nMakers can subscribe to specific currencies (BTC, ETH, USDC, USDT) or use `any` to receive notifications for all supported currencies. This enables makers to monitor incoming RFQ opportunities and respond with competitive quotes in a timely manner.\n\n**Scope required:** `block_rfq:read`\n\n**Trade cross-posting:** When a Block RFQ is filled, the resulting trades are also delivered through the `user.trades.{instrument_name}.{interval}` and `user.trades.{kind}.{currency}.{interval}` channels. Those notifications include `block_rfq_id`, `block_trade_id`, and — for the maker side — `block_rfq_quote_id`.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to block_rfq channel. Channel name format: `block_rfq.maker.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_rfq.maker.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_rfq_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_rfq.maker.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "creation_timestamp": {
                    "description": "The timestamp when Block RFQ was created (milliseconds since the Unix epoch)",
                    "type": "integer",
                    "example": 1536569522277
                  },
                  "expiration_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp when the Block RFQ will expire (milliseconds since the UNIX epoch)"
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ"
                  },
                  "role": {
                    "description": "Role of the user in Block RFQ",
                    "type": "string",
                    "enum": [
                      "taker",
                      "maker"
                    ]
                  },
                  "state": {
                    "description": "State of the Block RFQ",
                    "type": "string",
                    "enum": [
                      "open",
                      "filled",
                      "cancelled",
                      "expired"
                    ]
                  },
                  "taker_rating": {
                    "description": "Rating of the taker",
                    "type": "string"
                  },
                  "amount": {
                    "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                    "type": "number"
                  },
                  "min_trade_amount": {
                    "description": "Minimum amount for trading",
                    "type": "number"
                  },
                  "legs": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "ratio": {
                        "description": "Ratio of amount between legs",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "hedge": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "It represents the requested hedge leg size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a hedge leg",
                        "type": "number"
                      }
                    }
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Unique combo identifier",
                    "example": "BTC-FS-31DEC21-PERP"
                  },
                  "disclosed": {
                    "description": "Indicates whether the RFQ was created as non-anonymous, meaning taker and maker aliases are visible to counterparties.",
                    "type": "boolean"
                  },
                  "taker": {
                    "description": "Taker alias. Present only when `disclosed` is `true`.",
                    "type": "string",
                    "example": "TAKER1"
                  },
                  "index_prices": {
                    "type": "object",
                    "description": "",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "included_in_taker_rating": {
                    "description": "Indicates whether the RFQ is included in the taker's rating calculation. Present only for closed RFQs created by the requesting taker.",
                    "type": "boolean"
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "description": "Trade amount. For options, linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units.",
                        "type": "number"
                      },
                      "maker": {
                        "type": "string",
                        "description": "Alias of the maker (optional)"
                      },
                      "hedge_amount": {
                        "type": "number",
                        "description": "Amount of the hedge leg. For linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units."
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "state": "open",
                  "combo_id": "BTC-18NOV24-82000-C",
                  "legs": [
                    {
                      "direction": "buy",
                      "instrument_name": "BTC-18NOV24-82000-C",
                      "ratio": 1
                    }
                  ],
                  "amount": 25,
                  "role": "maker",
                  "expiration_timestamp": 1731664976443,
                  "block_rfq_id": 722,
                  "creation_timestamp": 1731664676443,
                  "taker_rating": "1-2",
                  "disclosed": true,
                  "taker": "TAKER1"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "block_rfq.taker.(currency)": {
      "address": "block_rfq.taker.(currency)",
      "title": "block_rfq.taker.(currency) ",
      "summary": "Get notifications about the state of your Block RFQ. `trades` are only visible if the Block RFQ was filled.\n\n**Note:** After Block RFQ creation, a grace period of 5 seconds begins, during which the taker cannot see quotes or trade the Block RFQ.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "description": "Get notifications about the state of your Block RFQ. `trades` are only visible if the Block RFQ was filled.\n\n**Note:** After Block RFQ creation, a grace period of 5 seconds begins, during which the taker cannot see quotes or trade the Block RFQ.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to block_rfq channel. Channel name format: `block_rfq.taker.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_rfq.taker.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_rfq_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_rfq.taker.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "creation_timestamp": {
                    "description": "The timestamp when Block RFQ was created (milliseconds since the Unix epoch)",
                    "type": "integer",
                    "example": 1536569522277
                  },
                  "expiration_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "The timestamp when the Block RFQ will expire (milliseconds since the UNIX epoch)"
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ"
                  },
                  "role": {
                    "description": "Role of the user in Block RFQ",
                    "type": "string",
                    "enum": [
                      "taker",
                      "maker"
                    ]
                  },
                  "state": {
                    "description": "State of the Block RFQ",
                    "type": "string",
                    "enum": [
                      "open",
                      "filled",
                      "cancelled",
                      "expired"
                    ]
                  },
                  "taker_rating": {
                    "description": "Rating of the taker",
                    "type": "string"
                  },
                  "makers": {
                    "type": "object",
                    "description": "",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "amount": {
                    "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                    "type": "number"
                  },
                  "min_trade_amount": {
                    "description": "Minimum amount for trading",
                    "type": "number"
                  },
                  "asks": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "makers": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "Maker of the quote"
                          }
                        },
                        "price": {
                          "description": "Price of a quote",
                          "type": "number"
                        },
                        "last_update_timestamp": {
                          "type": "integer",
                          "example": 1536569522277,
                          "description": "Timestamp of the last update of the quote (milliseconds since the UNIX epoch)"
                        },
                        "execution_instruction": {
                          "type": "string",
                          "description": "Execution instruction of the quote. Default - `any_part_of`\n\n- `\"all_or_none (AON)\"` - The quote can only be filled entirely or not at all, ensuring that its amount matches the amount specified in the Block RFQ. Additionally, 'all_or_none' quotes have priority over 'any_part_of' quotes at the same price level.\n- `\"any_part_of (APO)\"` - The quote can be filled either partially or fully, with the filled amount potentially being less than the Block RFQ amount.",
                          "enum": [
                            "any_part_of",
                            "all_or_none"
                          ]
                        },
                        "amount": {
                          "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                          "type": "number"
                        },
                        "expires_at": {
                          "type": "integer",
                          "example": 1745312540321,
                          "description": "The timestamp when the quote expires (milliseconds since the Unix epoch), equal to the earliest expiry of placed quotes"
                        }
                      }
                    }
                  },
                  "bids": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "makers": {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "description": "Maker of the quote"
                          }
                        },
                        "price": {
                          "description": "Price of a quote",
                          "type": "number"
                        },
                        "last_update_timestamp": {
                          "type": "integer",
                          "example": 1536569522277,
                          "description": "Timestamp of the last update of the quote (milliseconds since the UNIX epoch)"
                        },
                        "execution_instruction": {
                          "type": "string",
                          "description": "Execution instruction of the quote. Default - `any_part_of`\n\n- `\"all_or_none (AON)\"` - The quote can only be filled entirely or not at all, ensuring that its amount matches the amount specified in the Block RFQ. Additionally, 'all_or_none' quotes have priority over 'any_part_of' quotes at the same price level.\n- `\"any_part_of (APO)\"` - The quote can be filled either partially or fully, with the filled amount potentially being less than the Block RFQ amount.",
                          "enum": [
                            "any_part_of",
                            "all_or_none"
                          ]
                        },
                        "amount": {
                          "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                          "type": "number"
                        },
                        "expires_at": {
                          "type": "integer",
                          "example": 1745312540321,
                          "description": "The timestamp when the quote expires (milliseconds since the Unix epoch), equal to the earliest expiry of placed quotes"
                        }
                      }
                    }
                  },
                  "legs": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "ratio": {
                        "description": "Ratio of amount between legs",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "hedge": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "It represents the requested hedge leg size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a hedge leg",
                        "type": "number"
                      }
                    }
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Unique combo identifier",
                    "example": "BTC-FS-31DEC21-PERP"
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label for the Block RFQ (maximum 64 characters)"
                  },
                  "app_name": {
                    "description": "The name of the application that created the Block RFQ on behalf of the user (optional, visible only to taker).",
                    "type": "string",
                    "example": "Example Application"
                  },
                  "mark_price": {
                    "description": "The mark price for the instrument",
                    "type": "number"
                  },
                  "disclosed": {
                    "description": "Indicates whether the RFQ was created as non-anonymous, meaning taker and maker aliases are visible to counterparties.",
                    "type": "boolean"
                  },
                  "taker": {
                    "description": "Taker alias. Present only when `disclosed` is `true`.",
                    "type": "string",
                    "example": "TAKER1"
                  },
                  "index_prices": {
                    "type": "object",
                    "description": "",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "included_in_taker_rating": {
                    "description": "Indicates whether the RFQ is included in the taker's rating calculation. Present only for closed RFQs created by the requesting taker.",
                    "type": "boolean"
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "description": "Trade amount. For options, linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units.",
                        "type": "number"
                      },
                      "maker": {
                        "type": "string",
                        "description": "Alias of the maker (optional)"
                      },
                      "hedge_amount": {
                        "type": "number",
                        "description": "Amount of the hedge leg. For linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units."
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "trade_trigger": {
                    "description": "Present only if a trade trigger was placed by the taker and only visible to taker. Only for cases: `cancelled` (contains the reason for cancellation) and `untriggered` (contains the information about the trade trigger).",
                    "type": "object",
                    "properties": {
                      "state": {
                        "type": "string",
                        "description": "Trade trigger state: `\"untriggered\"` or `\"cancelled\"`",
                        "enum": [
                          "triggered",
                          "untriggered",
                          "cancelled"
                        ]
                      },
                      "price": {
                        "description": "Price of the trade trigger",
                        "type": "number"
                      },
                      "direction": {
                        "description": "Direction of the trade trigger",
                        "type": "string",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "cancel_reason": {
                        "description": "Reason for cancellation, present only when state is cancelled",
                        "type": "string"
                      }
                    },
                    "required": [
                      "state",
                      "price",
                      "direction"
                    ]
                  },
                  "trade_allocations": {
                    "type": "object",
                    "description": "List of allocations for Block RFQ pre-allocation. Allows to split amount between different (sub)accounts. The taker can also allocate to himself. Visible only to the taker.",
                    "properties": {
                      "user_id": {
                        "description": "User ID to allocate part of the RFQ amount. For brokers the User ID is obstructed.",
                        "type": "integer"
                      },
                      "client_info": {
                        "description": "Client allocation info for brokers.",
                        "type": "object",
                        "properties": {
                          "client_id": {
                            "description": "ID of a client; available to broker. Represents a group of users under a common name.",
                            "type": "integer"
                          },
                          "client_link_id": {
                            "description": "ID assigned to a single user in a client; available to broker.",
                            "type": "integer"
                          },
                          "name": {
                            "description": "Name of the linked user within the client; available to broker.",
                            "type": "string"
                          }
                        }
                      },
                      "amount": {
                        "description": "Amount allocated to this user or client.",
                        "type": "number"
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "label": "example",
                  "state": "open",
                  "amount": 10000,
                  "role": "taker",
                  "bids": [
                    {
                      "amount": 10000,
                      "price": 291664.14,
                      "makers": [
                        "ANONYMOUS"
                      ],
                      "last_update_timestamp": 1740047910507,
                      "execution_instruction": "any_part_of"
                    }
                  ],
                  "asks": [],
                  "combo_id": null,
                  "legs": [
                    {
                      "direction": "buy",
                      "instrument_name": "BTC-21FEB25",
                      "ratio": 1
                    },
                    {
                      "direction": "buy",
                      "instrument_name": "BTC-28FEB25",
                      "ratio": 1
                    },
                    {
                      "direction": "buy",
                      "instrument_name": "BTC-PERPETUAL",
                      "ratio": 1
                    }
                  ],
                  "min_trade_amount": 10,
                  "makers": [
                    "MAKER1",
                    "MAKER2"
                  ],
                  "creation_timestamp": 1740047910438,
                  "block_rfq_id": 321,
                  "expiration_timestamp": 1740048210438,
                  "taker_rating": "1-2",
                  "disclosed": true,
                  "taker": "TAKER1"
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "block_rfq.maker.quotes.(currency)": {
      "address": "block_rfq.maker.quotes.(currency)",
      "title": "block_rfq.maker.quotes.(currency) ",
      "summary": "Get notifications about the state of your Block RFQ quotes. Subscribe to this channel to receive real-time updates when your quotes are added, edited, cancelled, or when quotes are accepted by takers.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "description": "Get notifications about the state of your Block RFQ quotes. Subscribe to this channel to receive real-time updates when your quotes are added, edited, cancelled, or when quotes are accepted by takers.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to block_rfq channel. Channel name format: `block_rfq.maker.quotes.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_rfq.maker.quotes.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_rfq_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_rfq.maker.quotes.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "creation_timestamp": {
                    "description": "The timestamp when quote was created (milliseconds since the Unix epoch)",
                    "type": "integer",
                    "example": 1536569522277
                  },
                  "last_update_timestamp": {
                    "type": "integer",
                    "example": 1536569522277,
                    "description": "Timestamp of the last update of the quote (milliseconds since the UNIX epoch)"
                  },
                  "block_rfq_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ"
                  },
                  "block_rfq_quote_id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ quote"
                  },
                  "quote_state": {
                    "description": "State of the quote",
                    "type": "string"
                  },
                  "execution_instruction": {
                    "type": "string",
                    "description": "Execution instruction of the quote. Default - `any_part_of`\n\n- `\"all_or_none (AON)\"` - The quote can only be filled entirely or not at all, ensuring that its amount matches the amount specified in the Block RFQ. Additionally, 'all_or_none' quotes have priority over 'any_part_of' quotes at the same price level.\n- `\"any_part_of (APO)\"` - The quote can be filled either partially or fully, with the filled amount potentially being less than the Block RFQ amount.",
                    "enum": [
                      "any_part_of",
                      "all_or_none"
                    ]
                  },
                  "price": {
                    "description": "Price of a quote",
                    "type": "number"
                  },
                  "amount": {
                    "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                    "type": "number"
                  },
                  "direction": {
                    "type": "string",
                    "description": "Direction of trade from the maker perspective",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "filled_amount": {
                    "type": "number",
                    "description": "Filled amount of the quote. For perpetual and futures the filled_amount is in USD units, for options - in units or corresponding cryptocurrency contracts, e.g., BTC or ETH."
                  },
                  "legs": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "ratio": {
                        "description": "Ratio of amount between legs",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a leg",
                        "type": "number"
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "hedge": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "It represents the requested hedge leg size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a hedge leg",
                        "type": "number"
                      }
                    }
                  },
                  "replaced": {
                    "type": "boolean",
                    "description": "`true` if the quote was edited, otherwise `false`."
                  },
                  "label": {
                    "type": "string",
                    "description": "User defined label for the quote (maximum 64 characters)"
                  },
                  "app_name": {
                    "description": "The name of the application that placed the quote on behalf of the user (optional).",
                    "type": "string",
                    "example": "Example Application"
                  },
                  "quote_state_reason": {
                    "description": "Reason of quote cancellation",
                    "type": "string"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": [
                  {
                    "label": "example_quote",
                    "price": 10,
                    "direction": "buy",
                    "legs": [
                      {
                        "price": 10,
                        "direction": "buy",
                        "instrument_name": "BTC-16NOV24-82000-C",
                        "ratio": 1
                      }
                    ],
                    "amount": 25,
                    "block_rfq_id": 724,
                    "replaced": false,
                    "filled_amount": 0,
                    "last_update_timestamp": 1731665928291,
                    "creation_timestamp": 1731665928291,
                    "block_rfq_quote_id": 1301,
                    "quote_state": "open"
                  }
                ]
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "block_rfq.trades.(currency)": {
      "address": "block_rfq.trades.(currency)",
      "title": "block_rfq.trades.(currency) ",
      "summary": "Get notifications about recent Block RFQ trades. This is a public channel that provides market data about completed Block RFQ trades.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "description": "Get notifications about recent Block RFQ trades. This is a public channel that provides market data about completed Block RFQ trades.\n\n**📖 Related Article:** [Deribit Block RFQ API walkthrough](https://docs.deribit.com/articles/block-rfq-api-walkthrough)\n",
      "parameters": {
        "currency": {
          "description": "Currency code or `any` for all\n\n**Allowed values:** `BTC`, `ETH`, `USDC`, `USDT`, `EURR`, `any`",
          "enum": [
            "BTC",
            "ETH",
            "USDC",
            "USDT",
            "EURR",
            "any"
          ]
        }
      },
      "messages": {
        "subscribe_request": {
          "name": "subscribe_request",
          "title": "Subscription Request",
          "summary": "Client sends subscription request to subscribe to notification channel. Please refer to [Notification page](https://deribit.mintlify.app/articles/notifications) for more information.",
          "description": "Request to subscribe to block_rfq channel. Channel name format: `block_rfq.trades.(currency)`",
          "payload": {
            "properties": {},
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "subscribe_request_example",
              "summary": "Subscription request example",
              "payload": {
                "jsonrpc": "2.0",
                "method": "public/subscribe",
                "id": 42,
                "params": {
                  "channels": [
                    "block_rfq.trades.(currency)"
                  ]
                }
              }
            }
          ]
        },
        "subscription_message": {
          "name": "block_rfq_subscription_notification_data",
          "title": "Subscription Notification Data",
          "summary": "Server sends subscription notification data",
          "description": "Message schema for `block_rfq.trades.(currency)` subscription - contains the data payload",
          "payload": {
            "type": "object",
            "description": "Response containing notification data",
            "properties": {
              "data": {
                "type": "object",
                "description": "",
                "properties": {
                  "id": {
                    "type": "integer",
                    "description": "ID of the Block RFQ"
                  },
                  "timestamp": {
                    "description": "The timestamp of the trade (milliseconds since the UNIX epoch)",
                    "example": 1517329113791,
                    "type": "integer"
                  },
                  "direction": {
                    "description": "Trade direction of the taker",
                    "type": "string",
                    "enum": [
                      "buy",
                      "sell"
                    ]
                  },
                  "amount": {
                    "description": "This value multiplied by the ratio of a leg gives trade size on that leg.",
                    "type": "number"
                  },
                  "mark_price": {
                    "description": "Mark Price at the moment of trade",
                    "type": "number"
                  },
                  "legs": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "ratio": {
                        "description": "Ratio of amount between legs",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a leg",
                        "type": "number"
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  },
                  "combo_id": {
                    "type": "string",
                    "description": "Unique combo identifier",
                    "example": "BTC-FS-31DEC21-PERP"
                  },
                  "hedge": {
                    "type": "object",
                    "properties": {
                      "amount": {
                        "description": "It represents the requested hedge leg size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.",
                        "type": "integer"
                      },
                      "instrument_name": {
                        "type": "string",
                        "description": "Unique instrument identifier",
                        "example": "BTC-PERPETUAL"
                      },
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price for a hedge leg",
                        "type": "number"
                      }
                    }
                  },
                  "trades": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "direction": {
                        "type": "string",
                        "description": "Direction: `buy`, or `sell`",
                        "enum": [
                          "buy",
                          "sell"
                        ]
                      },
                      "price": {
                        "description": "Price in base currency",
                        "type": "number"
                      },
                      "amount": {
                        "description": "Trade amount. For options, linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units.",
                        "type": "number"
                      },
                      "hedge_amount": {
                        "type": "number",
                        "description": "Amount of the hedge leg. For linear futures, linear perpetuals and spots the amount is denominated in the underlying base currency coin. The inverse perpetuals and inverse futures are denominated in USD units."
                      }
                    },
                    "required": [],
                    "additionalProperties": false
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "data"
            ],
            "additionalProperties": false
          },
          "examples": [
            {
              "name": "repeated",
              "summary": "Repeated notification example",
              "payload": {
                "data": {
                  "id": 939,
                  "timestamp": 1739869829823,
                  "amount": 50,
                  "direction": "sell",
                  "combo_id": "BTC-PERPETUAL",
                  "legs": [
                    {
                      "direction": "buy",
                      "price": 95318.72,
                      "instrument_name": "BTC-PERPETUAL",
                      "ratio": 1
                    }
                  ],
                  "trades": [
                    {
                      "amount": 50,
                      "direction": "sell",
                      "price": 95318.72
                    }
                  ],
                  "mark_price": 95318.72
                }
              }
            }
          ]
        }
      },
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Public"
        }
      ]
    }
  },
  "operations": {
    "send_subscribe_platform_state": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for platform_state",
      "description": "Send a subscription request to receive platform_state notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/platform_state"
      },
      "messages": [
        {
          "$ref": "#/channels/platform_state/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "receive_platform_state": {
      "title": "Receive platform_state",
      "summary": "Client receives platform_state notifications",
      "description": "Receive platform_state notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/platform_state"
      },
      "messages": [
        {
          "$ref": "#/channels/platform_state/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "send_subscribe_platform_state_public_methods_state": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for platform_state",
      "description": "Send a subscription request to receive platform_state notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/platform_state.public_methods_state"
      },
      "messages": [
        {
          "$ref": "#/channels/platform_state.public_methods_state/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "receive_platform_state_public_methods_state": {
      "title": "Receive platform_state",
      "summary": "Client receives platform_state notifications",
      "description": "Receive platform_state notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/platform_state.public_methods_state"
      },
      "messages": [
        {
          "$ref": "#/channels/platform_state.public_methods_state/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Platform"
        }
      ]
    },
    "send_subscribe_announcements": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for announcements",
      "description": "Send a subscription request to receive announcements notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/announcements"
      },
      "messages": [
        {
          "$ref": "#/channels/announcements/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Announcements"
        }
      ]
    },
    "receive_announcements": {
      "title": "Receive announcements",
      "summary": "Client receives announcements notifications",
      "description": "Receive announcements notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/announcements"
      },
      "messages": [
        {
          "$ref": "#/channels/announcements/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Announcements"
        }
      ]
    },
    "send_subscribe_book_instrument_name_interval": {
      "title": "Send subscribe request for order book",
      "summary": "Client sends subscription request for order book updates",
      "description": "Send a subscription request to receive order book updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/book.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/book.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_book_instrument_name_interval_updates": {
      "title": "Receive order book updates",
      "summary": "Client receives order book update notifications",
      "description": "Receive order book update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/book.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/book.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_book_instrument_name_group_depth_interval": {
      "title": "Send subscribe request for order book",
      "summary": "Client sends subscription request for order book updates",
      "description": "Send a subscription request to receive order book updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/book.(instrument_name).(group).(depth).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/book.(instrument_name).(group).(depth).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_book_instrument_name_group_depth_interval_updates": {
      "title": "Receive order book updates",
      "summary": "Client receives order book update notifications",
      "description": "Receive order book update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/book.(instrument_name).(group).(depth).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/book.(instrument_name).(group).(depth).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Orderbook"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_ticker_instrument_name_interval": {
      "title": "Send subscribe request for ticker",
      "summary": "Client sends subscription request for ticker updates",
      "description": "Send a subscription request to receive ticker updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/ticker.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/ticker.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_ticker_instrument_name_interval_updates": {
      "title": "Receive ticker updates",
      "summary": "Client receives ticker update notifications",
      "description": "Receive ticker update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/ticker.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/ticker.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_incremental_ticker_instrument_name": {
      "title": "Send subscribe request for incremental_ticker",
      "summary": "Client sends subscription request for incremental_ticker updates",
      "description": "Send a subscription request to receive incremental_ticker updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/incremental_ticker.(instrument_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/incremental_ticker.(instrument_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_incremental_ticker_instrument_name_updates": {
      "title": "Receive incremental_ticker updates",
      "summary": "Client receives incremental_ticker update notifications",
      "description": "Receive incremental_ticker update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/incremental_ticker.(instrument_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/incremental_ticker.(instrument_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_perpetual_instrument_name_interval": {
      "title": "Send subscribe request for perpetual",
      "summary": "Client sends subscription request for perpetual updates",
      "description": "Send a subscription request to receive perpetual updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/perpetual.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/perpetual.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_perpetual_instrument_name_interval_updates": {
      "title": "Receive perpetual updates",
      "summary": "Client receives perpetual update notifications",
      "description": "Receive perpetual update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/perpetual.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/perpetual.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_quote_instrument_name": {
      "title": "Send subscribe request for quote",
      "summary": "Client sends subscription request for quote updates",
      "description": "Send a subscription request to receive quote updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/quote.(instrument_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/quote.(instrument_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_quote_instrument_name_updates": {
      "title": "Receive quote updates",
      "summary": "Client receives quote update notifications",
      "description": "Receive quote update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/quote.(instrument_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/quote.(instrument_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_trades_instrument_name_interval": {
      "title": "Send subscribe request for trades",
      "summary": "Client sends subscription request for trades updates",
      "description": "Send a subscription request to receive trades updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/trades.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_trades_instrument_name_interval_updates": {
      "title": "Receive trades updates",
      "summary": "Client receives trades update notifications",
      "description": "Receive trades update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/trades.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_block_trade_confirmations": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for block_trade_confirmations",
      "description": "Send a subscription request to receive block_trade_confirmations notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_trade_confirmations"
      },
      "messages": [
        {
          "$ref": "#/channels/block_trade_confirmations/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_block_trade_confirmations": {
      "title": "Receive block_trade_confirmations",
      "summary": "Client receives block_trade_confirmations notifications",
      "description": "Receive block_trade_confirmations notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_trade_confirmations"
      },
      "messages": [
        {
          "$ref": "#/channels/block_trade_confirmations/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_block_trade_confirmations_currency": {
      "title": "Send subscribe request for block_trade_confirmations",
      "summary": "Client sends subscription request for block_trade_confirmations updates",
      "description": "Send a subscription request to receive block_trade_confirmations updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_trade_confirmations.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_trade_confirmations.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_block_trade_confirmations_currency_updates": {
      "title": "Receive block_trade_confirmations updates",
      "summary": "Client receives block_trade_confirmations update notifications",
      "description": "Receive block_trade_confirmations update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_trade_confirmations.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_trade_confirmations.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Trade"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_trades_kind_currency_interval": {
      "title": "Send subscribe request for trades",
      "summary": "Client sends subscription request for trades updates",
      "description": "Send a subscription request to receive trades updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/trades.(kind).(currency).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_trades_kind_currency_interval_updates": {
      "title": "Receive trades updates",
      "summary": "Client receives trades update notifications",
      "description": "Receive trades update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/trades.(kind).(currency).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Trades"
        },
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_deribit_price_index_index_name": {
      "title": "Send subscribe request for deribit_price_index",
      "summary": "Client sends subscription request for deribit_price_index updates",
      "description": "Send a subscription request to receive deribit_price_index updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/deribit_price_index.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_index.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_deribit_price_index_index_name_updates": {
      "title": "Receive deribit_price_index updates",
      "summary": "Client receives deribit_price_index update notifications",
      "description": "Receive deribit_price_index update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/deribit_price_index.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_index.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_deribit_price_ranking_index_name": {
      "title": "Send subscribe request for deribit_price_ranking",
      "summary": "Client sends subscription request for deribit_price_ranking updates",
      "description": "Send a subscription request to receive deribit_price_ranking updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/deribit_price_ranking.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_ranking.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_deribit_price_ranking_index_name_updates": {
      "title": "Receive deribit_price_ranking updates",
      "summary": "Client receives deribit_price_ranking update notifications",
      "description": "Receive deribit_price_ranking update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/deribit_price_ranking.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_ranking.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_deribit_price_statistics_index_name": {
      "title": "Send subscribe request for deribit_price_statistics",
      "summary": "Client sends subscription request for deribit_price_statistics updates",
      "description": "Send a subscription request to receive deribit_price_statistics updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/deribit_price_statistics.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_statistics.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_deribit_price_statistics_index_name_updates": {
      "title": "Receive deribit_price_statistics updates",
      "summary": "Client receives deribit_price_statistics update notifications",
      "description": "Receive deribit_price_statistics update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/deribit_price_statistics.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_price_statistics.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_deribit_volatility_index_index_name": {
      "title": "Send subscribe request for deribit_volatility_index",
      "summary": "Client sends subscription request for deribit_volatility_index updates",
      "description": "Send a subscription request to receive deribit_volatility_index updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/deribit_volatility_index.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_volatility_index.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_deribit_volatility_index_index_name_updates": {
      "title": "Receive deribit_volatility_index updates",
      "summary": "Client receives deribit_volatility_index update notifications",
      "description": "Receive deribit_volatility_index update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/deribit_volatility_index.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/deribit_volatility_index.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_markprice_options_index_name": {
      "title": "Send subscribe request for markprice",
      "summary": "Client sends subscription request for markprice updates",
      "description": "Send a subscription request to receive markprice updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/markprice.options.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/markprice.options.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_markprice_options_index_name_updates": {
      "title": "Receive markprice updates",
      "summary": "Client receives markprice update notifications",
      "description": "Receive markprice update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/markprice.options.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/markprice.options.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_estimated_expiration_price_index_name": {
      "title": "Send subscribe request for estimated_expiration_price",
      "summary": "Client sends subscription request for estimated_expiration_price updates",
      "description": "Send a subscription request to receive estimated_expiration_price updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/estimated_expiration_price.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/estimated_expiration_price.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_estimated_expiration_price_index_name_updates": {
      "title": "Receive estimated_expiration_price updates",
      "summary": "Client receives estimated_expiration_price update notifications",
      "description": "Receive estimated_expiration_price update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/estimated_expiration_price.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/estimated_expiration_price.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_chart_trades_instrument_name_resolution": {
      "title": "Send subscribe request for chart",
      "summary": "Client sends subscription request for chart updates",
      "description": "Send a subscription request to receive chart updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/chart.trades.(instrument_name).(resolution)"
      },
      "messages": [
        {
          "$ref": "#/channels/chart.trades.(instrument_name).(resolution)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_chart_trades_instrument_name_resolution_updates": {
      "title": "Receive chart updates",
      "summary": "Client receives chart update notifications",
      "description": "Receive chart update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/chart.trades.(instrument_name).(resolution)"
      },
      "messages": [
        {
          "$ref": "#/channels/chart.trades.(instrument_name).(resolution)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_user_mmp_trigger_index_name": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.mmp_trigger.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.mmp_trigger.(index_name)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_mmp_trigger_index_name_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.mmp_trigger.(index_name)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.mmp_trigger.(index_name)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_portfolio_currency": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.portfolio.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.portfolio.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Portfolio"
        }
      ]
    },
    "receive_user_portfolio_currency_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.portfolio.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.portfolio.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Portfolio"
        }
      ]
    },
    "send_subscribe_user_trades_instrument_name_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.trades.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "receive_user_trades_instrument_name_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.trades.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "send_subscribe_user_trades_kind_currency_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.trades.(kind).(currency).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "receive_user_trades_kind_currency_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.trades.(kind).(currency).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "send_subscribe_user_combo_trades_instrument_name_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.combo_trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.combo_trades.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "receive_user_combo_trades_instrument_name_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.combo_trades.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.combo_trades.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "send_subscribe_user_combo_trades_kind_currency_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.combo_trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.combo_trades.(kind).(currency).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "receive_user_combo_trades_kind_currency_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.combo_trades.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.combo_trades.(kind).(currency).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Trades"
        }
      ]
    },
    "send_subscribe_instrument_creation_kind_currency": {
      "title": "Send subscribe request for instrument",
      "summary": "Client sends subscription request for instrument updates",
      "description": "Send a subscription request to receive instrument updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/instrument.creation.(kind).(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/instrument.creation.(kind).(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_instrument_creation_kind_currency_updates": {
      "title": "Receive instrument updates",
      "summary": "Client receives instrument update notifications",
      "description": "Receive instrument update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/instrument.creation.(kind).(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/instrument.creation.(kind).(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_instrument_state_kind_currency": {
      "title": "Send subscribe request for instrument",
      "summary": "Client sends subscription request for instrument updates",
      "description": "Send a subscription request to receive instrument updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/instrument.state.(kind).(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/instrument.state.(kind).(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "receive_instrument_state_kind_currency_updates": {
      "title": "Receive instrument updates",
      "summary": "Client receives instrument update notifications",
      "description": "Receive instrument update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/instrument.state.(kind).(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/instrument.state.(kind).(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Market Data"
        }
      ]
    },
    "send_subscribe_user_orders_instrument_name_raw": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.orders.(instrument_name).raw"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(instrument_name).raw/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "receive_user_orders_instrument_name_raw_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.orders.(instrument_name).raw"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(instrument_name).raw/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "send_subscribe_user_orders_instrument_name_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.orders.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "receive_user_orders_instrument_name_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.orders.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "send_subscribe_user_orders_kind_currency_raw": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.orders.(kind).(currency).raw"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(kind).(currency).raw/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "receive_user_orders_kind_currency_raw_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.orders.(kind).(currency).raw"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(kind).(currency).raw/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "send_subscribe_user_orders_kind_currency_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.orders.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(kind).(currency).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "receive_user_orders_kind_currency_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.orders.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.orders.(kind).(currency).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        },
        {
          "name": "Orders"
        }
      ]
    },
    "send_subscribe_user_changes_instrument_name_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.changes.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.changes.(instrument_name).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_changes_instrument_name_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.changes.(instrument_name).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.changes.(instrument_name).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_changes_kind_currency_interval": {
      "title": "Send subscribe request for user",
      "summary": "Client sends subscription request for user updates",
      "description": "Send a subscription request to receive user updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.changes.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.changes.(kind).(currency).(interval)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_changes_kind_currency_interval_updates": {
      "title": "Receive user updates",
      "summary": "Client receives user update notifications",
      "description": "Receive user update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.changes.(kind).(currency).(interval)"
      },
      "messages": [
        {
          "$ref": "#/channels/user.changes.(kind).(currency).(interval)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_access_log": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for user",
      "description": "Send a subscription request to receive user notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.access_log"
      },
      "messages": [
        {
          "$ref": "#/channels/user.access_log/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_access_log": {
      "title": "Receive user",
      "summary": "Client receives user notifications",
      "description": "Receive user notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.access_log"
      },
      "messages": [
        {
          "$ref": "#/channels/user.access_log/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_lock": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for user",
      "description": "Send a subscription request to receive user notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.lock"
      },
      "messages": [
        {
          "$ref": "#/channels/user.lock/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_lock": {
      "title": "Receive user",
      "summary": "Client receives user notifications",
      "description": "Receive user notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.lock"
      },
      "messages": [
        {
          "$ref": "#/channels/user.lock/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_liquidation": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for user",
      "description": "Send a subscription request to receive user notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.liquidation"
      },
      "messages": [
        {
          "$ref": "#/channels/user.liquidation/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_liquidation": {
      "title": "Receive user",
      "summary": "Client receives user notifications",
      "description": "Receive user notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.liquidation"
      },
      "messages": [
        {
          "$ref": "#/channels/user.liquidation/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_isolated_liquidation": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for user",
      "description": "Send a subscription request to receive user notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.isolated.liquidation"
      },
      "messages": [
        {
          "$ref": "#/channels/user.isolated.liquidation/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_isolated_liquidation": {
      "title": "Receive user",
      "summary": "Client receives user notifications",
      "description": "Receive user notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.isolated.liquidation"
      },
      "messages": [
        {
          "$ref": "#/channels/user.isolated.liquidation/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_user_lsp": {
      "title": "Send subscribe request",
      "summary": "Client sends subscription request for user",
      "description": "Send a subscription request to receive user notifications. This channel does not require any additional parameters.",
      "action": "send",
      "channel": {
        "$ref": "#/channels/user.lsp"
      },
      "messages": [
        {
          "$ref": "#/channels/user.lsp/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_user_lsp": {
      "title": "Receive user",
      "summary": "Client receives user notifications",
      "description": "Receive user notifications from the server",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/user.lsp"
      },
      "messages": [
        {
          "$ref": "#/channels/user.lsp/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "User"
        },
        {
          "name": "Lsp"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_block_rfq_maker_currency": {
      "title": "Send subscribe request for block_rfq",
      "summary": "Client sends subscription request for block_rfq updates",
      "description": "Send a subscription request to receive block_rfq updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_rfq.maker.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.maker.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_block_rfq_maker_currency_updates": {
      "title": "Receive block_rfq updates",
      "summary": "Client receives block_rfq update notifications",
      "description": "Receive block_rfq update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_rfq.maker.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.maker.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_block_rfq_taker_currency": {
      "title": "Send subscribe request for block_rfq",
      "summary": "Client sends subscription request for block_rfq updates",
      "description": "Send a subscription request to receive block_rfq updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_rfq.taker.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.taker.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_block_rfq_taker_currency_updates": {
      "title": "Receive block_rfq updates",
      "summary": "Client receives block_rfq update notifications",
      "description": "Receive block_rfq update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_rfq.taker.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.taker.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_block_rfq_maker_quotes_currency": {
      "title": "Send subscribe request for block_rfq",
      "summary": "Client sends subscription request for block_rfq updates",
      "description": "Send a subscription request to receive block_rfq updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_rfq.maker.quotes.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.maker.quotes.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "receive_block_rfq_maker_quotes_currency_updates": {
      "title": "Receive block_rfq updates",
      "summary": "Client receives block_rfq update notifications",
      "description": "Receive block_rfq update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_rfq.maker.quotes.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.maker.quotes.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Private"
        }
      ]
    },
    "send_subscribe_block_rfq_trades_currency": {
      "title": "Send subscribe request for block_rfq",
      "summary": "Client sends subscription request for block_rfq updates",
      "description": "Send a subscription request to receive block_rfq updates for a specific instrument with specified interval",
      "action": "send",
      "channel": {
        "$ref": "#/channels/block_rfq.trades.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.trades.(currency)/messages/subscription_message"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Public"
        }
      ]
    },
    "receive_block_rfq_trades_currency_updates": {
      "title": "Receive block_rfq updates",
      "summary": "Client receives block_rfq update notifications",
      "description": "Receive block_rfq update notifications from the server for the subscribed instrument",
      "action": "receive",
      "channel": {
        "$ref": "#/channels/block_rfq.trades.(currency)"
      },
      "messages": [
        {
          "$ref": "#/channels/block_rfq.trades.(currency)/messages/subscribe_request"
        }
      ],
      "tags": [
        {
          "name": "Block Rfq"
        },
        {
          "name": "Public"
        }
      ]
    }
  },
  "components": {
    "schemas": {
      "DeribitMessage": {
        "type": "object",
        "description": "Base message structure for Deribit WebSocket messages",
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "method": {
            "type": "string",
            "description": "The subscription method"
          },
          "params": {
            "type": "object",
            "description": "Method parameters"
          }
        },
        "required": [
          "jsonrpc",
          "method"
        ]
      }
    },
    "messages": {}
  }
}