Get historical TVL

Fetch TVL history only.

GEThttps://api-v2.syncrone.fi/api/catalog/historical/{network}/{vaultId}/tvl

TVL per point, oldest first.

← Vaults API overview

Try it#

GET/historical/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c/tvl?perPage=7&fromTimestamp=1790035200&toTimestamp=1790640000&granularity=1day

Kept in this browser tab only, and sent to Syncrone with each request. No key yet? Create one ↗

Example vaults
Parameters
Response
Paste an API key, then press Send. The parameters are pre-filled with a real example.
curl
curl "https://api-v2.syncrone.fi/api/catalog/historical/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c/tvl?perPage=7&fromTimestamp=1790035200&toTimestamp=1790640000&granularity=1day" \
  -H "x-api-key: $SYNCRONE_API_KEY"

Example#

A real response to the pre-filled Try it request, recorded from Syncrone data. Values move with every indexing run.

200GET /historical/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c/tvl?perPage=7&fromTimestamp=1790035200&toTimestamp=1790640000&granularity=1day
{
  "itemsOnPage": 7,
  "nextPage": 1,
  "data": [
    {
      "timestamp": 1790035200,
      "blockNumber": "26029315",
      "tvl": {
        "usd": "2229556888",
        "native": "2229779866117466"
      }
    },
    {
      "timestamp": 1790121600,
      "blockNumber": "26036463",
      "tvl": {
        "usd": "2238883644",
        "native": "2239107555682230"
      }
    },
    {
      "timestamp": 1790208000,
      "blockNumber": "26043610",
      "tvl": {
        "usd": "2215698122",
        "native": "2215919714157352"
      }
    },
    {
      "timestamp": 1790294400,
      "blockNumber": "26050748",
      "tvl": {
        "usd": "2233251851",
        "native": "2233475198878785"
      }
    },
    {
      "timestamp": 1790380800,
      "blockNumber": "26057904",
      "tvl": {
        "usd": "2197902088",
        "native": "2198121901132660"
      }
    },
    {
      "timestamp": 1790467200,
      "blockNumber": "26065069",
      "tvl": {
        "usd": "2206938269",
        "native": "2207158985762319"
      }
    },
    {
      "timestamp": 1790553600,
      "blockNumber": "26072221",
      "tvl": {
        "usd": "2215711458",
        "native": "2215933051647722"
      }
    }
  ]
}

Parameters#

NameTypeDescription
networkpathrequiredstring

Network name (mainnet, base, arbitrum…), CAIP-2 id (eip155:1) or chain id (1).

vaultIdpathrequiredstring

Vault address (the share or receipt token, any case). A vault listed without an address is addressed by its slug.

pagequeryinteger

Page number, starting from 0.

default: 0
perPagequeryinteger

Items per page, 1 to 1000.

default: 50
fromTimestampqueryinteger

Start of the period, Unix seconds, inclusive.

default: 0
toTimestampqueryinteger

End of the period, Unix seconds, inclusive. Defaults to now.

granularityquerystring1day | 1week

Spacing of points. Vaults are indexed once a day at 00:00 UTC, so 1day is the finest granularity. 1week points fall on epoch-aligned weeks (Thursdays 00:00 UTC).

default: 1day

Response#

200 returns JSON with these fields. APY values are fractions (0.04 = 4%); timestamps are Unix seconds.

FieldTypeDescription
itemsOnPageinteger

Number of items in data.

nextPageinteger

Next page number. Absent on the last page.

data[].timestampinteger

Point time, Unix seconds.

data[].blockNumberstring | null

Block the point was read at.

data[].tvl.usdstring | null

TVL in USD, whole dollars.

data[].tvl.nativestring | null

TVL in the asset's base units (wei for an 18-decimal token).

Errors#

StatusMeaning
400Invalid query or path parameter, or unknown network.
401Missing or rejected API key.
404No vault with this id on this network.
429Too many requests from the docs playground. Wait a minute.
500The service failed.

Error bodies carry error and, for invalid parameters, details.