curl --request GET \
--url https://api.byzantine.fi/v1/query/apy-historyimport requests
url = "https://api.byzantine.fi/v1/query/apy-history"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.byzantine.fi/v1/query/apy-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"vault_address": "<string>",
"chain_id": 123,
"data": [
{
"timestamp": "2023-11-07T05:31:56Z",
"block_number": 1,
"share_price": "123.456789",
"apy_12h": "123.456789",
"apy_24h": "123.456789",
"apy_3d": "123.456789",
"apy_7d": "123.456789",
"apy_31d": "123.456789"
}
]
}{
"error": "Resource not found",
"status": 404
}Get single product APY history
Returns the 12h, 24h, 3d, 7d and 31d trailing APYs of an active top vault over time, sampled from hourly indexer snapshots. Public endpoint: no integrator authentication.
Date bounds filter snapshots inclusively at whole-second precision. The span from the first
to the last matching snapshot is divided into equal-width buckets of at least one hour;
only the latest snapshot in each nonempty bucket is returned. Buckets are not aligned to
calendar hours or days. At most points results are returned, with original timestamps:
no interpolation or gap filling. The newest matching snapshot is always included.
For example, a January-to-December request for a vault with data only from October samples
the available October-to-December span, without reserving empty buckets for earlier months.
If metadata resolves successfully but no snapshots match, data is empty.
curl --request GET \
--url https://api.byzantine.fi/v1/query/apy-historyimport requests
url = "https://api.byzantine.fi/v1/query/apy-history"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.byzantine.fi/v1/query/apy-history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"vault_address": "<string>",
"chain_id": 123,
"data": [
{
"timestamp": "2023-11-07T05:31:56Z",
"block_number": 1,
"share_price": "123.456789",
"apy_12h": "123.456789",
"apy_24h": "123.456789",
"apy_3d": "123.456789",
"apy_7d": "123.456789",
"apy_31d": "123.456789"
}
]
}{
"error": "Resource not found",
"status": 404
}Query Parameters
Address of the vault
Chain of the vault. Required only when the address is a top vault on several chains.
Inclusive lower bound on snapshot time (RFC 3339), evaluated at whole Unix-second precision. Dates before the Unix epoch are rejected. Omit to include the earliest data.
Inclusive upper bound on snapshot time (RFC 3339), evaluated at whole Unix-second
precision. Omit to include the latest data. Must not precede start_date.
Maximum result count (1 to 365, default 100), not a guaranteed count or frequency. Buckets span the first to last available snapshot within the date bounds, have equal widths of at least one hour, and retain their latest snapshot. Empty buckets are omitted. With points=1, only the latest snapshot in range is returned.
Order by snapshot time: asc (default) or desc. Reverses the same selected points;
it does not change which snapshots are sampled.

