> ## Documentation Index
> Fetch the complete documentation index at: https://developers.paxoslabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PAXGy TVL

> Read the current and historical PAXGy total value locked over REST

The TVL endpoint returns the total value held in PAXGy over time, along with the PAXGy supply on each chain. Use it for a headline figure or a chart.

> [!NOTE]
>
> The endpoint is named `vaultTvls` because it is shared across Paxos Labs
> yield products. Filter it to the PAXGy token address to get PAXGy only.

## Current TVL

PAXGy is held on Ethereum and X Layer, so each timestamp has one point per chain. Pass `aggregate=true` to sum across chains into a single point with `chainId: 0`, then request the most recent one, newest first:

```bash theme={null}
curl -G "https://api.paxoslabs.com/v2/amplify/vaultTvls" \
  -H "x-api-key: pxl_your_key" \
  --data-urlencode "filter=vaultAddress=0x6c6494Fd9962eB98B94ffA48F6679058F820700e" \
  --data-urlencode "aggregate=true" \
  --data-urlencode "orderByTimestamp=desc" \
  --data-urlencode "pageSize=1"
```

```json theme={null}
{
  "vaultTvls": [
    {
      "vaultAddress": "0x6c6494fd9962eb98b94ffa48f6679058f820700e",
      "chainId": 0,
      "timestamp": "2026-10-22T00:00:00Z",
      "interval": "86400s",
      "tvl": "12345678.90",
      "tvlAsset": "USD",
      "totalSupply": "4567000000000000000000"
    }
  ],
  "nextPageToken": "eyJvZmZzZXQiOjF9",
  "tokenMetadata": {}
}
```

`nextPageToken` is non-null here because `pageSize=1` leaves the rest of the series on later pages. Ignore it when you only want the latest point.

For a per-chain breakdown, drop `aggregate` and add `AND chainId=1` or `AND chainId=196` to the filter.

## TVL history

Omit `pageSize` and `orderByTimestamp` to get a chronological series. By default you get one point per day for the last 30 days.

```bash theme={null}
curl -G "https://api.paxoslabs.com/v2/amplify/vaultTvls" \
  -H "x-api-key: pxl_your_key" \
  --data-urlencode "filter=vaultAddress=0x6c6494Fd9962eB98B94ffA48F6679058F820700e" \
  --data-urlencode "aggregate=true" \
  --data-urlencode "startTime=2026-07-01T00:00:00Z" \
  --data-urlencode "endTime=2026-10-01T00:00:00Z" \
  --data-urlencode "interval=604800s"
```

Pages hold up to 100 points. Pass the returned `nextPageToken` as `pageToken` to fetch the next page; it is `null` on the last one.

### Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `filter` | `string` | No | `vaultAddress=<PAXGy address>` to return PAXGy only, optionally `AND chainId=<id>`. Omit to get every vault |
| `aggregate` | `boolean` | No | Sum TVL and supply across chains into one point per timestamp with `chainId: 0`. Defaults to `false` |
| `startTime` | `string` | No | First timestamp to return (RFC 3339 UTC). Used with `endTime` |
| `endTime` | `string` | No | Last timestamp to return (RFC 3339 UTC). Clamped to now |
| `lookback` | `string` | No | Window ending now, as seconds (`604800s` for 7 days). Ignored when `startTime` and `endTime` are set. Defaults to 30 days |
| `interval` | `string` | No | Spacing between points, as seconds. Defaults to `86400s` (1 day) |
| `orderByTimestamp` | `string` | No | `asc` or `desc`. Defaults to `asc` |
| `pageSize` | `number` | No | 1 to 100. Defaults to 25 |
| `pageToken` | `string` | No | Token from the previous page |

## Response fields

| Field | Type | Description |
| - | - | - |
| `vaultAddress` | `string` | The PAXGy token address, lowercased |
| `chainId` | `number` | `1` for Ethereum, `196` for X Layer, or `0` for the cross-chain total when `aggregate=true` |
| `timestamp` | `string` | Timestamp of the point (RFC 3339 UTC) |
| `interval` | `string` | Echoes the requested `interval` |
| `tvl` | `string` | Total value locked as a decimal string, denominated in `tvlAsset` |
| `tvlAsset` | `string` | `USD` when a USD price is available for the point, otherwise `BASE`, meaning the value is in PAXG |
| `totalSupply` | `string` | PAXGy supply on that chain in base units (18 decimals). Summed across chains when `chainId` is `0` |

> [!NOTE]
>
> For the full parameter and response schema, see the
> [List vault TVLs](https://developers.paxoslabs.com/v1.0.0/api-reference/vaults/list-vault-tvls.md) reference.
> For yield rather than size, see [PAXGy APY](https://developers.paxoslabs.com/v1.0.0/intro/products/paxgy/apy.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.