Risk Parameters
Overview
Risk parameters are the limits and thresholds a lending market's governance sets to bound how it can be used: how much can be supplied or borrowed, how much of a deposit's value can be borrowed against, and what happens at liquidation. They are set by protocol governance and change only when governance updates them, unlike the rates and balances documented elsewhere in Protocol Metrics. See that page for the shared entity model (protocol, chain, market) and the beginning-of-interval timestamp convention.
At a Glance
| Data type | Entities | Frequency / cadence | Unit | Primary endpoint | Coverage |
|---|---|---|---|---|---|
| Supply and borrow caps, loan-to-value, and liquidation parameters | Protocol markets (protocol + chain + market) | 1d and 1m | Native units, U.S. dollars where available, or percent | /timeseries/protocol-metrics | coming soon.... |
Metrics
None of these metrics has a _mean form: each is a governance-set parameter, not a rate that fluctuates within the day.
| Metric | Description | Frequency |
|---|---|---|
supply_cap_ntv | The maximum amount that can be supplied to the market, in the market's native asset units. | 1d, 1m |
supply_cap_usd | The maximum amount that can be supplied to the market, in U.S. dollars. | 1d, 1m |
borrow_cap_ntv | The maximum amount that can be borrowed from the market, in the market's native asset units. | 1d, 1m |
borrow_cap_usd | The maximum amount that can be borrowed from the market, in U.S. dollars. | 1d, 1m |
ltv_max_pct | The maximum loan-to-value ratio for a position collateralized by this market's asset: the largest percentage of the collateral's value that can be borrowed against it. | 1d, 1m |
liquidation_threshold_pct | The loan-to-value ratio at which a position collateralized by this market's asset becomes eligible for liquidation. | 1d, 1m |
liquidation_bonus_pct | The bonus paid to a liquidator who liquidates a position collateralized by this market's asset, expressed as a bonus factor above 100 (for example 105 means the liquidator receives 105% of the seized collateral's value, a 5% bonus). | 1d, 1m |
Conventions.
- Metric values are returned as JSON strings to preserve precision.
timemarks the beginning of the interval a row covers (see Protocol Metrics: Conventions).- The
_usdcap variants are published where available: a market whose underlying asset has no Coin Metrics reference rate has no_usdcap values, even though its_ntvvalues are published. - The
_pctmetrics are already scaled to percent (for example80.5means 80.5%, not 0.805%), exceptliquidation_bonus_pct, which is a bonus factor above 100 rather than a plain percent (see Methodology below). ltv_max_pctis always less than or equal toliquidation_threshold_pct, since a position must be allowed to be opened before it can become eligible for liquidation.
Methodology
- Each of these values is read directly from the protocol's on-chain risk configuration for the market, as set by the protocol's governance process. They change only when governance passes an update, so unlike the rates and balances on the other Protocol Metrics pages, a flat series here reflects an unchanged configuration rather than a lack of activity.
liquidation_bonus_pctis published as a bonus factor above 100, not a plain percentage: a value of105means the liquidator receives 105% of the seized collateral's value, a 5% bonus. See the live example below, which returns exactly this value for a real market.
Accessing the Data
Python Client
import os
from coinmetrics.api_client import CoinMetricsClient
client = CoinMetricsClient(os.environ["CM_API_KEY"])
df = client.get_protocol_metrics(
protocols="aave_v3",
markets="core-weth",
metrics=["ltv_max_pct", "liquidation_threshold_pct", "liquidation_bonus_pct"],
frequency="1d",
).to_dataframe()
Shell
curl --compressed "https://api.coinmetrics.io/v4/timeseries/protocol-metrics?protocols=aave_v3&markets=core-weth&metrics=ltv_max_pct,liquidation_threshold_pct,liquidation_bonus_pct&frequency=1d&page_size=10000&api_key=$CM_API_KEY"
Python
import os, requests
response = requests.get(
"https://api.coinmetrics.io/v4/timeseries/protocol-metrics",
params={"protocols": "aave_v3", "markets": "core-weth",
"metrics": "ltv_max_pct,liquidation_threshold_pct,liquidation_bonus_pct",
"frequency": "1d", "page_size": 10000, "api_key": os.environ["CM_API_KEY"]},
).json()
print(response)
Full parameter reference: see the API Reference for /timeseries/protocol-metrics.
Examples
The example below is a live pull, returned as JSON strings, and changes on each pull.
Example: risk parameters for a lending market
Caps and liquidation parameters for the Aave v3 WETH market on Ethereum (browser):
[
{
"protocol": "aave_v3",
"market": "core-weth",
"chain": "ethereum",
"time": "2026-08-08T00:00:00.000000000Z",
"borrow_cap_usd": "4599014118.516864",
"liquidation_bonus_pct": "105",
"liquidation_threshold_pct": "83",
"ltv_max_pct": "80.5",
"supply_cap_usd": "5173890883.331472"
},
{
"protocol": "aave_v3",
"market": "core-weth",
"chain": "ethereum",
"time": "2026-08-09T00:00:00.000000000Z",
"borrow_cap_usd": "4586234954.527968",
"liquidation_bonus_pct": "105",
"liquidation_threshold_pct": "83",
"ltv_max_pct": "80.5",
"supply_cap_usd": "5159514323.843964"
}
]
Note that liquidation_bonus_pct reads 105 here: a bonus factor above 100, meaning a 5% bonus expressed as 105% of the seized collateral's value, not a plain percentage. See Methodology above.
Coverage
See Protocol Metrics: Coverage for how to check current availability against the catalog directly.
Related
- Protocol Metrics: the parent page, with the shared entity model and frequency semantics.
- Liquidity and Size: the total borrowed and total market size figures these caps bound.
- Rates and Yield: utilization and the rates these risk parameters help govern.