curl --request GET \
--url https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id}"
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/timeseries/peg-stability-backings/{granularity}/{id}', 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/timeseries/peg-stability-backings/{granularity}/{id}",
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/timeseries/peg-stability-backings/{granularity}/{id}"
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/timeseries/peg-stability-backings/{granularity}/{id}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id}")
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": {
"entity": {
"chain": "<chain>",
"facilityName": "<facilityName>",
"name": "<name>",
"slug": "<slug>",
"tokenSymbol": "<tokenSymbol>"
},
"key": "<Peg Stability Backing ID>",
"point_schema": [
{
"description": "Timestamp of the data point.",
"field": "time",
"name": "Time",
"time": true,
"type": "time"
},
{
"description": "Backing held in USD; null where the protocol reports none.",
"field": "backingUSD",
"name": "Backing (USD)",
"time": false,
"type": "float64"
}
],
"points": [
[
1704067200,
123.45
]
]
},
"error": null
}{
"data": null,
"error": "unrecognized timeframe \"1y\": expected ytd|qtd|mtd|dtd|htd, <n>m|h|d|w, YYYY-MM-DD, YYYY-MM, YYYY, or RFC3339"
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "You are out of credits (balance 0). Do not retry this request. Visit https://app.blockworks.com/account/api to see balance and get more credits."
}{
"data": null,
"error": "this model requires the \"stablecoins-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "model \"peg-stability-backings\" does not support granularity \"1h\" (supported: \"1d\")"
}{
"data": null,
"error": "the credit service is temporarily unavailable and this request was refused without charge; retry in a moment"
}Get Peg Stability Backing timeseries
Daily backing in USD held by one peg stability facility in one backing token (USDC, USDT and other stablecoins, or the RWA an ilk holds). Each series is one facility backing token, keyed by protocol, chain, facility and token.
curl --request GET \
--url https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id} \
--header 'X-Blockworks-API-Key: <api-key>'import requests
url = "https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id}"
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/timeseries/peg-stability-backings/{granularity}/{id}', 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/timeseries/peg-stability-backings/{granularity}/{id}",
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/timeseries/peg-stability-backings/{granularity}/{id}"
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/timeseries/peg-stability-backings/{granularity}/{id}")
.header("X-Blockworks-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blockworks.com/query/timeseries/peg-stability-backings/{granularity}/{id}")
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": {
"entity": {
"chain": "<chain>",
"facilityName": "<facilityName>",
"name": "<name>",
"slug": "<slug>",
"tokenSymbol": "<tokenSymbol>"
},
"key": "<Peg Stability Backing ID>",
"point_schema": [
{
"description": "Timestamp of the data point.",
"field": "time",
"name": "Time",
"time": true,
"type": "time"
},
{
"description": "Backing held in USD; null where the protocol reports none.",
"field": "backingUSD",
"name": "Backing (USD)",
"time": false,
"type": "float64"
}
],
"points": [
[
1704067200,
123.45
]
]
},
"error": null
}{
"data": null,
"error": "unrecognized timeframe \"1y\": expected ytd|qtd|mtd|dtd|htd, <n>m|h|d|w, YYYY-MM-DD, YYYY-MM, YYYY, or RFC3339"
}{
"data": null,
"error": "this model requires authentication"
}{
"data": null,
"error": "You are out of credits (balance 0). Do not retry this request. Visit https://app.blockworks.com/account/api to see balance and get more credits."
}{
"data": null,
"error": "this model requires the \"stablecoins-dataset\" permission; see https://app.blockworks.com/account/api for the public API permissions you hold"
}{
"data": null,
"error": "model \"peg-stability-backings\" does not support granularity \"1h\" (supported: \"1d\")"
}{
"data": null,
"error": "the credit service is temporarily unavailable and this request was refused without charge; retry in a moment"
}Authorizations
Path Parameters
Query Parameters
Time window, one of: to-date (ytd, qtd, mtd, dtd, htd); relative, followed by m, h, d or w (30d, 12h, 4w; 1y and 1M are not accepted, use 365d, 52w, ytd or a calendar year); a calendar day (YYYY-MM-DD), month (YYYY-MM) or year (YYYY); or an RFC3339 instant, which runs from then to now. Mutually exclusive with start/end. Optional: with no window at all the query runs from the beginning of the data to now, which is only served where it fits the cap of 9000 points of the requested granularity, so a window is in practice required at fine granularities.