Skip to main content

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.

GET /v2/amplify/supplyCaps returns up-to-the-block totalSupplyInBase, supplyCap, and percentageFilled per chain each vault is deployed on. Use it to render deposit-cap utilization (e.g. a progress bar) on a deposit screen, or to soft-block deposits that would exceed the cap before sending them on-chain. totalSupplyInBase and supplyCap are both denominated in the vault base asset, so they are directly comparable without any unit conversion in the UI.
filter is a single AIP-160-style query parameter and is optional. Both flags inside the filter are optional: vaultAddress (hex) scopes to one vault, chainId (number) scopes to one chain. With no filter, every live vault deployment is returned.
Uncapped vaults return supplyCap: null and percentageFilled: null. A vault is uncapped when supplyCapInBase() on-chain returns 0 or 2^256 - 1, or when the deployment predates the supply-cap upgrade (no deposit fee module configured). Render those as “uncapped” in the UI rather than treating null as an error.

Parameters

ParameterTypeRequiredDescription
filterstringNoAIP-160-style filter. Optional flags: vaultAddress (hex), chainId (number). Both support OR. With no filter, every live vault deployment is returned. Example: vaultAddress=0xbbbb...0001 AND chainId=84532.
pageSizenumberNoMaximum items per page. Default: 25. Min: 1, max: 100.
pageTokenstringNoOpaque cursor returned as nextPageToken on the previous response. Omit for the first page.

Example

# Every live deployment, no filter
curl --get "https://api.paxoslabs.com/v2/amplify/supplyCaps" \
  -H "x-api-key: pxl_your_key"

# Scoped to one vault and one chain
curl --get "https://api.paxoslabs.com/v2/amplify/supplyCaps" \
  --data-urlencode "filter=vaultAddress=0xbbbb000000000000000000000000000000000001 AND chainId=84532" \
  -H "x-api-key: pxl_your_key"

Response

{
  "supplyCaps": [
    {
      "vaultAddress": "0xbbbb000000000000000000000000000000000001",
      "chainId": 84532,
      "totalSupplyInBase": "1037.937273",
      "supplyCap": "5000.00",
      "percentageFilled": "20.7587"
    }
  ],
  "nextPageToken": null
}
FieldTypeDescription
supplyCaps[].vaultAddressstringBoringVault contract address (lowercased)
supplyCaps[].chainIdnumberEVM chain ID for this entry
supplyCaps[].totalSupplyInBasestring (decimal)Total deposited value denominated in the vault base asset (computed as totalSupply * shareToBaseRate); directly comparable to supplyCap
supplyCaps[].supplyCapstring | null (decimal)Deposit supply cap denominated in the vault base asset, or null when the vault is uncapped
supplyCaps[].percentageFilledstring | nullPercentage of supply cap currently filled, formatted with four decimals (e.g. "20.7587"). Clamped to "100.0000" if over-cap. null when the vault is uncapped
nextPageTokenstring | nullCursor for the next page. null when there are no more results.

Error Responses

StatusMeaning
400Invalid filter (invalid hex address, unknown flag, non-positive chainId, malformed segment) or pageSize outside 1–100
503Upstream RPC unavailable