curl --request GET \
--url https://api.kamino.finance/yields/{yieldSource}/historyconst options = {method: 'GET'};
fetch('https://api.kamino.finance/yields/{yieldSource}/history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/yields/{yieldSource}/history"
response = requests.get(url)
print(response.text)false[
{
"createdOn": "2025-03-01T12:00:00.000Z",
"apr": "0.2",
"apy": "0.2"
}
]{
"error": "Invalid query request",
"details": [
{
"code": "invalid_union",
"errors": [
[
{
"code": "custom",
"path": [],
"message": "Invalid date string"
}
],
[
{
"expected": "number",
"code": "invalid_type",
"path": [],
"message": "Invalid input: expected number, received string"
}
]
],
"path": [
"start"
],
"message": "Invalid input"
}
]
}{
"error": "An internal error occurred"
}Get yield history
Get historical yield data for a given source, between an optional range of dates (max 366 days). For extra farm yields specify the source as farmAddress-rewardMint.
curl --request GET \
--url https://api.kamino.finance/yields/{yieldSource}/historyconst options = {method: 'GET'};
fetch('https://api.kamino.finance/yields/{yieldSource}/history', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.kamino.finance/yields/{yieldSource}/history"
response = requests.get(url)
print(response.text)false[
{
"createdOn": "2025-03-01T12:00:00.000Z",
"apr": "0.2",
"apy": "0.2"
}
]{
"error": "Invalid query request",
"details": [
{
"code": "invalid_union",
"errors": [
[
{
"code": "custom",
"path": [],
"message": "Invalid date string"
}
],
[
{
"expected": "number",
"code": "invalid_type",
"path": [],
"message": "Invalid input: expected number, received string"
}
]
],
"path": [
"start"
],
"message": "Invalid input"
}
]
}{
"error": "An internal error occurred"
}Path Parameters
Yield source identifier. For regular yields use the token mint address. For extra farm yields use the format: farmAddress-rewardMint
"AvZZF1YaZDziPY2RCK4oJrRVrbN3mTD9NL24hPeaZeUj"
"FciPo1fpNgStdnVvKT7abcFfyqn2sJijLrNLCkKtbsye-2u1tszSeqZ3qBWF3uNGPFc8TzMk2tdiwknnRMWGWjGWH"
Query Parameters
Date input (ISO 8601 string or epoch in ms)
"2024-01-01T00:00:00.000Z"
Date input (ISO 8601 string or epoch in ms)
"2024-01-01T00:00:00.000Z"
Response
OK
Timestamp when the snapshot was created (ISO 8601 format)
"2025-03-01T12:00:00.000Z"
APR in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
"0.123"
"0"
"1"
"1.23"
"-0.5"
"999999.999999"
APY in decimal format (not percentage) represented as string. Multiply by 100 to get percentage (%) - 0.1 in API response is 10%.
"0.123"
"0"
"1"
"1.23"
"-0.5"
"999999.999999"