Deribit · Schema
User Trade
DerivativesCryptocurrencyBitcoinEthereumOptionsFuturesPerpetualsTradingMarket DataBlock TradingWebSocketFinancial
Properties
| Name | Type | Description |
|---|---|---|
| trade_id | object | |
| trade_seq | object | |
| instrument_name | object | |
| timestamp | object | |
| order_type | string | Order type: `"limit`, `"market"`, or `"liquidation"` |
| advanced | string | Advanced type of user order: `"usd"` or `"implv"` (only for options; omitted if not applicable) |
| order_id | string | Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade |
| matching_id | string | Always `null` |
| direction | object | Trade direction of the taker |
| tick_direction | object | |
| index_price | number | Index Price at the moment of trade |
| price | object | The price of the trade |
| amount | number | 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 | number | Trade size in contract units (optional, may be absent in historical trades) |
| iv | number | Option implied volatility for the price (Option only) |
| underlying_price | number | Underlying price for implied volatility calculations (Options only) |
| liquidation | string | 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 li |
| liquidity | string | Describes what was role of users order: `"M"` when it was maker order, `"T"` when it was taker order |
| fee | number | User's fee in units of the specified `fee_currency` |
| fee_currency | object | |
| label | object | |
| state | object | |
| block_trade_id | object | |
| block_rfq_id | integer | ID of the Block RFQ - when trade was part of the Block RFQ |
| block_rfq_quote_id | integer | ID of the Block RFQ quote - when trade was part of the Block RFQ |
| reduce_only | string | `true` if user order is reduce-only |
| post_only | string | `true` if user order is post-only |
| mmp | boolean | `true` if user order is MMP |
| risk_reducing | boolean | `true` if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users) |
| api | boolean | `true` if user order was created with API |
| profit_loss | object | |
| mark_price | number | Mark Price at the moment of trade |
| legs | array | Optional field containing leg trades if trade is a combo trade (present when querying for **only** combo trades and in `combo_trades` events) |
| combo_id | string | Optional field containing combo instrument name if the trade is a combo trade |
| combo_trade_id | number | Optional field containing combo trade identifier if the trade is a combo trade |
| quote_set_id | string | QuoteSet of the user order (optional, present only for orders placed with `private/mass_quote`) |
| quote_id | string | QuoteID of the user order (optional, present only for orders placed with `private/mass_quote`) |
| trade_allocations | array | 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 wi |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/deribit/json-schema/user_trade.json",
"title": "User Trade",
"properties": {
"trade_id": {
"$ref": "#/components/schemas/trade_id"
},
"trade_seq": {
"$ref": "#/components/schemas/trade_seq"
},
"instrument_name": {
"$ref": "#/components/schemas/instrument_name"
},
"timestamp": {
"$ref": "#/components/schemas/trade_timestamp"
},
"order_type": {
"type": "string",
"enum": [
"limit",
"market",
"liquidation"
],
"description": "Order type: `\"limit`, `\"market\"`, or `\"liquidation\"`"
},
"advanced": {
"type": "string",
"enum": [
"usd",
"implv"
],
"description": "Advanced type of user order: `\"usd\"` or `\"implv\"` (only for options; omitted if not applicable)"
},
"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": {
"$ref": "#/components/schemas/direction",
"description": "Trade direction of the taker"
},
"tick_direction": {
"$ref": "#/components/schemas/tick_direction"
},
"index_price": {
"type": "number",
"description": "Index Price at the moment of trade"
},
"price": {
"$ref": "#/components/schemas/price",
"description": "The price of the trade"
},
"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",
"enum": [
"M",
"T",
"MT"
],
"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"
},
"liquidity": {
"type": "string",
"enum": [
"M",
"T"
],
"description": "Describes what was role of users order: `\"M\"` when it was maker order, `\"T\"` when it was taker order"
},
"fee": {
"type": "number",
"description": "User's fee in units of the specified `fee_currency`"
},
"fee_currency": {
"$ref": "#/components/schemas/currency"
},
"label": {
"$ref": "#/components/schemas/label_presentation"
},
"state": {
"$ref": "#/components/schemas/order_state_in_user_trade"
},
"block_trade_id": {
"$ref": "#/components/schemas/block_trade_id_in_result"
},
"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": {
"$ref": "#/components/schemas/profit_loss"
},
"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)"
},
"combo_id": {
"type": "string",
"description": "Optional field containing combo instrument name if the trade is a combo trade"
},
"combo_trade_id": {
"type": "number",
"description": "Optional field containing combo trade identifier if the trade is a combo trade"
},
"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": "array",
"items": {
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"description": "User ID to which part of the trade is allocated. For brokers the User ID is obstructed."
},
"amount": {
"type": "number",
"description": "Amount allocated to this user."
},
"fee": {
"type": "number",
"description": "Fee for the allocated part of the trade."
},
"client_info": {
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"description": "ID of a client; available to broker. Represents a group of users under a common name."
},
"client_link_id": {
"type": "integer",
"description": "ID assigned to a single user in a client; available to broker."
},
"name": {
"type": "string",
"description": "Name of the linked user within the client; available to broker."
}
},
"description": "Optional client allocation info for brokers."
}
},
"required": [
"amount",
"fee"
]
},
"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."
}
},
"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"
],
"type": "object"
}