HomeDocumentationAPI Reference
Log In
Documentation

[Pending] Portfolio Manager

These changes are due to go live 20 August 2026.

Portfolio Margin Scenarios

These are the scenarios used when computing portfolio margin. Note all regular scenarios have dampening 1.

All combinations in the table below are of the form (Spot Shock (%), Volatility Shock).

ScenarioBTCETHSOL/XRPHYPE/ZECXAUTADA/CC
1(+14%, Up)(+16%, Up)(+24%, Up)(+27%, Up)(+10%, Up)(+33%, Up)
2(+10.5%, Up)(+12%, Up)(+18%, Up)(+20.25%, Up)(+7.5%, Up)(+24.75%, Up)
3(+10.5%, Static)(+12%, Static)(+18%, Static)(+20.25%, Static)(+7.5%, Static)(+24.75%, Static)
4(+10.5%, Down)(+12%, Down)(+18%, Down)(+20.25%, Down)(+7.5%, Down)(+24.75%, Down)
5(+7%, Up)(+8%, Up)(+12%, Up)(+13.5%, Up)(+5%, Up)(+16.5%, Up)
6(+7%, Static)(+8%, Static)(+12%, Static)(+13.5%, Static)(+5%, Static)(+16.5%, Static)
7(+7%, Down)(+8%, Down)(+12%, Down)(+13.5%, Down)(+5%, Down)(+16.5%, Down)
8(+3.5%, Up)(+4%, Up)(+6%, Up)(+6.75%, Up)(+2.5%, Up)(+8.25%, Up)
9(+3.5%, Static)(+4%, Static)(+6%, Static)(+6.75%, Static)(+2.5%, Static)(+8.25%, Static)
10(+3.5%, Down)(+4%, Down)(+6%, Down)(+6.75%, Down)(+2.5%, Down)(+8.25%, Down)
11(+0%, Up)(+0%, Up)(+0%, Up)(+0%, Up)(+0%, Up)(+0%, Up)
12(+0%, Static)(+0%, Static)(+0%, Static)(+0%, Static)(+0%, Static)(+0%, Static)
13(+0%, Down)(+0%, Down)(+0%, Down)(+0%, Down)(+0%, Down)(+0%, Down)
14(-3.5%, Up)(-4%, Up)(-6%, Up)(-6.75%, Up)(-2.5%, Up)(-8.25%, Up)
15(-3.5%, Static)(-4%, Static)(-6%, Static)(-6.75%, Static)(-2.5%, Static)(-8.25%, Static)
16(-3.5%, Down)(-4%, Down)(-6%, Down)(-6.75%, Down)(-2.5%, Down)(-8.25%, Down)
17(-7%, Up)(-8%, Up)(-12%, Up)(-13.5%, Up)(-5%, Up)(-16.5%, Up)
18(-7%, Static)(-8%, Static)(-12%, Static)(-13.5%, Static)(-5%, Static)(-16.5%, Static)
19(-7%, Down)(-8%, Down)(-12%, Down)(-13.5%, Down)(-5%, Down)(-16.5%, Down)
20(-10.5%, Up)(-12%, Up)(-18%, Up)(-20.25%, Up)(-7.5%, Up)(-24.75%, Up)
21(-10.5%, Static)(-12%, Static)(-18%, Static)(-20.25%, Static)(-7.5%, Static)(-24.75%, Static)
22(-10.5%, Down)(-12%, Down)(-18%, Down)(-20.25%, Down)(-7.5%, Down)(-24.75%, Down)
23(-14%, Up)(-16%, Up)(-24%, Up)(-27%, Up)(-10%, Up)(-33%, Up)

Two further scenarios are evaluated at zero spot shock with the skew shocks applied (linear and abs), described under Skew Shock Parameters.

Tail Scenarios

These are the tail scenarios which involve large spot shocks and non trivial dampening. All cases involve volatility spot shock up.

Pairs in the table below are of the form (spot shock (%), dampening factor).

