# GET /v4/opportunities/tvl-records

_Merkl API_

Get compact historical TVL series for several opportunities at once. Repeat `ids` once per opportunity.

### Query parameters

- `ids` (array) _(required)_: Opportunity IDs (numeric hash) to read history for. Repeat the parameter once per id.
- `from` (number): Lower bound (inclusive) for the record's unix timestamp, in seconds.
- `to` (number): Upper bound (inclusive) for the record's unix timestamp, in seconds.
- `grain` (string | string | string | string): Resolution of the returned records. `DAY` (the default) is one point per UTC day and is kept indefinitely. `RAW` (one point per sample) and `HOUR` are kept for a limited window. SOFR_SPREAD_RATCHET opportunities have no `DAY` series; the default still returns one point per UTC day for them.

## Responses

- **200** TVL series per opportunity id, ascending by timestamp. Ids with no record are absent.
- **400** Response for status 400
- **500** Response for status 500

## Example request

```bash
curl -X GET "https://api.merkl.xyz//v4/opportunities/tvl-records?ids=<ids>" \
  -H "x-api-key: YOUR_API_KEY"
```