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

# Overview

> What the protocol's risk parameters are, where they live, how the published values are encoded, and what each field controls.

Risk parameters are the per-asset knobs that govern margin haircuts, exposure caps, funding, and borrow rates. They are set by governance, published onchain in the Registry, and mirrored by the services. This section lists the [current production values](/risk-parameters/production-parameters) and explains each field.

Each listed asset has two layers:

* **Risk parameters** — one set per fungible asset class (the margin, cap, funding, and rate knobs below).
* **Asset config** — one entry per chain the asset lives on (token address, deposit caps, target weight).

## Source and live values

The canonical published set is the `tplus-risk-params` repository; the production file is `environments/prod/params.json`. Ingestion tooling scales the human-readable values and writes them to the Registry, and the services read them back from the Registry — so the registry is always authoritative. Read values at runtime rather than hardcoding them:

| Endpoint                                          | Returns                                                                               |
| ------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `GET /registry/risk-parameters`                   | Per-asset risk parameters.                                                            |
| `GET /registry/assets`                            | Per-(asset, chain) asset config: deposit caps, weights, addresses.                    |
| `POST /registry/decimals`, `GET /registry/vaults` | Token decimals and vault addresses — see [Asset parameters](/funds/asset-parameters). |

## How values are encoded

The published JSON uses integers with fixed denominators — no floats. Divide by the denominator to read a value:

| Family                          | Fields                                                                                                                                                                                                                                                    | Denominator                         | Example                              |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------ |
| Percent factors                 | `collateralFactor`, `liabilityFactor`                                                                                                                                                                                                                     | 100                                 | `98` -> 98%                          |
| Utilization ratio               | `maxUtilization`                                                                                                                                                                                                                                          | 1e18                                | `800000000000000000` -> 80%          |
| Rate / factor families          | `interestKinks`, `kinkInterestRates`, `usdInterestKinks`, `usdKinkInterestRates`, `skewModifier`, `skewCliff`, `baseFundingRate`, `premiumClamp`, `initialMarginClamps`, `initialMarginFactors`, `maxFundingRate`, `maxUtilizationRate`, `bufferMultiple` | 1,000,000                           | `1500000` -> 150%; `1200000` -> 1.2x |
| Open-interest / collateral caps | `maxCollateral`, `maxOpenInterest`, `maxSpotOpenInterest`                                                                                                                                                                                                 | whole units in JSON, x1e18 onchain  | `100000000` -> 100,000,000           |
| Deposit caps                    | `maxDeposits`, `max1hrDeposits`                                                                                                                                                                                                                           | whole tokens in JSON, x1e18 onchain | `271000000` -> 271,000,000           |
| Min balance                     | `minSubAccountBalance`                                                                                                                                                                                                                                    | 1e18 (USD)                          | `1000000000000000000` -> 1 USD       |
| Weight                          | `minWeight`                                                                                                                                                                                                                                               | raw integer (not a percent)         | `16`                                 |

`maxOpenInterest` is a USD notional; `maxCollateral` and `maxSpotOpenInterest` are in the asset's own token units. A cap of `0` is a hard zero, not "unlimited" — for total open interest it makes a market reduce-only (see the [glossary](#parameter-glossary)).

### Field names across surfaces

The Registry and JSON use camelCase; the Trading API returns snake\_case. Three fields are also renamed:

| JSON (`params.json` / Registry) | Trading API (`/registry/risk-parameters`) |
| ------------------------------- | ----------------------------------------- |
| `maxOpenInterest`               | `max_total_open_interest_notional`        |
| `maxSpotOpenInterest`           | `max_spot_open_interest`                  |
| `maxCollateral`                 | `max_collateral`                          |
| `maxUtilization`                | `max_utilization`                         |

Other fields map by snake-casing the same name.

## Shared parameters

Every asset in the current production set shares the values below, so the [per-asset tables](/risk-parameters/production-parameters) omit them.

* **Max utilization** (`maxUtilization`): **80%**. The share of a pool's liquidity that can be borrowed; settlements that would draw the pool past it are gated. See [settlement utilization caps](/funds/settlement#utilization-caps).
* **Borrow-rate curve** (`interestKinks` / `kinkInterestRates`, and the identical quote-side `usdInterestKinks` / `usdKinkInterestRates`): a piecewise-linear kink curve, annualized:

```text theme={null}
utilization   0%    40%    70%    85%    95%    100%
borrow rate   0%     2%     5%    10%    30%    150%
```