ScenarioBTCETHSOLHYPEXRPZECXAUTADA/CC
1(-66%, 0.122624)(-66%, 0.14)(-66%, 0.272711)(-66%, 0.3273)(-66%, 0.290933)(-66%, 0.327273)(-66%, 0.091667)(-66%, 0.4)
2(-33%, 0.245)(-33%, 0.28)(-33%, 0.545422)(-33%, 0.6545)(-33%, 0.581778)N/A (captured in vanilla scenario)(-33%, 0.181667)N/A (captured in vanilla scenario)
3(+50%, 0.161741)(+50%, 0.1848)(+50%, 0.36)(+50%, 0.432)(+50%, 0.384)(+50%, 0.432)(+50%, 0.12)(+50%, 0.528)
4(+100%, 0.080871)(+100%, 0.0924)(+100%, 0.18)(+100%, 0.216)(+100%, 0.192)(+100%, 0.216)(+100%, 0.06)(+100%, 0.264)
5(+200%, 0.020218)(+200%, 0.0231)(+200%, 0.045022)(+200%, 0.05065)(+200%, 0.045022)(+200%, 0.054)(+200%, 0.015)(+200%, 0.132)
6(+300%, 0.008976)(+300%, 0.010267)(+300%, 0.02)(+300%, 0.024)(+300%, 0.021333)(+300%, 0.024)(+300%, 0.006667)(+300%, 0.088)
7(+400%, 0.005044)(+400%, 0.005775)(+400%, 0.011244)(+400%, 0.0135)(+400%, 0.012)(+400%, 0.0135)(+400%, 0.00375)(+400%, 0.066)
8(+500%, 0.003228)(+500%, 0.003696)(+500%, 0.0072)(+500%, 0.00864)(+500%, 0.00768)(+500%, 0.00864)(+500%, 0.0024)(+500%, 0.0528)

Account Details

These parameters govern the size and supported expiries of a PMRM subaccount.

ParameterContract VariableAll marketsRangeDescription
MAX_ACCOUNT_SIZEmaxAccountSize500No boundsThis is the maximum number of assets (options, cash, base, perpetuals) that can be supported by a single portfolio margined subaccount. This is constrained by gas requirements.
MAX_EXPIRIESmaxExpiries16No boundsThis is the maximum number of unique expiries that can be held by a single portfolio margined subaccount.

Contingency Margin

These parameters govern various pieces of contingency margin which account for possibilities not encoded in the spot and IV shocks.

ParameterContract VariableBTC/ETHSOL/XAUTHYPEXRPZECADACCRangeDescription
PEG_FACTOROtherContingencyParameters.pegLossFactor4.04.04.04.04.04.04.0[0.0, 20.0]Increases IM_FACTOR when USDC depegs beyond a threshold value.
INITIAL_PERP_FACTOROtherContingencyParameters.perpPercent0.0150.01750.01750.020.0270.040.045[0.0, 1.0]This is used to compute the perp contingency for initial margin, simply a small percentage (given by PERP_FACTOR) of the spot price.
MAINTENANCE_PERP_FACTOROtherContingencyParameters.perpPercent0.00750.010.010.010.0150.0250.025[0.0, 1.0]As above but for maintenance margin
MM_OPTION_FACTOROtherContingencyParameters.optionPercent0.00150.00250.0030.00450.0060.0070.01[0.0, 1.0]A small percentage (OPTION_FACTOR) of the spot price is added per net short contract per strike to the asset contingency.
IM_OPTION_FACTOROtherContingencyParameters.optionPercent0.00250.0040.0050.00750.01020.0120.017[0.0, 1.0]As above but for initial margin. I.e. for SOL, an extra 0.4% of spot is added per naked short option.

Volatility Shocks

These parameters govern the shock IVs used when computing portfolio margin.

