curl --request GET \
--url https://test.deribit.com/api/v2/private/execute_block_trade \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/execute_block_trade",
"params": {
"nonce": "bszyprbq",
"timestamp": 1590485535899,
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "sell",
"price": 8900,
"amount": 200000
},
{
"instrument_name": "BTC-28MAY20-9000-C",
"direction": "sell",
"amount": 5,
"price": 0.0133
}
],
"counterparty_signature": "1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/execute_block_trade"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/execute_block_trade",
"params": {
"nonce": "bszyprbq",
"timestamp": 1590485535899,
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "sell",
"price": 8900,
"amount": 200000
},
{
"instrument_name": "BTC-28MAY20-9000-C",
"direction": "sell",
"amount": 5,
"price": 0.0133
}
],
"counterparty_signature": "1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'private/execute_block_trade',
params: {
nonce: 'bszyprbq',
timestamp: 1590485535899,
role: 'maker',
trades: [
{
instrument_name: 'BTC-PERPETUAL',
direction: 'sell',
price: 8900,
amount: 200000
},
{
instrument_name: 'BTC-28MAY20-9000-C',
direction: 'sell',
amount: 5,
price: 0.0133
}
],
counterparty_signature: '1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI'
}
})
};
fetch('https://test.deribit.com/api/v2/private/execute_block_trade', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/private/execute_block_trade",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'private/execute_block_trade',
'params' => [
'nonce' => 'bszyprbq',
'timestamp' => 1590485535899,
'role' => 'maker',
'trades' => [
[
'instrument_name' => 'BTC-PERPETUAL',
'direction' => 'sell',
'price' => 8900,
'amount' => 200000
],
[
'instrument_name' => 'BTC-28MAY20-9000-C',
'direction' => 'sell',
'amount' => 5,
'price' => 0.0133
]
],
'counterparty_signature' => '1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/private/execute_block_trade"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/private/execute_block_trade")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/execute_block_trade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"result": {
"trades": [
{
"trade_seq": 37,
"trade_id": "92437",
"timestamp": 1565089523719,
"tick_direction": 3,
"state": "filled",
"price": 0.0001,
"order_type": "limit",
"order_id": "343062",
"matching_id": null,
"liquidity": "T",
"iv": 0,
"instrument_name": "BTC-9AUG19-10250-C",
"index_price": 11738,
"fee_currency": "BTC",
"fee": 0.00025,
"direction": "sell",
"block_trade_id": "61",
"amount": 10
},
{
"trade_seq": 25350,
"trade_id": "92435",
"timestamp": 1565089523719,
"tick_direction": 3,
"state": "filled",
"price": 11590,
"order_type": "limit",
"order_id": "343058",
"matching_id": null,
"liquidity": "T",
"instrument_name": "BTC-PERPETUAL",
"index_price": 11737.98,
"fee_currency": "BTC",
"fee": 0.00000164,
"direction": "buy",
"block_trade_id": "61",
"amount": 190
}
],
"timestamp": 1565089523720,
"id": "61"
}
}private/execute_block_trade
Executes a block trade. This is the second step in the block trade workflow - the second party calls this method with the signature received from the first party to execute the trade.
The whole request must be exactly the same as in private/verify_block_trade, only the role field should be set appropriately - this means that both sides have to agree on the same timestamp, nonce, and trades fields, and the server will ensure that the role field is different between sides (each party accepts their own role).
Using the same timestamp and nonce by both sides in private/verify_block_trade ensures that even if unintentionally both sides execute the given block trade with a valid counterparty_signature, the block trade will be executed only once.
Note: In the API, the direction field is always expressed from the makerโs perspective. This means that when you accept a block trade as a taker, the direction shown in the API represents the opposite side of your trade. For example, if you are buying puts as a taker, the API will show the operation as a โsell putโ (makerโs perspective), and you will be verifying and accepting a โsell putโ block trade.
๐ Related Article: Block Trading
Scope: block_trade:read_write
curl --request GET \
--url https://test.deribit.com/api/v2/private/execute_block_trade \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/execute_block_trade",
"params": {
"nonce": "bszyprbq",
"timestamp": 1590485535899,
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "sell",
"price": 8900,
"amount": 200000
},
{
"instrument_name": "BTC-28MAY20-9000-C",
"direction": "sell",
"amount": 5,
"price": 0.0133
}
],
"counterparty_signature": "1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI"
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/execute_block_trade"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/execute_block_trade",
"params": {
"nonce": "bszyprbq",
"timestamp": 1590485535899,
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "sell",
"price": 8900,
"amount": 200000
},
{
"instrument_name": "BTC-28MAY20-9000-C",
"direction": "sell",
"amount": 5,
"price": 0.0133
}
],
"counterparty_signature": "1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI"
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'private/execute_block_trade',
params: {
nonce: 'bszyprbq',
timestamp: 1590485535899,
role: 'maker',
trades: [
{
instrument_name: 'BTC-PERPETUAL',
direction: 'sell',
price: 8900,
amount: 200000
},
{
instrument_name: 'BTC-28MAY20-9000-C',
direction: 'sell',
amount: 5,
price: 0.0133
}
],
counterparty_signature: '1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI'
}
})
};
fetch('https://test.deribit.com/api/v2/private/execute_block_trade', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/private/execute_block_trade",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 1,
'method' => 'private/execute_block_trade',
'params' => [
'nonce' => 'bszyprbq',
'timestamp' => 1590485535899,
'role' => 'maker',
'trades' => [
[
'instrument_name' => 'BTC-PERPETUAL',
'direction' => 'sell',
'price' => 8900,
'amount' => 200000
],
[
'instrument_name' => 'BTC-28MAY20-9000-C',
'direction' => 'sell',
'amount' => 5,
'price' => 0.0133
]
],
'counterparty_signature' => '1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/private/execute_block_trade"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/private/execute_block_trade")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/execute_block_trade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/execute_block_trade\",\n \"params\": {\n \"nonce\": \"bszyprbq\",\n \"timestamp\": 1590485535899,\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"sell\",\n \"price\": 8900,\n \"amount\": 200000\n },\n {\n \"instrument_name\": \"BTC-28MAY20-9000-C\",\n \"direction\": \"sell\",\n \"amount\": 5,\n \"price\": 0.0133\n }\n ],\n \"counterparty_signature\": \"1590485595899.1Mn52L_Q.lNyNBzXXo-_QBT_wDuMgnhA7uS9tBqdQ5TLN6rxbuoAiQhyaJYGJrm5IV_9enp9niY_x8D60AJLm3yEKPUY1Dv3T0TW0n5-ADPpJF7Fpj0eVDZpZ6QCdX8snBWrSJ0TtqevnO64RCBlN1dIm2T70PP9dlhiqPDAUYI4fpB1vLYI\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"result": {
"trades": [
{
"trade_seq": 37,
"trade_id": "92437",
"timestamp": 1565089523719,
"tick_direction": 3,
"state": "filled",
"price": 0.0001,
"order_type": "limit",
"order_id": "343062",
"matching_id": null,
"liquidity": "T",
"iv": 0,
"instrument_name": "BTC-9AUG19-10250-C",
"index_price": 11738,
"fee_currency": "BTC",
"fee": 0.00025,
"direction": "sell",
"block_trade_id": "61",
"amount": 10
},
{
"trade_seq": 25350,
"trade_id": "92435",
"timestamp": 1565089523719,
"tick_direction": 3,
"state": "filled",
"price": 11590,
"order_type": "limit",
"order_id": "343058",
"matching_id": null,
"liquidity": "T",
"instrument_name": "BTC-PERPETUAL",
"index_price": 11737.98,
"fee_currency": "BTC",
"fee": 0.00000164,
"direction": "buy",
"block_trade_id": "61",
"amount": 190
}
],
"timestamp": 1565089523720,
"id": "61"
}
}Query Parameters
Timestamp, shared with other party (milliseconds since the UNIX epoch) The timestamp (milliseconds since the Unix epoch)
1536569522277
Nonce
"bF1_gfgcsd"
Describes if user wants to be maker or taker of trades
Trade role of the user: maker or taker
maker, taker List of trades for block trade
Hide child attributes
Hide child attributes
Instrument name
"BTC-PERPETUAL"
Price for trade
It represents the requested trade size. For perpetual and inverse futures the amount is in USD units. For options and linear futures it is the underlying base currency coin.
Direction of trade from the maker perspective
buy, sell Signature of block trade generated by private/verify_block_trade_method
Signature of block trade
It is valid only for 5 minutes around given timestamp
"1565173369982.1M9tO0Q-.z9n9WyZUU5op9pEz6Jtd2CI71QxQMMsCZAexnIfK9HQRT1pKH3clxeIbY7Bqm-yMcWIoE3IfCDPW5VEdiN-6oS0YkKUyXPD500MUf3ULKhfkmH81EZs"
Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
Block trade id
"154"
The timestamp (milliseconds since the Unix epoch)
1536569522277
Hide child attributes
Hide child attributes
Unique (per currency) trade identifier
The sequence number of the trade within instrument
Unique instrument identifier
"BTC-PERPETUAL"
The timestamp of the trade (milliseconds since the UNIX epoch)
1517329113791
Id of the user order (maker or taker), i.e. subscriber's order id that took part in the trade
Always null
Trade direction of the taker
buy, sell Direction of the "tick" (0 = Plus Tick, 1 = Zero-Plus Tick, 2 = Minus Tick, 3 = Zero-Minus Tick).
0, 1, 2, 3 Index Price at the moment of trade
The price of the trade
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.
User's fee in units of the specified fee_currency
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, USDC, USDT, EURR Order state: "open", "filled", "rejected", "cancelled", "untriggered" or "archive" (if order was archived)
open, filled, rejected, cancelled, untriggered, archive Mark Price at the moment of trade
Order type: "limit, "market", or "liquidation"
limit, market, liquidation Advanced type of user order: "usd" or "implv" (only for options; omitted if not applicable)
usd, implv Trade size in contract units (optional, may be absent in historical trades)
Option implied volatility for the price (Option only)
Underlying price for implied volatility calculations (Options only)
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
M, T, MT Describes what was role of users order: "M" when it was maker order, "T" when it was taker order
M, T User defined label (presented only when previously set for order by user)
Block trade id - when trade was part of a block trade
"154"
ID of the Block RFQ - when trade was part of the Block RFQ
ID of the Block RFQ quote - when trade was part of the Block RFQ
true if user order is reduce-only
true if user order is post-only
true if user order is MMP
true if user order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users)
true if user order was created with API
Profit and loss in base currency.
Optional field containing leg trades if trade is a combo trade (present when querying for only combo trades and in combo_trades events)
Optional field containing combo instrument name if the trade is a combo trade
Optional field containing combo trade identifier if the trade is a combo trade
QuoteSet of the user order (optional, present only for orders placed with private/mass_quote)
QuoteID of the user order (optional, present only for orders placed with private/mass_quote)
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.
Hide child attributes
Hide child attributes
Amount allocated to this user.
Fee for the allocated part of the trade.
User ID to which part of the trade is allocated. For brokers the User ID is obstructed.
Optional client allocation info for brokers.
Hide child attributes
Hide child attributes
ID of a client; available to broker. Represents a group of users under a common name.
ID assigned to a single user in a client; available to broker.
Name of the linked user within the client; available to broker.
The name of the application that executed the block trade on behalf of the user (optional).
"Example Application"
Broker code associated with the broker block trade.
"2krM7sJsx"
Name of the broker associated with the block trade.
"Test Broker"
The id that was sent in the request
Was this page helpful?