See [borrow rates](/trading/fees-and-rates#borrow-rates).

* **Funding constants**: skew factor (`skewModifier`) **0.6%**, skew deadzone (`skewCliff`) **0.05%**, base funding rate (`baseFundingRate`) **0**, premium clamp (`premiumClamp`) **0.05%**. See [funding rates](/trading/fees-and-rates#funding-rates).
* **Initial-margin breakpoints** (`initialMarginClamps`): used-open-interest fractions **0% / 20% / 40% / 60% / 80% / 100%**. The per-asset `initialMarginFactors` give the IM factor at each breakpoint.
* **Rebalancing buffer** (`bufferMultiple`): **1.2x**. See [rebalancing](/funds/rebalancing).
* **Isolated-only** (`isolatedOnly`): **false** for every current production asset.

## Parameter glossary

| Field                                         | Controls                                                                                                                                                                                    | Reference                                                                                                 |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `collateralFactor` (CF)                       | Collateral haircut: only CF of an asset's value counts toward maintenance margin.                                                                                                           | [Margin](/trading/margin#risk-parameters)                                                                 |
| `liabilityFactor` (LF)                        | Borrow haircut: borrows count at `(2 - LF)` of value.                                                                                                                                       | [Margin](/trading/margin#risk-parameters)                                                                 |
| `initialMarginFactors`, `initialMarginClamps` | IM factor curve: steps the initial-margin haircut down as used open interest rises toward the cap.                                                                                          | [Margin](/trading/margin#risk-parameters)                                                                 |
| `maxOpenInterest`                             | Total open-interest notional cap (checked at mark and oracle). Only increases are checked, so at or above the cap a market is reduce-only; `0` forces reduce-only. USD (index 0) is exempt. | [Caps](/trading/margin#protocol-caps)                                                                     |
| `maxSpotOpenInterest`                         | Net directional margin-exposure cap, in asset units. Also the lendable cap for borrow utilization.                                                                                          | [Caps](/trading/margin#protocol-caps), [borrow rates](/trading/fees-and-rates#borrow-rates)               |
| `maxCollateral`                               | Cap on collateral held in margin sub-accounts, in asset units.                                                                                                                              | [Caps](/trading/margin#protocol-caps)                                                                     |
| `maxUtilization`                              | Borrow-utilization ceiling for the pool; gates asset outflow in settlement.                                                                                                                 | [Settlement](/funds/settlement#utilization-caps)                                                          |
| `interestKinks`, `kinkInterestRates`          | Base borrow-rate kink curve (borrowing the asset itself).                                                                                                                                   | [Borrow rates](/trading/fees-and-rates#borrow-rates)                                                      |
| `usdInterestKinks`, `usdKinkInterestRates`    | Quote borrow-rate kink curve (borrowing USD against the market).                                                                                                                            | [Borrow rates](/trading/fees-and-rates#borrow-rates)                                                      |
| `skewModifier`, `skewCliff`                   | Funding skew sensitivity and the deadzone that absorbs small skew.                                                                                                                          | [Funding rates](/trading/fees-and-rates#funding-rates)                                                    |
| `baseFundingRate`, `premiumClamp`             | Funding premium base rate and the clamp on the premium adjustment.                                                                                                                          | [Funding rates](/trading/fees-and-rates#funding-rates)                                                    |
| `maxFundingRate`                              | Per-interval funding-rate clamp (applied to both signs). Registry hard-cap `1142`.                                                                                                          | [Funding rates](/trading/fees-and-rates#funding-rates)                                                    |
| `maxUtilizationRate`                          | Per-interval borrow-rate cap; applies to both the base and quote rates. Registry hard-cap `1142`.                                                                                           | [Borrow rates](/trading/fees-and-rates#borrow-rates)                                                      |
| `bufferMultiple`                              | Rebalancing target buffer (1.2x).                                                                                                                                                           | [Rebalancing](/funds/rebalancing)                                                                         |
| `isolatedOnly`                                | Asset may be used only in isolated sub-accounts.                                                                                                                                            | [Margin](/trading/margin#account-types)                                                                   |
| `minSubAccountBalance`                        | Minimum sub-account equity, in USD; a margin transfer must leave the source at zero or above it.                                                                                            | [Transfers](/trading/margin#creating-accounts-and-transfers)                                              |
| `maxDeposits`, `max1hrDeposits`               | Per-(asset, chain) total and rolling-hour deposit caps; a deposit past either is credited as an isolated balance.                                                                           | [Asset parameters](/funds/asset-parameters), [Fungibility](/funds/fungibility#deposit-caps-and-isolation) |
| `minWeight`                                   | Per-(asset, chain) target weight used by rebalancing.                                                                                                                                       | [Rebalancing](/funds/rebalancing)                                                                         |

All values are governance-set and change over time. Treat this section as a snapshot and read the registry endpoints for live values.
