Skip to main content
GET
https://api.kamino.finance
/
kamino-market
/
{marketPubkey}
/
reserves
/
{reservePubkey}
/
metrics
/
history
Reserve Metrics History
curl --request GET \
  --url https://api.kamino.finance/kamino-market/{marketPubkey}/reserves/{reservePubkey}/metrics/history
{
  "timestamp": "<string>",
  "reserve": "<string>",
  "liquidityToken": "<string>",
  "supplyApy": "<string>",
  "borrowApy": "<string>",
  "totalSupply": "<string>",
  "totalSupplyUsd": "<string>",
  "totalBorrow": "<string>",
  "totalBorrowUsd": "<string>",
  "utilization": "<string>",
  "availableLiquidity": "<string>",
  "error": "<string>"
}

This endpoint retrieves historical metrics for a specific reserve in a Kamino Lending market over a specified time range with configurable frequency (hour or day).

Path Parameters

marketPubkey
string
required
Kamino Lend market public keyExample: 7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF
reservePubkey
string
required
Kamino Lend reserve public keyExample: FBSyPnxtHKLBZ4UeeUyAnbtFuAmTHLtso9YtsqRDRWpM

Query Parameters

env
string
default:"mainnet-beta"
Solana cluster environmentOptions: mainnet-beta, devnet, localnet
start
string
Start date (ISO 8601 string or epoch in milliseconds)Example: 2024-01-01T00:00:00Z or 1704067200000
end
string
End date (ISO 8601 string or epoch in milliseconds)Example: 2024-01-31T23:59:59Z or 1706745599000
frequency
string
default:"hour"
Frequency of the snapshotsOptions: hour, day

Request Example

curl --request GET \
  --url 'https://api.kamino.finance/kamino-market/7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF/reserves/FBSyPnxtHKLBZ4UeeUyAnbtFuAmTHLtso9YtsqRDRWpM/metrics/history?env=mainnet-beta&start=2024-01-01T00:00:00Z&end=2024-01-31T23:59:59Z&frequency=day'

Response Example

[
  {
    "timestamp": "2024-01-01T00:00:00.000Z",
    "reserve": "FBSyPnxtHKLBZ4UeeUyAnbtFuAmTHLtso9YtsqRDRWpM",
    "liquidityToken": "SOL",
    "supplyApy": "0.0425",
    "borrowApy": "0.0625",
    "totalSupply": "12845.678901234",
    "totalSupplyUsd": "2785432.15",
    "totalBorrow": "8234.567890123",
    "totalBorrowUsd": "1785621.45",
    "utilization": "0.6412",
    "availableLiquidity": "4611.111011111"
  },
  {
    "timestamp": "2024-01-02T00:00:00.000Z",
    "reserve": "FBSyPnxtHKLBZ4UeeUyAnbtFuAmTHLtso9YtsqRDRWpM",
    "liquidityToken": "SOL",
    "supplyApy": "0.0430",
    "borrowApy": "0.0630",
    "totalSupply": "12956.789012345",
    "totalSupplyUsd": "2810543.26",
    "totalBorrow": "8345.678901234",
    "totalBorrowUsd": "1809732.56",
    "utilization": "0.6441",
    "availableLiquidity": "4611.110111111"
  }
]

Response Fields

timestamp
string
required
ISO 8601 timestamp for this data point
reserve
string
required
Reserve account address
liquidityToken
string
required
Token symbol (SOL, USDC, etc.)
supplyApy
string
required
Supply APY at this time as decimal (0.0425 = 4.25%)
borrowApy
string
required
Borrow APY at this time as decimal (0.0625 = 6.25%)
totalSupply
string
required
Total tokens supplied to this reserve
totalSupplyUsd
string
required
Total supply value in USD
totalBorrow
string
required
Total tokens borrowed from this reserve
totalBorrowUsd
string
required
Total borrow value in USD
utilization
string
required
Reserve utilization ratio (borrowed / supplied)
availableLiquidity
string
required
Available tokens for borrowing

Error Responses

error
string
Error message for internal server failure (500)Example: "An internal error occurred"