ParameterContract VariableBTC/ETHSOL/HYPE/XRPZECXAUTADA/CCRangeDescription
VOL_RANGE (up)VolShockParameters.volRangeUp0.400.500.550.300.60[0.01, 2.0]Multiplicative scaling of the implied volatility when considering an increase in volatility.
VOL_RANGE (down)VolShockParameters.volRangeDown0.250.300.300.150.30[0.01, 1.0]Multiplicative scaling of the implied volatility when considering a decrease in volatility.
VEGA_POWER (< 30 DTE)VolShockParameters.shortTermPower0.30.30.30.30.3[0.0, 0.5]A power scaling of the multiplicative volatility shock (for short dated expiries).
VEGA_POWER (> 30 DTE)VolShockParameters.longTermPower0.130.130.130.130.13[0.0, 0.5]A power scaling of the multiplicative volatility shock (for long dated expiries).
DTE_FLOORVolShockParameters.dteFloor1 day1 day1 day1 day1 day[0.01, 100] daysA floor on the time-to-expiry used when computing the volatility shock. Avoids divergence arising from dividing by near 0 values.
minVolShockUpVolShockParameters.minVolShockUp0.50 (50%)0.60 (60%)0.60 (60%)0.20 (20%)0.60 (60%)[0, 20]Minimum evaluated (shock) volatility for the vol up scenario

Discounting

These parameters govern how long sub-portfolios are discounted.

ParameterContract VariableAll marketsRangeDescription
shortRateMultScaleMarginParameters.shortRateMultScale0.0[0.0, 10.0]Multiplicative scaling of the risk free rate used when computing the discounting for a short sub-portfolio.
shortRateAddScaleMarginParameters.shortRateAddScale0.10[0.0, 10.0]Additive scaling of the risk free rate used when computing the discounting for a short sub-portfolio.
longRateMultScaleMarginParameters.longRateMultScale0.0[0.0, 10.0]Multiplicative scaling of the risk free rate used when computing the discounting for a long sub-portfolio.
longRateAddScaleMarginParameters.longRateAddScale0.10[0.0, 10.0]Additive scaling of the risk free rate used when computing the discounting for a long sub-portfolio.
STATIC_SCALE_POSMarginParameters.baseStaticDiscountPos0.98[0.0, 1.1]A flat scaling of the sub-portfolio's shocked marked value (only applies if positive).
STATIC_SCALE_NEGMarginParameters.baseStaticDiscountNeg1.02[0.9, 10.0]A flat scaling of the sub-portfolio's shocked marked value (only applies if negative).

Forward Contingency

These are parameters that govern the forward contingency. This accounts for forward basis movements against the trader.

ParameterContract VariableBTC/ETH/XAUTSOL/HYPEXRP/ZEC/ADA/CCRangeDescription
ADD_FACTORBasisContingencyParameters.basisContAddFactor0.50.250.35[0, 5.0]Additive scaling factor when computing the basis contingency
MULT_FACTORBasisContingencyParameters.basisContMultFactor2.02.02.0[0, 5.0]Multiplicative scaling factor when computing the basis contingency.

The two spot scenarios used for the basis contingency are the smallest magnitude spot up scenario and the largest magnitude spot down scenario, both with IV static:

MarketUP_SCENARIO_MOVE (scenarioSpotUp)DOWN_SCENARIO_MOVE (scenarioSpotDown)
BTC1.0350.965
ETH1.040.96
SOL / XRP1.060.94
HYPE / ZEC1.06750.9325
XAUT1.0250.975
ADA / CC1.08250.9175

Initial Margin and Oracle Contingency

These govern how initial margin is typically defined, as well as circumstances where it may increase due to stable coin depeggings and/or low data confidence.

ParameterContract VariableBTC/ETH/SOL/HYPE/XRP/ZEC/XAUT/ADACCRangeDescription
IM_FACTORMarginParameters.imFactor1.01.15[0.5, 10.0]This scales the maxLoss and contingencies when computing the initial margin for a portfolio margined subaccount.
MM_FACTORMarginParameters.mmFactor0.800.95[0.5, 10.0]As above, but for maintenance margin.
USDC_THRESHOLDOtherContingencyParameters.pegLossThreshold0.990.99[0.0, 1.05]Value of USDC beneath which the depeg contingency comes into effect.
CONFIDENCE_THRESHOLDOtherContingencyParameters.confThreshold0.550.55[0.0, 1.0]Value of the confidence beneath which the relevant data is considered low confidence (thereby attracting additional initial margin).
CONFIDENCE_SCALEOtherContingencyParameters.confMargin0.40.4[0, 2.0]Percentage of the spot price added when considering the oracle contingency.

