Data API
Base URL: https://api.autara.finance
All endpoints are public GET requests and return JSON. Live market endpoints are served from a 1-second in-memory cache; history endpoints read from Prometheus.
Full interactive schema available at Swagger UI ↗ (opens in a new tab) | OpenAPI JSON ↗ (opens in a new tab)
Markets
/v1/markets/summaryReturns a summary of all markets including APY rates, deposit/borrow totals, utilization, and liquidation thresholds.
Response fields
source— "cache"asOf— ISO timestamp of the cached snapshotdata[]— array of MarketSummary objectsdata[].id— canonical 64-char hex market addressdata[].supplyApy— current annualized supply ratedata[].borrowApy— current annualized borrow ratedata[].totalDepositsUsd— total deposits in USDdata[].totalBorrowsUsd— total borrows in USDdata[].utilizationRate— current utilization ratio (0–1)data[].availableBorrowTokens— tokens available to borrowdata[].collateralFactor— collateral factor (max LTV)data[].liquidationThreshold— liquidation threshold (unhealthy LTV)
curl https://api.autara.finance/v1/markets/summary/v1/markets/{id}Returns full market detail including LTV config, vault state, oracle prices, and supply vault summary.
Response fields
source— "cache"asOf— ISO timestamp of the cached snapshotdata.marketId— the market addressdata.market.market.config.ltvConfig— maxLtv, unhealthyLtv, liquidationBonusdata.market.market.collateralVault— mint, decimals, vault address, oracle configdata.market.market.supplyVault— mint, decimals, vault address, interest rate statedata.market.supplyOracle— rate, confidencedata.market.collateralOracle— rate, confidencedata.supplyVaultSummary— totalSupply, totalBorrow, utilisationRate, borrowInterestRate, lendingInterestRate
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/v1/markets/{id}/curveReturns interest-rate curve data points for chart rendering.
Response fields
source— "cache"asOf— ISO timestampdata.points[]— array of curve data pointsdata.points[].utilization— utilization ratio (0–1)data.points[].apyBorrowRate— annualized borrow ratedata.points[].apyLendingRate— annualized lending rate
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/curveHistory
All history endpoints accept optional query parameters to control the time range and resolution. If omitted, start defaults to end - 1 year, end defaults to now, and step defaults to 1h.
/v1/history/rangeReturns the observed min/max timestamps from Prometheus, showing how much history is available.
Response fields
source— "prometheus"observed.start / observed.end— unix timestampsobserved.startIso / observed.endIso— ISO formattedobserved.sampledStep— sampling interval (e.g. "1h")observed.savedSeconds / observed.savedHours— total duration of saved historyobserved.query— the underlying Prometheus query
curl https://api.autara.finance/v1/history/range/v1/markets/{id}/history/supplyReturns time-series data of total supply value in USD.
Response fields
source— "prometheus"range.start / range.end / range.step— resolved query windowseries[].labels— metric labels (market_address, asset, liquidity_type)series[].values[]— { ts, value } data points (USD)
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/history/supply/v1/markets/{id}/history/borrowReturns time-series data of total borrow value in USD.
Response fields
source— "prometheus"range.start / range.end / range.step— resolved query windowseries[].labels— metric labels (market_address, asset, liquidity_type)series[].values[]— { ts, value } data points (USD)
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/history/borrow/v1/markets/{id}/history/collateralReturns time-series data of total collateral value in USD.
Response fields
source— "prometheus"range.start / range.end / range.step— resolved query windowseries[].labels— metric labels (market_address, asset, liquidity_type)series[].values[]— { ts, value } data points (USD)
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/history/collateral/v1/markets/{id}/history/utilizationReturns time-series data of the market utilization ratio.
Response fields
source— "prometheus"range.start / range.end / range.step— resolved query windowseries[].labels— metric labels (market_address)series[].values[]— { ts, value } data points (ratio 0–1)
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/history/utilization/v1/markets/{id}/history/ratesReturns time-series data of borrow and supply APY rates.
Response fields
source— "prometheus"range.start / range.end / range.step— resolved query windowseries[].labels— metric labels (market_address, rate type)series[].values[]— { ts, value } data points (APY)
curl https://api.autara.finance/v1/markets/dde89af6942d055c5fc7c91f948a23fa4ad44535c093d6e0054a2fdac550a481/history/rates/v1/positions/{user}/history/ltvReturns time-series LTV data for each of the user's borrow positions across all markets.
Response fields
source— "prometheus"series[]— one entry per borrow positionseries[].labels.market_address— the market for this positionseries[].labels.position_address— the position accountseries[].labels.user_address— the user pubkeyseries[].values[]— { ts, value } data points (LTV ratio 0–1)
curl https://api.autara.finance/v1/positions/f6cc41111df5410aff54242c92b7a16c59d3968e9adfa3a1a9ffea3308e34f39/history/ltvUser
/v1/positions/{user}Returns all supply and borrow positions for a user across all markets, including real-time health metrics for borrows.
Response fields
positions.supplyPositions[]— supply positionspositions.supplyPositions[].supplyPosition— authority, market, depositedAtoms, sharespositions.supplyPositions[].ownedAtoms— current redeemable amountpositions.borrowPositions[]— borrow positionspositions.borrowPositions[].borrowPosition— authority, market, collateralDepositedAtoms, borrowedSharespositions.borrowPositions[].health.ltv— current loan-to-value ratiopositions.borrowPositions[].health.borrowedAtoms— outstanding borrow amountpositions.borrowPositions[].health.collateralAtoms— deposited collateral amountpositions.borrowPositions[].health.borrowValue— borrow value in USDpositions.borrowPositions[].health.collateralValue— collateral value in USD
curl https://api.autara.finance/v1/positions/f6cc41111df5410aff54242c92b7a16c59d3968e9adfa3a1a9ffea3308e34f39/v1/balances/{user}Returns token balances held in the user's wallet.
Response fields
balances[]— array of token balancesbalances[].mint— token mint public key (byte array)balances[].amount— raw token amount in smallest unitbalances[].uiAmount— human-readable formatted amount
curl https://api.autara.finance/v1/balances/f6cc41111df5410aff54242c92b7a16c59d3968e9adfa3a1a9ffea3308e34f39Health
/v1/healthReturns the status of the data cache poller.
Response fields
lastPollAt— unix timestamp (ms) of last successful pollcacheAgeMs— milliseconds since last pollstale— true if cache is considered stalelastPollError— error message if last poll failed, otherwise null
curl https://api.autara.finance/v1/healthErrors
All endpoints return a standard error envelope on failure:
| Code | Meaning |
|---|---|
BAD_REQUEST | Invalid parameters (e.g. start > end, too many data points) |
NOT_FOUND | Market or user not found |
UPSTREAM_ERROR | Prometheus or cache unavailable |
{
"error": "Invalid request",
"code": "BAD_REQUEST",
"details": { "reason": "start must be before end" }
}