curl --request GET \
--url https://api.blockworks.com/query/tabular/vault-performances \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/vault-performances"
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/vault-performances', 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/vault-performances",
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/vault-performances"
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/vault-performances")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/vault-performances")
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>",
"curator": "<curator>",
"curatorProjectID": "<curatorProjectID>",
"curatorProjectSlug": "<curatorProjectSlug>",
"curatorSlug": "<curatorSlug>",
"id": "<id>",
"institutionalPartner": "<institutionalPartner>",
"name": "<name>",
"networkID": "<networkID>",
"parentSlug": "<parentSlug>",
"productSlug": "<productSlug>",
"projectID": "<projectID>",
"protocolName": "<protocolName>",
"protocolSlug": "<protocolSlug>",
"slug": "<slug>",
"tokenAddress": "<tokenAddress>",
"tokenSymbol": "<tokenSymbol>",
"vaultCategory": "<vaultCategory>",
"vaultID": "<vaultID>",
"vaultName": "<vaultName>",
"vaultStrategy": "<vaultStrategy>",
"vaultSubcategory": "<vaultSubcategory>",
"vaultType": "<vaultType>",
"vaultVersion": "<vaultVersion>"
}
],
"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 \"vaults-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 Vault Performances
One row per token in a vault with performance data, keyed by protocol, product, chain, vault and token: the vault, its curator and classification, the token, the parent protocol and product, chain and the mapped protocol, project and network records. The id is the series key of the vault- performances timeseries model.
curl --request GET \
--url https://api.blockworks.com/query/tabular/vault-performances \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/vault-performances"
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/vault-performances', 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/vault-performances",
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/vault-performances"
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/vault-performances")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/vault-performances")
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>",
"curator": "<curator>",
"curatorProjectID": "<curatorProjectID>",
"curatorProjectSlug": "<curatorProjectSlug>",
"curatorSlug": "<curatorSlug>",
"id": "<id>",
"institutionalPartner": "<institutionalPartner>",
"name": "<name>",
"networkID": "<networkID>",
"parentSlug": "<parentSlug>",
"productSlug": "<productSlug>",
"projectID": "<projectID>",
"protocolName": "<protocolName>",
"protocolSlug": "<protocolSlug>",
"slug": "<slug>",
"tokenAddress": "<tokenAddress>",
"tokenSymbol": "<tokenSymbol>",
"vaultCategory": "<vaultCategory>",
"vaultID": "<vaultID>",
"vaultName": "<vaultName>",
"vaultStrategy": "<vaultStrategy>",
"vaultSubcategory": "<vaultSubcategory>",
"vaultType": "<vaultType>",
"vaultVersion": "<vaultVersion>"
}
],
"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 \"vaults-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
Vault Performance ID equals.
Vault Performance 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).
Vault ID equals.
Vault ID is one of (comma-separated).
Vault Name equals.
Vault Name is one of (comma-separated).
Vault Name contains (case-insensitive substring).
Vault Type equals.
Vault Type is one of (comma-separated).
Vault Version equals.
Vault Version is one of (comma-separated).
Vault Strategy equals.
Vault Strategy is one of (comma-separated).
Vault Category equals.
Vault Category is one of (comma-separated).
Vault Subcategory equals.
Vault Subcategory is one of (comma-separated).
Curator equals.
Curator is one of (comma-separated).
Curator contains (case-insensitive substring).
Curator Slug equals.
Curator Slug is one of (comma-separated).
Curator Project ID equals.
Curator Project ID is one of (comma-separated).
Curator Project Slug equals.
Curator Project Slug is one of (comma-separated).
Institutional Partner equals.
Institutional Partner 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, vaultID, vaultName, vaultType, vaultVersion, vaultStrategy, vaultCategory, vaultSubcategory, curator, curatorSlug, curatorProjectID, curatorProjectSlug, institutionalPartner, 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