curl --request GET \
--url https://test.deribit.com/api/v2/public/get_funding_rate_history \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 7617,
"method": "public/get_funding_rate_history",
"params": {
"instrument_name": "BTC-PERPETUAL",
"start_timestamp": 1569888000000,
"end_timestamp": 1569902400000
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_funding_rate_history"
payload = {
"jsonrpc": "2.0",
"id": 7617,
"method": "public/get_funding_rate_history",
"params": {
"instrument_name": "BTC-PERPETUAL",
"start_timestamp": 1569888000000,
"end_timestamp": 1569902400000
}
}
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: 7617,
method: 'public/get_funding_rate_history',
params: {
instrument_name: 'BTC-PERPETUAL',
start_timestamp: 1569888000000,
end_timestamp: 1569902400000
}
})
};
fetch('https://test.deribit.com/api/v2/public/get_funding_rate_history', 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_funding_rate_history",
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' => 7617,
'method' => 'public/get_funding_rate_history',
'params' => [
'instrument_name' => 'BTC-PERPETUAL',
'start_timestamp' => 1569888000000,
'end_timestamp' => 1569902400000
]
]),
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_funding_rate_history"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\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_funding_rate_history")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_funding_rate_history")
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\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 7617,
"result": [
{
"timestamp": 1569891600000,
"index_price": 8222.87,
"prev_index_price": 8305.72,
"interest_8h": -0.00009234260068476106,
"interest_1h": -4.739622041017375e-7
},
{
"timestamp": 1569895200000,
"index_price": 8286.49,
"prev_index_price": 8222.87,
"interest_8h": -0.00006720918180255509,
"interest_1h": -2.8583510923267753e-7
},
{
"timestamp": 1569898800000,
"index_price": 8431.97,
"prev_index_price": 8286.49,
"interest_8h": -0.00003544496169694662,
"interest_1h": -0.000003815906848177951
},
{
"timestamp": 1569902400000,
"index_price": 8422.36,
"prev_index_price": 8431.97,
"interest_8h": -0.00001404147515584998,
"interest_1h": 8.312033064379086e-7
}
]
}public/get_funding_rate_history
Retrieves hourly historical funding rate (interest rate) data for a PERPETUAL instrument over a specified time period. Funding rates are periodic payments exchanged between long and short positions in perpetual contracts.
The response includes hourly funding rate values, which can be used to analyze funding rate trends and calculate historical funding costs. This method is applicable only for PERPETUAL instruments.
curl --request GET \
--url https://test.deribit.com/api/v2/public/get_funding_rate_history \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 7617,
"method": "public/get_funding_rate_history",
"params": {
"instrument_name": "BTC-PERPETUAL",
"start_timestamp": 1569888000000,
"end_timestamp": 1569902400000
}
}
'import requests
url = "https://test.deribit.com/api/v2/public/get_funding_rate_history"
payload = {
"jsonrpc": "2.0",
"id": 7617,
"method": "public/get_funding_rate_history",
"params": {
"instrument_name": "BTC-PERPETUAL",
"start_timestamp": 1569888000000,
"end_timestamp": 1569902400000
}
}
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: 7617,
method: 'public/get_funding_rate_history',
params: {
instrument_name: 'BTC-PERPETUAL',
start_timestamp: 1569888000000,
end_timestamp: 1569902400000
}
})
};
fetch('https://test.deribit.com/api/v2/public/get_funding_rate_history', 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_funding_rate_history",
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' => 7617,
'method' => 'public/get_funding_rate_history',
'params' => [
'instrument_name' => 'BTC-PERPETUAL',
'start_timestamp' => 1569888000000,
'end_timestamp' => 1569902400000
]
]),
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_funding_rate_history"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\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_funding_rate_history")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/public/get_funding_rate_history")
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\": 7617,\n \"method\": \"public/get_funding_rate_history\",\n \"params\": {\n \"instrument_name\": \"BTC-PERPETUAL\",\n \"start_timestamp\": 1569888000000,\n \"end_timestamp\": 1569902400000\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 7617,
"result": [
{
"timestamp": 1569891600000,
"index_price": 8222.87,
"prev_index_price": 8305.72,
"interest_8h": -0.00009234260068476106,
"interest_1h": -4.739622041017375e-7
},
{
"timestamp": 1569895200000,
"index_price": 8286.49,
"prev_index_price": 8222.87,
"interest_8h": -0.00006720918180255509,
"interest_1h": -2.8583510923267753e-7
},
{
"timestamp": 1569898800000,
"index_price": 8431.97,
"prev_index_price": 8286.49,
"interest_8h": -0.00003544496169694662,
"interest_1h": -0.000003815906848177951
},
{
"timestamp": 1569902400000,
"index_price": 8422.36,
"prev_index_price": 8431.97,
"interest_8h": -0.00001404147515584998,
"interest_1h": 8.312033064379086e-7
}
]
}Query Parameters
Instrument name Unique instrument identifier
"BTC-PERPETUAL"
The earliest timestamp to return result from (milliseconds since the UNIX epoch) The timestamp (milliseconds since the Unix epoch)
1536569522277
The most recent timestamp to return result from (milliseconds since the UNIX epoch) The timestamp (milliseconds since the Unix epoch)
1536569522277
Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
The id that was sent in the request
Was this page helpful?