List TCG Platforms
curl --request GET \
--url https://api.messari.io/metrics/v2/protocols/tcg \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/protocols/tcg"
headers = {"X-Messari-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Messari-API-Key': '<api-key>'}};
fetch('https://api.messari.io/metrics/v2/protocols/tcg', 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.messari.io/metrics/v2/protocols/tcg",
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-Messari-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.messari.io/metrics/v2/protocols/tcg"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Messari-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.messari.io/metrics/v2/protocols/tcg")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/protocols/tcg")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Messari-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": null,
"data": {
"data": [
{
"id": "beezie",
"name": "beezie",
"projectSlug": "beezie",
"chains": [
{
"id": "beezie_base",
"chain": "base",
"networkSlug": "base"
},
{
"id": "beezie_flow",
"chain": "flow",
"networkSlug": "flow"
},
{
"id": "beezie_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "bonkuji",
"name": "bonkuji",
"projectSlug": null,
"chains": [
{
"id": "bonkuji_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "collector-crypt",
"name": "collector-crypt",
"projectSlug": "collector-crypt",
"chains": [
{
"id": "collector-crypt_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "courtyard",
"name": "courtyard",
"projectSlug": "courtyard",
"chains": [
{
"id": "courtyard_polygon",
"chain": "polygon",
"networkSlug": "polygon-pos"
}
]
},
{
"id": "monster",
"name": "monster",
"projectSlug": null,
"chains": [
{
"id": "monster_megaeth",
"chain": "megaeth",
"networkSlug": "megaeth"
}
]
}
],
"metadata": {
"pageSize": 100,
"page": 1,
"totalRows": 6,
"totalPages": 1
}
}
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}TCG
List TCG Platforms
Returns one row per Blockworks Research trading-card and collectibles platform, each with the chains it runs on. The id is the platform’s Blockworks Research slug and can be passed straight back as the platformIdentifier of the platform time series route; each chain carries the series key of its platform-chain pair, which is the id the time series endpoints return. projectSlug and networkSlug are the Messari mappings and are null where the platform or chain maps to no Messari record. Paging is over platforms, so a multi-chain platform is never split across two pages. Sourced from Blockworks Research.
GET
/
metrics
/
v2
/
protocols
/
tcg
List TCG Platforms
curl --request GET \
--url https://api.messari.io/metrics/v2/protocols/tcg \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/protocols/tcg"
headers = {"X-Messari-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Messari-API-Key': '<api-key>'}};
fetch('https://api.messari.io/metrics/v2/protocols/tcg', 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.messari.io/metrics/v2/protocols/tcg",
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-Messari-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.messari.io/metrics/v2/protocols/tcg"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Messari-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.messari.io/metrics/v2/protocols/tcg")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/protocols/tcg")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Messari-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": null,
"data": {
"data": [
{
"id": "beezie",
"name": "beezie",
"projectSlug": "beezie",
"chains": [
{
"id": "beezie_base",
"chain": "base",
"networkSlug": "base"
},
{
"id": "beezie_flow",
"chain": "flow",
"networkSlug": "flow"
},
{
"id": "beezie_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "bonkuji",
"name": "bonkuji",
"projectSlug": null,
"chains": [
{
"id": "bonkuji_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "collector-crypt",
"name": "collector-crypt",
"projectSlug": "collector-crypt",
"chains": [
{
"id": "collector-crypt_solana",
"chain": "solana",
"networkSlug": "solana"
}
]
},
{
"id": "courtyard",
"name": "courtyard",
"projectSlug": "courtyard",
"chains": [
{
"id": "courtyard_polygon",
"chain": "polygon",
"networkSlug": "polygon-pos"
}
]
},
{
"id": "monster",
"name": "monster",
"projectSlug": null,
"chains": [
{
"id": "monster_megaeth",
"chain": "megaeth",
"networkSlug": "megaeth"
}
]
}
],
"metadata": {
"pageSize": 100,
"page": 1,
"totalRows": 6,
"totalPages": 1
}
}
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}
