List tokenomics changes
Required scope: tokenomics:read.
curl --request GET \
--url https://explorer-api.bluprynt.com/tokenomics/changes \
--header 'Authorization: Bearer <token>'import requests
url = "https://explorer-api.bluprynt.com/tokenomics/changes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://explorer-api.bluprynt.com/tokenomics/changes', 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://explorer-api.bluprynt.com/tokenomics/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://explorer-api.bluprynt.com/tokenomics/changes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://explorer-api.bluprynt.com/tokenomics/changes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://explorer-api.bluprynt.com/tokenomics/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": 123,
"feedSeq": "<string>",
"category": "tokenomics",
"itemKey": "<string>",
"itemRevision": 123,
"asset": {
"assetId": "<string>",
"chainId": 123,
"contractAddress": "<string>"
},
"class": "<string>",
"status": "upcoming",
"eventAt": "<string>",
"detectedAt": "<string>",
"fieldName": "<string>",
"changeKind": "<string>",
"materiality": "<string>",
"summary": "<string>",
"oldValue": "<string>",
"newValue": "<string>",
"impact": {
"direction": "weakens",
"status": "assessed",
"disposition": "<string>",
"reason": "<string>",
"rulesVersion": "<string>",
"assessedAt": "<string>"
},
"unlock": {
"amount": "<string>",
"amountRaw": "<string>",
"decimals": 123,
"pctCirculating": "<string>",
"circulatingReadAt": "<string>",
"pctTotalSupply": "<string>",
"recipientClass": "<string>",
"recipientAddress": "<string>",
"scheduleMatch": "as_scheduled",
"txHash": "<string>"
},
"oldEvidence": {
"value": "<string>",
"quote": "<string>",
"artifactId": "<string>",
"sha256": "<string>"
},
"newEvidence": {
"value": "<string>",
"quote": "<string>",
"artifactId": "<string>",
"sha256": "<string>"
},
"primaryEvidence": {
"kind": "issuer_document",
"observedAt": "<string>",
"sourceUrl": "<string>",
"artifactId": "<string>",
"sha256": "<string>",
"quote": "<string>",
"publishedAt": "<string>",
"chain": {
"chainId": 123,
"address": "<string>",
"method": "<string>",
"callData": "<string>",
"block": "<string>",
"blockHash": "<string>",
"blockTimestamp": "<string>",
"txHash": "<string>",
"logIndex": "<string>",
"backend": "<string>",
"readAt": "<string>",
"exchangeSha256": "<string>"
}
},
"onChainEvidence": [
{
"chainId": 123,
"address": "<string>",
"method": "<string>",
"callData": "<string>",
"block": "<string>",
"blockHash": "<string>",
"blockTimestamp": "<string>",
"txHash": "<string>",
"logIndex": "<string>",
"backend": "<string>",
"readAt": "<string>",
"exchangeSha256": "<string>"
}
],
"observationEvidenceSha256": "<string>",
"observationRecordedAt": "<string>",
"onchainMismatch": {
"kinds": [
"undisclosed_unlock"
],
"comparisonStatus": "comparable",
"reason": "<string>",
"issuer": {
"evidenceIds": [
"<string>"
],
"amount": "<string>",
"eventAt": "<string>",
"recipientClass": "<string>",
"asOf": "<string>",
"sourcesChecked": 123
},
"onChain": {
"evidenceIds": [
"<string>"
],
"scanFromBlock": "<string>",
"scanToBlock": "<string>",
"finalizedBlock": "<string>",
"complete": true
},
"tolerances": {
"relativeAmountPct": 123,
"dateHours": 123
},
"comparedAt": "<string>",
"issuerEvidence": [
{
"id": "<string>",
"kind": "issuer_span",
"url": "<string>",
"sha256": "<string>",
"sourceEvidenceId": "<string>",
"observedAt": "<string>",
"charOffset": 123,
"quote": "<string>"
}
]
}
}
],
"hasMore": true,
"nextCursor": "<string>",
"nextPage": "<string>",
"order": "since"
}Authorizations
Exchange API key issued by Bluprynt, sent as Authorization: Bearer bx_live_<key>.
Query Parameters
Response
Envelope wrapping one feed page.
Show child attributes
Show child attributes
More rows match the filters than were returned. With since: poll again with nextCursor. Without since: fetch the rest of the backlog with page=nextPage.
Opaque incremental resume token, passed back as since. With since, it points after the last returned row (or repeats the since sent when none). Without since (backlog pages), it is the head the first backlog page froze, the same on every page: after the backlog, polling from it returns every later revision, including rows revised while the backlog was paged.
Opaque backlog token (priority order only), passed back as page with the same filters; null when the backlog is complete or with since.
since, priority curl --request GET \
--url https://explorer-api.bluprynt.com/tokenomics/changes \
--header 'Authorization: Bearer <token>'import requests
url = "https://explorer-api.bluprynt.com/tokenomics/changes"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://explorer-api.bluprynt.com/tokenomics/changes', 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://explorer-api.bluprynt.com/tokenomics/changes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://explorer-api.bluprynt.com/tokenomics/changes"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://explorer-api.bluprynt.com/tokenomics/changes")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://explorer-api.bluprynt.com/tokenomics/changes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"revision": 123,
"feedSeq": "<string>",
"category": "tokenomics",
"itemKey": "<string>",
"itemRevision": 123,
"asset": {
"assetId": "<string>",
"chainId": 123,
"contractAddress": "<string>"
},
"class": "<string>",
"status": "upcoming",
"eventAt": "<string>",
"detectedAt": "<string>",
"fieldName": "<string>",
"changeKind": "<string>",
"materiality": "<string>",
"summary": "<string>",
"oldValue": "<string>",
"newValue": "<string>",
"impact": {
"direction": "weakens",
"status": "assessed",
"disposition": "<string>",
"reason": "<string>",
"rulesVersion": "<string>",
"assessedAt": "<string>"
},
"unlock": {
"amount": "<string>",
"amountRaw": "<string>",
"decimals": 123,
"pctCirculating": "<string>",
"circulatingReadAt": "<string>",
"pctTotalSupply": "<string>",
"recipientClass": "<string>",
"recipientAddress": "<string>",
"scheduleMatch": "as_scheduled",
"txHash": "<string>"
},
"oldEvidence": {
"value": "<string>",
"quote": "<string>",
"artifactId": "<string>",
"sha256": "<string>"
},
"newEvidence": {
"value": "<string>",
"quote": "<string>",
"artifactId": "<string>",
"sha256": "<string>"
},
"primaryEvidence": {
"kind": "issuer_document",
"observedAt": "<string>",
"sourceUrl": "<string>",
"artifactId": "<string>",
"sha256": "<string>",
"quote": "<string>",
"publishedAt": "<string>",
"chain": {
"chainId": 123,
"address": "<string>",
"method": "<string>",
"callData": "<string>",
"block": "<string>",
"blockHash": "<string>",
"blockTimestamp": "<string>",
"txHash": "<string>",
"logIndex": "<string>",
"backend": "<string>",
"readAt": "<string>",
"exchangeSha256": "<string>"
}
},
"onChainEvidence": [
{
"chainId": 123,
"address": "<string>",
"method": "<string>",
"callData": "<string>",
"block": "<string>",
"blockHash": "<string>",
"blockTimestamp": "<string>",
"txHash": "<string>",
"logIndex": "<string>",
"backend": "<string>",
"readAt": "<string>",
"exchangeSha256": "<string>"
}
],
"observationEvidenceSha256": "<string>",
"observationRecordedAt": "<string>",
"onchainMismatch": {
"kinds": [
"undisclosed_unlock"
],
"comparisonStatus": "comparable",
"reason": "<string>",
"issuer": {
"evidenceIds": [
"<string>"
],
"amount": "<string>",
"eventAt": "<string>",
"recipientClass": "<string>",
"asOf": "<string>",
"sourcesChecked": 123
},
"onChain": {
"evidenceIds": [
"<string>"
],
"scanFromBlock": "<string>",
"scanToBlock": "<string>",
"finalizedBlock": "<string>",
"complete": true
},
"tolerances": {
"relativeAmountPct": 123,
"dateHours": 123
},
"comparedAt": "<string>",
"issuerEvidence": [
{
"id": "<string>",
"kind": "issuer_span",
"url": "<string>",
"sha256": "<string>",
"sourceEvidenceId": "<string>",
"observedAt": "<string>",
"charOffset": 123,
"quote": "<string>"
}
]
}
}
],
"hasMore": true,
"nextCursor": "<string>",
"nextPage": "<string>",
"order": "since"
}