cURL
curl --request GET \
--url https://test.deribit.com/api/v2/private/simulate_block_trade \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/simulate_block_trade",
"params": {
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "buy",
"price": 11624,
"amount": 40
},
{
"instrument_name": "BTC-9AUG19-10250-P",
"direction": "buy",
"amount": 1.2,
"price": 0.0707
}
]
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/simulate_block_trade"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/simulate_block_trade",
"params": {
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "buy",
"price": 11624,
"amount": 40
},
{
"instrument_name": "BTC-9AUG19-10250-P",
"direction": "buy",
"amount": 1.2,
"price": 0.0707
}
]
}
}
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/simulate_block_trade',
params: {
role: 'maker',
trades: [
{instrument_name: 'BTC-PERPETUAL', direction: 'buy', price: 11624, amount: 40},
{
instrument_name: 'BTC-9AUG19-10250-P',
direction: 'buy',
amount: 1.2,
price: 0.0707
}
]
}
})
};
fetch('https://test.deribit.com/api/v2/private/simulate_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/simulate_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/simulate_block_trade',
'params' => [
'role' => 'maker',
'trades' => [
[
'instrument_name' => 'BTC-PERPETUAL',
'direction' => 'buy',
'price' => 11624,
'amount' => 40
],
[
'instrument_name' => 'BTC-9AUG19-10250-P',
'direction' => 'buy',
'amount' => 1.2,
'price' => 0.0707
]
]
]
]),
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/simulate_block_trade"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\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/simulate_block_trade")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/simulate_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/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"result": true
}Block Trade
private/simulate_block_trade
Checks if a block trade can be executed without actually executing it. Use this method to verify that a block trade will succeed before proceeding with the actual execution.
๐ Related Article: Block Trading
Scope: block_trade:read
cURL
curl --request GET \
--url https://test.deribit.com/api/v2/private/simulate_block_trade \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 1,
"method": "private/simulate_block_trade",
"params": {
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "buy",
"price": 11624,
"amount": 40
},
{
"instrument_name": "BTC-9AUG19-10250-P",
"direction": "buy",
"amount": 1.2,
"price": 0.0707
}
]
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/simulate_block_trade"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "private/simulate_block_trade",
"params": {
"role": "maker",
"trades": [
{
"instrument_name": "BTC-PERPETUAL",
"direction": "buy",
"price": 11624,
"amount": 40
},
{
"instrument_name": "BTC-9AUG19-10250-P",
"direction": "buy",
"amount": 1.2,
"price": 0.0707
}
]
}
}
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/simulate_block_trade',
params: {
role: 'maker',
trades: [
{instrument_name: 'BTC-PERPETUAL', direction: 'buy', price: 11624, amount: 40},
{
instrument_name: 'BTC-9AUG19-10250-P',
direction: 'buy',
amount: 1.2,
price: 0.0707
}
]
}
})
};
fetch('https://test.deribit.com/api/v2/private/simulate_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/simulate_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/simulate_block_trade',
'params' => [
'role' => 'maker',
'trades' => [
[
'instrument_name' => 'BTC-PERPETUAL',
'direction' => 'buy',
'price' => 11624,
'amount' => 40
],
[
'instrument_name' => 'BTC-9AUG19-10250-P',
'direction' => 'buy',
'amount' => 1.2,
'price' => 0.0707
]
]
]
]),
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/simulate_block_trade"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\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/simulate_block_trade")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 1,\n \"method\": \"private/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/simulate_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/simulate_block_trade\",\n \"params\": {\n \"role\": \"maker\",\n \"trades\": [\n {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"direction\": \"buy\",\n \"price\": 11624,\n \"amount\": 40\n },\n {\n \"instrument_name\": \"BTC-9AUG19-10250-P\",\n \"direction\": \"buy\",\n \"amount\": 1.2,\n \"price\": 0.0707\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"result": true
}Query Parameters
Describes if user wants to be maker or taker of trades
Trade role of the user: maker or taker
Available options:
maker, taker List of trades for block trade
Hide child attributes
Hide child attributes
Instrument name
Example:
"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
Available options:
buy, sell Was this page helpful?
โI