curl --request GET \
--url https://test.deribit.com/api/v2/public/get_book_summary_by_currency \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 9344,
"method": "public/get_book_summary_by_currency",
"params": {
"currency": "BTC",
"kind": "future"
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_book_summary_by_currency"
payload = {
"jsonrpc": "2.0",
"id": 9344,
"method": "public/get_book_summary_by_currency",
"params": {
"currency": "BTC",
"kind": "future"
}
}
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: 9344,
method: 'public/get_book_summary_by_currency',
params: {currency: 'BTC', kind: 'future'}
})
};
fetch('https://test.deribit.com/api/v2/public/get_book_summary_by_currency', 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/public/get_book_summary_by_currency",
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' => 9344,
'method' => 'public/get_book_summary_by_currency',
'params' => [
'currency' => 'BTC',
'kind' => 'future'
]
]),
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/public/get_book_summary_by_currency"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\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/public/get_book_summary_by_currency")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_book_summary_by_currency")
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\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 3659,
"result": [
{
"volume": 0.55,
"underlying_price": 121.38,
"underlying_index": "index_price",
"quote_currency": "USD",
"price_change": -26.7793594,
"open_interest": 0.55,
"mid_price": 0.2444,
"mark_price": 80,
"low": 0.34,
"last": 0.34,
"interest_rate": 0.207,
"instrument_name": "ETH-22FEB19-140-P",
"high": 0.34,
"creation_timestamp": 1550227952163,
"bid_price": 0.1488,
"base_currency": "ETH",
"ask_price": 0.34
}
]
}public/get_book_summary_by_currency
Retrieves summary information such as open interest, 24-hour volume, best bid/ask prices, last trade price, and other market statistics for all instruments in a given currency.
Results can be filtered by instrument kind (future, option, etc.). This method provides a quick overview of market activity across all instruments for a currency.
Note: For real-time updates, we recommend using the WebSocket subscription to ticker.{instrument_name}.{interval} instead of polling this endpoint.
curl --request GET \
--url https://test.deribit.com/api/v2/public/get_book_summary_by_currency \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 9344,
"method": "public/get_book_summary_by_currency",
"params": {
"currency": "BTC",
"kind": "future"
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_book_summary_by_currency"
payload = {
"jsonrpc": "2.0",
"id": 9344,
"method": "public/get_book_summary_by_currency",
"params": {
"currency": "BTC",
"kind": "future"
}
}
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: 9344,
method: 'public/get_book_summary_by_currency',
params: {currency: 'BTC', kind: 'future'}
})
};
fetch('https://test.deribit.com/api/v2/public/get_book_summary_by_currency', 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/public/get_book_summary_by_currency",
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' => 9344,
'method' => 'public/get_book_summary_by_currency',
'params' => [
'currency' => 'BTC',
'kind' => 'future'
]
]),
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/public/get_book_summary_by_currency"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\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/public/get_book_summary_by_currency")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_book_summary_by_currency")
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\": 9344,\n \"method\": \"public/get_book_summary_by_currency\",\n \"params\": {\n \"currency\": \"BTC\",\n \"kind\": \"future\"\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 3659,
"result": [
{
"volume": 0.55,
"underlying_price": 121.38,
"underlying_index": "index_price",
"quote_currency": "USD",
"price_change": -26.7793594,
"open_interest": 0.55,
"mid_price": 0.2444,
"mark_price": 80,
"low": 0.34,
"last": 0.34,
"interest_rate": 0.207,
"instrument_name": "ETH-22FEB19-140-P",
"high": 0.34,
"creation_timestamp": 1550227952163,
"bid_price": 0.1488,
"base_currency": "ETH",
"ask_price": 0.34
}
]
}Query Parameters
The currency symbol
Currency, i.e "BTC", "ETH", "USDC"
BTC, ETH, USDC, USDT, EURR Instrument kind, if not provided instruments of all kinds are considered
Instrument kind: "future", "option", "spot", "future_combo", "option_combo"
future, option, spot, future_combo, option_combo Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
Unique instrument identifier
"BTC-PERPETUAL"
Price of the 24h highest trade
7022.89
Price of the 24h lowest trade, null if there weren't any trades
7022.89
Base currency
"ETH"
Quote currency
"USD"
The total 24h traded volume (in base currency)
223
The current best bid price, null if there aren't any bids
7022.89
The current best ask price, null if there aren't any asks
7022.89
The average of the best bid and ask, null if there aren't any asks or bids
7022.89
The current instrument market price
7022.89
The price of the latest trade, null if there weren't any trades
7022.89
Optional (only for derivatives). 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.
0.5
The timestamp (milliseconds since the Unix epoch)
1536569522277
Optional (only for derivatives). Estimated delivery price for the market.
11628.81
Volume in USD
Volume in quote currency (futures and spots only)
Current instantaneous funding rate (perpetual only). Calculated as (mark_price − index_price) / index_price at this moment. This is the rate that would apply if a funding settlement occurred right now.
0.12344
Projected 8-hour funding rate for the current settlement window (perpetual only). This is the time-weighted accumulation of the funding rate since the last 8-hour settlement — i.e. the total rate that will be charged or received at the next settlement. current_funding shows the instantaneous rate; funding_8h shows what has accumulated toward the next settlement.
(Only for option) implied volatility for mark price
Interest rate used in implied volatility calculations (options only)
0
Name of the underlying future, or 'index_price' (options only)
"index_price"
underlying price for implied volatility calculations (options only)
6745.34
24-hour price change expressed as a percentage, null if there weren't any trades
10.23
The id that was sent in the request
Was this page helpful?