curl --request GET \
--url https://api.blockworks.com/query/tabular/blockchains \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/blockchains"
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/blockchains', 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/blockchains",
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/blockchains"
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/blockchains")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/blockchains")
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": [
{
"coingeckoAssetPlatformID": "<string>",
"defiLlamaChainName": "<string>",
"ecosystemName": "<string>",
"ecosystemNetworkID": "<string>",
"hasInternalMetrics": true,
"hasNetworkFundamentals": true,
"isEthereumL2": true,
"linkProjectID": "<string>",
"linkProjectName": "<string>",
"linkProjectPrimaryAssetID": "<string>",
"linkProjectPrimaryAssetName": "<string>",
"linkProjectPrimaryAssetSlug": "<string>",
"linkProjectPrimaryAssetSymbol": "<string>",
"linkProjectSlug": "<string>",
"logoURL": "<string>",
"name": "<string>",
"networkID": "<string>",
"networkSerialID": 123,
"slug": "<string>"
}
],
"metadata": {
"totalPages": 123,
"totalRows": 123
},
"error": "<string>"
}{
"data": null,
"error": "unknown query parameter \"networkID\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"blockchains_unified\" permission"
}{
"data": null,
"error": "tabular model \"unknown-model\" not found"
}List Blockchains
One row per blockchain network, keyed by networkID and also found by slug: name, logo, ecosystem, layer-2 flag, whether it reports onchain metrics, external ids and the linked project with its primary asset. The networkID is the series key of the blockchains timeseries model.
curl --request GET \
--url https://api.blockworks.com/query/tabular/blockchains \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/blockchains"
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/blockchains', 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/blockchains",
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/blockchains"
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/blockchains")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/blockchains")
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": [
{
"coingeckoAssetPlatformID": "<string>",
"defiLlamaChainName": "<string>",
"ecosystemName": "<string>",
"ecosystemNetworkID": "<string>",
"hasInternalMetrics": true,
"hasNetworkFundamentals": true,
"isEthereumL2": true,
"linkProjectID": "<string>",
"linkProjectName": "<string>",
"linkProjectPrimaryAssetID": "<string>",
"linkProjectPrimaryAssetName": "<string>",
"linkProjectPrimaryAssetSlug": "<string>",
"linkProjectPrimaryAssetSymbol": "<string>",
"linkProjectSlug": "<string>",
"logoURL": "<string>",
"name": "<string>",
"networkID": "<string>",
"networkSerialID": 123,
"slug": "<string>"
}
],
"metadata": {
"totalPages": 123,
"totalRows": 123
},
"error": "<string>"
}{
"data": null,
"error": "unknown query parameter \"networkID\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"blockchains_unified\" permission"
}{
"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 on the public access tier need no key.
Query Parameters
Network ID equals.
Network ID is one of (comma-separated).
Network ID is not one of (comma-separated).
Network Serial ID equals.
Network Serial 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).
Has Internal Metrics equals.
Has Internal Metrics does not equal.
Has Network Fundamentals equals.
Has Network Fundamentals does not equal.
Is Ethereum L2 equals.
Is Ethereum L2 does not equal.
Ecosystem Network ID equals.
Ecosystem Network ID is one of (comma-separated).
Ecosystem Name equals.
Ecosystem Name is one of (comma-separated).
Ecosystem Name is not one of (comma-separated).
DefiLlama Chain Name equals.
DefiLlama Chain Name is one of (comma-separated).
CoinGecko Asset Platform ID equals.
CoinGecko Asset Platform ID is one of (comma-separated).
Link Project ID equals.
Link Project ID is one of (comma-separated).
Link Project Slug equals.
Link Project Slug is one of (comma-separated).
Link Project Primary Asset ID equals.
Link Project Primary Asset ID is one of (comma-separated).
Link Project Primary Asset Slug equals.
Link Project Primary Asset Slug is one of (comma-separated).
Link Project Primary Asset Symbol equals.
Link Project Primary Asset Symbol is one of (comma-separated).
Field to sort by; defaults to the model's default sort column.
name, slug Sort direction.
asc, desc 1-based page number.
Rows per page (max 1000, default 100).
Comma-separated fields to return; defaults to all fields.
networkID, networkSerialID, name, slug, logoURL, hasInternalMetrics, hasNetworkFundamentals, isEthereumL2, ecosystemNetworkID, ecosystemName, defiLlamaChainName, coingeckoAssetPlatformID, linkProjectID, linkProjectSlug, linkProjectName, linkProjectPrimaryAssetID, linkProjectPrimaryAssetName, linkProjectPrimaryAssetSlug, linkProjectPrimaryAssetSymbol 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