curl --request GET \
--url https://api.blockworks.com/query/tabular/lending-market-interest-rates \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/lending-market-interest-rates"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/lending-market-interest-rates', 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://api.blockworks.com/query/tabular/lending-market-interest-rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Blockworks-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.blockworks.com/query/tabular/lending-market-interest-rates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blockworks.com/query/tabular/lending-market-interest-rates")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/lending-market-interest-rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"chain": "<chain>",
"id": "<id>",
"marketID": "<marketID>",
"marketName": "<marketName>",
"marketType": "<marketType>",
"name": "<name>",
"networkID": "<networkID>",
"parentSlug": "<parentSlug>",
"productSlug": "<productSlug>",
"projectID": "<projectID>",
"protocolName": "<protocolName>",
"protocolSlug": "<protocolSlug>",
"slug": "<slug>",
"tokenAddress": "<tokenAddress>",
"tokenSymbol": "<tokenSymbol>"
}
],
"error": null,
"metadata": {
"totalPages": 1,
"totalRows": 1
}
}{
"data": null,
"error": "unknown query parameter \"id\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"lending-protocols-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "tabular model \"unknown-model\" not found"
}List Lending Market Interest Rates
One row per token in a lending market with interest rates, keyed by protocol, product, chain, market and token: the market and token, the parent protocol and product, chain and the mapped protocol, project and network records. The id is the series key of the lending-market-interest-rates timeseries model.
curl --request GET \
--url https://api.blockworks.com/query/tabular/lending-market-interest-rates \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/lending-market-interest-rates"
headers = {"X-Blockworks-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Blockworks-API-Key': '<api-key>'}};
fetch('https://api.blockworks.com/query/tabular/lending-market-interest-rates', 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://api.blockworks.com/query/tabular/lending-market-interest-rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Blockworks-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.blockworks.com/query/tabular/lending-market-interest-rates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Blockworks-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.blockworks.com/query/tabular/lending-market-interest-rates")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/lending-market-interest-rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Blockworks-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"chain": "<chain>",
"id": "<id>",
"marketID": "<marketID>",
"marketName": "<marketName>",
"marketType": "<marketType>",
"name": "<name>",
"networkID": "<networkID>",
"parentSlug": "<parentSlug>",
"productSlug": "<productSlug>",
"projectID": "<projectID>",
"protocolName": "<protocolName>",
"protocolSlug": "<protocolSlug>",
"slug": "<slug>",
"tokenAddress": "<tokenAddress>",
"tokenSymbol": "<tokenSymbol>"
}
],
"error": null,
"metadata": {
"totalPages": 1,
"totalRows": 1
}
}{
"data": null,
"error": "unknown query parameter \"id\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"lending-protocols-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "tabular model \"unknown-model\" not found"
}Authorizations
API key sent in the X-Blockworks-API-Key header; x-messari-api-key is accepted for existing integrations. The catalog endpoints and models open to everyone need no key.
Query Parameters
Lending Market Interest Rate ID equals.
Lending Market Interest Rate ID is one of (comma-separated).
Name equals.
Name is one of (comma-separated).
Name contains (case-insensitive substring).
Slug equals.
Slug is one of (comma-separated).
Parent Slug equals.
Parent Slug is one of (comma-separated).
Product Slug equals.
Product Slug is one of (comma-separated).
Chain equals.
Chain is one of (comma-separated).
Market ID equals.
Market ID is one of (comma-separated).
Market Name equals.
Market Name is one of (comma-separated).
Market Name contains (case-insensitive substring).
Market Type equals.
Market Type is one of (comma-separated).
Token Address equals.
Token Address is one of (comma-separated).
Token Symbol equals.
Token Symbol is one of (comma-separated).
Token Symbol contains (case-insensitive substring).
Protocol Slug equals.
Protocol Slug is one of (comma-separated).
Protocol Name equals.
Protocol Name is one of (comma-separated).
Project ID equals.
Project ID is one of (comma-separated).
Network ID equals.
Network ID is one of (comma-separated).
Field to sort by; defaults to the model's default sort column.
name, slug, parentSlug, tokenSymbol Sort direction.
asc, desc 1-based page number.
Rows per page (max 1000, default 100).
Comma-separated fields to return; defaults to all fields.
id, name, slug, parentSlug, productSlug, chain, marketID, marketName, marketType, tokenAddress, tokenSymbol, protocolSlug, protocolName, projectID, networkID Response format, overriding the Accept header: json (default), csv, or jsonl (NDJSON). csv and jsonl return the rows as a downloadable file.
json, csv, jsonl