Get Blockchain
curl --request GET \
--url https://api.blockworks.com/query/tabular/blockchains/{networkID} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/blockchains/{networkID}"
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/{networkID}', 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/{networkID}",
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/{networkID}"
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/{networkID}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/blockchains/{networkID}")
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": "<coingeckoAssetPlatformID>",
"defiLlamaChainName": "<defiLlamaChainName>",
"ecosystemName": "<ecosystemName>",
"ecosystemNetworkID": "<ecosystemNetworkID>",
"hasInternalMetrics": true,
"hasNetworkFundamentals": true,
"isEthereumL2": true,
"linkProjectID": "<linkProjectID>",
"linkProjectName": "<linkProjectName>",
"linkProjectPrimaryAssetID": "<linkProjectPrimaryAssetID>",
"linkProjectPrimaryAssetName": "<linkProjectPrimaryAssetName>",
"linkProjectPrimaryAssetSlug": "<linkProjectPrimaryAssetSlug>",
"linkProjectPrimaryAssetSymbol": "<linkProjectPrimaryAssetSymbol>",
"linkProjectSlug": "<linkProjectSlug>",
"logoURL": "<logoURL>",
"name": "<name>",
"networkID": "<networkID>",
"networkSerialID": 123,
"slug": "<slug>"
},
"error": null,
"metadata": {
"matchedField": "networkID"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"blockchains_unified\" permission"
}{
"data": null,
"error": "no row found matching \"unknown\""
}Blockchains
Get Blockchain
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.
GET
/
query
/
tabular
/
blockchains
/
{networkID}
Get Blockchain
curl --request GET \
--url https://api.blockworks.com/query/tabular/blockchains/{networkID} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/tabular/blockchains/{networkID}"
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/{networkID}', 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/{networkID}",
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/{networkID}"
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/{networkID}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/tabular/blockchains/{networkID}")
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": "<coingeckoAssetPlatformID>",
"defiLlamaChainName": "<defiLlamaChainName>",
"ecosystemName": "<ecosystemName>",
"ecosystemNetworkID": "<ecosystemNetworkID>",
"hasInternalMetrics": true,
"hasNetworkFundamentals": true,
"isEthereumL2": true,
"linkProjectID": "<linkProjectID>",
"linkProjectName": "<linkProjectName>",
"linkProjectPrimaryAssetID": "<linkProjectPrimaryAssetID>",
"linkProjectPrimaryAssetName": "<linkProjectPrimaryAssetName>",
"linkProjectPrimaryAssetSlug": "<linkProjectPrimaryAssetSlug>",
"linkProjectPrimaryAssetSymbol": "<linkProjectPrimaryAssetSymbol>",
"linkProjectSlug": "<linkProjectSlug>",
"logoURL": "<logoURL>",
"name": "<name>",
"networkID": "<networkID>",
"networkSerialID": 123,
"slug": "<slug>"
},
"error": null,
"metadata": {
"matchedField": "networkID"
}
}{
"data": null,
"error": "unknown selection field \"nope\""
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "this model requires the \"blockchains_unified\" permission"
}{
"data": null,
"error": "no row found matching \"unknown\""
}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.
Path Parameters
The Network ID identifying the row. Falls back to the alternative identifier fields (slug, tried in that order) when no Network ID matches; metadata.matchedField says which one matched.
Query Parameters
Comma-separated fields to return; defaults to all fields.
Available options:
networkID, networkSerialID, name, slug, logoURL, hasInternalMetrics, hasNetworkFundamentals, isEthereumL2, ecosystemNetworkID, ecosystemName, defiLlamaChainName, coingeckoAssetPlatformID, linkProjectID, linkProjectSlug, linkProjectName, linkProjectPrimaryAssetID, linkProjectPrimaryAssetName, linkProjectPrimaryAssetSlug, linkProjectPrimaryAssetSymbol