Skew Shock Parameters

ParameterAll marketsRangeDescription
linearBaseCap0.25<= 10Sets the maximum multiple of the volatility for the linear scenario
absBaseCap0.25<= 10As above for the abs scenario
linearCBase-0.1>= -10Sets how much to lower the maximum multiple for longer dated expiries
absCBase-0.1>= -10As above for the abs scenario
minKStar0.01>= 0Minimum width before flattening the vol increase for the skew scenarios
widthScale4.0<= 10How many std deviations based on ATM vol after which we cap the increase in IV
volParameterStatic0.60[0, 10]Estimate of IV used to approximate Kstar
volParameterScale0.0[-20, 20]Corrects vol for longer timescales

Risk Cancellation

Risk cancelling collateral has its spot exposure shocked together with the market's derivatives, rather than simply being haircut. Each portfolio margin manager recognises the collateral of its own market:

ManagerRisk cancelling collateral
ETH PM(w)ETH, wstETH, weETH
BTC PM(w)BTC, cbBTC, LBTC
SOL PM(w)SOL, jitoSOL
HYPE PMHYPE, kHYPE
XRP PMfXRP
ADA PMcbADA
XAUT PMXAUT
ZEC PM, CC PMNone

Haircuts applied to risk cancelling collateral (both are totals, i.e. the full haircut applied at that margin level):

AssetManagerMM HaircutIM Haircut
ETHETH PM6%7%
wstETHETH PM8.6%10%
weETHETH PM15.6%23.5%
wBTCBTC PM12.6%14%
cbBTCBTC PM12.6%14%
LBTCBTC PM18.6%22.5%
wSOLSOL PM11%16%
jitoSOLSOL PM11%21%
HYPEHYPE PM10%23%
kHYPEHYPE PM10%23%
fXRPXRP PM18%20%
cbADAADA PM10%13%
XAUTXAUT PM5%7%

Other collateral is haircut rather than risk cancelled, and the haircut depends on which manager holds it. The BTC and ETH managers accept the widest range:

AssetBTC PM MM / IMETH PM MM / IM
USDT2% / 4%2% / 4%
AUSD15% / 20%15% / 20%
USDe15% / 20%15% / 20%
sUSDe20% / 30%20% / 30%
DRV85% / 90.1%85% / 90.1%
ETH20% / 25%risk cancelling
wstETH20% / 28%risk cancelling
weETH30% / 34.9%risk cancelling
BTCrisk cancelling25% / 30.25%
cbBTCrisk cancelling30% / 34.9%
LBTCrisk cancelling30% / 34.9%

Open Interest Caps

Open interest caps on options, base and perpetual instruments, as configured for the portfolio margin managers.

MarketUNDERLYING_OI_CAP (baseAsset.totalPositionCap)OPTION_OI_CAP (option.totalPositionCap)PERP_OI_CAP (perp.totalPositionCap)
ETH6,0002,000,000250,000
BTC160100,00012,000
SOL2,0002,000,000500,000
HYPE500,00020,000,0001,000,000
XRPN/A20,000,0005,000,000
ZECN/A10,00020,000
XAUT2505,0005,000
ADAN/A120,000,00030,000,000
CCN/A10,000,0007,000,000

Caps are set per manager, so the standard manager's caps for the same market can differ — see Standard Margin Parameters. Collateral assets (cbBTC, LBTC, jitoSOL, kHYPE, cbADA, fXRP, …) carry their own base caps.

Fees

These are fees charged by the managers on the protocol layer.

ParameterContract VariableAll marketsRangeDescription
SPOT_FACTORmanager.OIFeeRateBPS0.70 (70%)[0, 5.0]Percentage of the spot price charged when the trade increases the open interest.
MIN_OI_FEEminOIFee$50 USDC[0, 10,000]Minimum fee charged when open interest is increased.

Did this page help you?