Last updated: 6 February 2025
Disclaimer: In compliance with MiCA requirements, unauthorized stablecoins are subject to certain restrictions for EEA users. For more information, please click here.
The Unified Maintenance Margin Ratio (uniMMR) is the foundation of the Portfolio Margin System. This ratio is used to assess the overall risk level of a trader's entire portfolio, taking into account the adjusted equity and Maintenance Margin across all positions in the trading accounts within the Portfolio Margin.
The Unified Maintenance Margin Amount in Portfolio Margin is the total amount of Maintenance Margin a user needs to hold across all their Portfolio Margin nominated Futures Accounts and Cross Margin Accounts (in US Dollars).
The uniMMR plays a crucial role in risk management, determining if a trader meets the minimum margin requirements. A higher uniMMR indicates a lower risk, while a lower uniMMR signals a higher risk and potential liquidation.
uniMMR = Unified Account Adjusted Equity / Unified Maintenance Margin Amount
To maintain a healthy portfolio, you must keep your uniMMR above a certain threshold. Depending on the uniMMR level, different actions or restrictions may apply, such as receiving margin call reminders, restricting new orders, or even liquidation. Monitoring the uniMMR is essential to avoid liquidation risks and ensure a well-balanced portfolio.
Parameter | Calculation | Description |
uniMMR | Unified Account Adjusted Equity / Unified Maintenance Margin Amount = ∑adjustedEquity / ∑MM | The Unified Maintenance Margin Ratio of the Binance Portfolio Margin Account, calculated as the total adjusted equity divided by the total Maintenance Margin amount. |
∑adjustedEquity | ∑Equity - ∑OpenLoss * assetIndexPrice | The sum of the adjusted equity values of all the Portfolio Margin accounts, where the adjustments take into account the open loss factor. |
∑Equity | ∑min((MarginAsset - MarginLoan + futuresAsset + futuresUnrealPnL) * assetIndexPrice * collateralRate, (MarginAsset - MarginLoan + futuresAsset + futuresUnrealPnL) * assetIndexPrice) | The sum of the total equity values of all the Portfolio Margin accounts, including Margin and Futures accounts. |
∑MM | ∑Maintenance Margin =∑ futuresMM*assetIndexPrice + ∑MarginMM*assetIndexPrice | ∑MM is the sum of the Maintenance Margin across all assets in the Portfolio Margin Account. |
∑futuresMM | ∑futuresMM = ∑futuresMM_UM + ∑futuresMM_CM futuresMM_UM = |MMR * Position * MarkPrice| - cum futuresMM_CM = |MMR * Notional| = |MMR * Amount* contract multiplier| - cum | The total amount of Maintenance Margin or the margin required to maintain margin levels for all Futures positions held in the account (in US Dollars). |
∑MarginMM | ∑MarginMM = ∑ (Loan * MMR)
*Binance reserves the right to adjust these figures if needed. Users will receive notifications of such changes. | The total amount of Maintenance Margin or the margin required to maintain margin levels for all Cross Margin positions held in the account (in US Dollars). |
OpenLoss | OpenLoss = ∑qty * price * min(0, side * (collateralRateA - collateralRateB)) where:
| Open Loss refers to the decrease in Equity Value considered in the uniMMR calculation when there are open Cross Margin orders that involve exchanging a higher collateral rate asset for a lower collateral rate asset. |
futuresMM_UM = |MMR * Position * MarkPrice| - cum
MMR (Maintenance Margin Rate) depends on notional value of open position and can be found here for each symbol
Cum: Is the 'Maintenance Amount' from the trading rules
Binance Futures Trading Rules Leverage & Margin page
futuresMM_CM = |MMR * Notional| = |MMR * Amount* contract multiplier| - cum
MMR (Maintenance Margin Rate) depends on notional value of open position and can be found here for each symbol
Cum: Is the 'Maintenance Amount' from the trading rules
Binance Futures Trading Rules Leverage & Margin page
MarginMM = (Loan*MMR) / (1-MMR), while MMR = marginMM/marginAsset = 1 - (1 / 1.1) = 1 / (1.1) with 3x leverage.
The Unified Account Adjusted Equity in Portfolio Margin is the sum of:
Example of OpenLoss calculation
User A holds Bitcoin (BTC) as margin in their account and places an order to buy Cardano (ADA) using BTC. The base asset is ADA, and the quote asset is BTC. BTC has a 95% collateral rate, while ADA has a 90% collateral rate.
The buy symbol is ADA/BTC. Suppose the buy amount is 500 ADA, and the buy price is 0.001 ADA/BTC. The assetIndexPrice of BTC is 40,000 USD.
The "Open Loss" can be calculated using the below formula:
Open Loss = ∑qty * price * min(0, side * (collateralRateA - collateralRateB))
collateralRateA refers to the quote asset (BTC), and collateralRateB refers to the base asset (ADA).
Open Loss = 500 * 0.001 * min (0,(-1)*(0.95 - 0.9))
Open Loss = 500 * 0.001 * min(0, -0.05)
Open Loss = 500 * 0.001 *(-0.05)
Open Loss = -0.025 BTC
The open loss in USD = -0.025 * 40,000 = -1,000 USD
In this example, the "Open Loss" is 1,000 USD, indicating a potential reduction in Equity Value of $1,000 due to the execution of the ADA-to-BTC buy order, considering their different collateral rates.
∑MM (Unified Maintenance Margin Amount) is the total amount of Maintenance Margin or the margin required to maintain margin levels, held across all nominated Futures and Cross Margin Accounts (in US Dollars).
MaxWithdraw is the maximum amount of an asset you can withdraw from your Margin account without making your uniMMR go under 105%. It factors in your account balance, virtual available balance, and the required collateral rate to ensure the remaining assets can still cover your positions and maintain the required margin levels.
MaxWithdraw for USDT in the Margin Portfolio Margin account = max(min (margin free asset, virtual available balance / asset index price / collateral rate), 0)
Where:
virtualAvaliable balance = max(∑adjustedEquity-∑IM ,0)
MaxLoan is the maximum loan you can contract on your Margin Account.
MaxLoan = max(min (virtualMaxLoan / assetIndexPrice, Max_Borrow - Current Loan, 0)
Virtual MaxLoan = (Leverage - 1) * max( virtualAvailable balance, 0)
Where:
virtualAvaliable balance = max( ∑adjustedEquity - ∑IM ,0)
The following table outlines the uniMMR levels and corresponding status of the Portfolio Margin Account on Binance. UniMMR is considered healthy above 1.2 (120%). Please note that liquidation will take place when UniMMR drops to 1.05 (105%).
uniMMR Range | Corresponding Status |
uniMMR > 1.5 | You can trade freely. |
1.2 < uniMMR ≤ 1.5 | You will receive a reminder to transfer funds to your USDⓈ-M Futures, COIN-M Futures, or Cross Margin Account, repay Margin Loan, or reduce Futures positions. |
1.05 < uniMMR ≤ 1.2 | The system refuses to accept new orders. Binance will still accept new Reduce Order positions. You’re not allowed to increase margin levels. |
uniMMR ≤ 1.05 | Liquidation will take place. Binance will send a liquidation notice. |
For more details on the Binance Portfolio Margin Program, please refer to:
Suppose User A has the following margin assets, loan, and open orders.They use a 3x leverage in the Cross Margin mode.
Order | Symbol | Side | collateralRateA | collateralRateB | Qty | Price |
1 | BTCUSDT | BUY | 0.99 | 0.95 | 0.1 | 40,005 USDT |
2 | ETHUSDT | SELL | 0.99 | 0.95 | 0.2 | 2,102 USDT |
We'll calculate User A's OpenLoss using the following formula:
OpenLoss = ∑qty * price * min(0, side * (collateralRateA - collateralRateB))
Where:
Here's a summary of User A's OpenLoss for each order on Cross Margin:
Hence, OpenLoss = -160.02 + 0 = -160.02 USDT
Let’s calculate User A’s Equity, Initial Margin (IM), and Maintenance Margin (MM):
Asset | Margin Asset | Margin Loan | Equity = MarginAsset - MarginLoan | Margin IM | Margin MM |
USDT | 4,000.5 | 0 | 4,000.5 | 0 | 0 |
BTC | 0.1 | 0.04 | 0.06 | 0.02 | 0.004 |
ETH | 20 | 15 | 5 | 7.5 | 1.5 |
MarginIM = MarginLoan / ( leverage - 1 )
*Assume leverage is 3x by default in Cross Margin mode.
∑MarginMM = ∑ (Loan * MMR)
Using this MMR value, we can calculate the Cross Margin MM for each asset:
Initial Margin Rate (IMR): IMR is a percentage of the total value of a position that a trader is required to hold as collateral in their account when opening a new trade. It represents the minimum amount of funds that must be deposited to cover potential losses. A higher IMR indicates a lower level of leverage and a larger amount of required collateral.
Maintenance Margin Ratio (MMR): MMR is the minimum percentage of the total value of a position that a trader must maintain in their account to keep the position open after it has been established. It serves as a safety net to ensure that the trader has enough funds to cover potential losses and avoid liquidation. If the account's equity falls below this rate, the position will be liquidated to prevent further losses.
User A also has the following Futures positions, unrealized PnL, and assets in the USDⓈ-M Futures and COIN-M Futures accounts:
Contract type | USDⓈ-M | COIN-M | |
Symbol | BTCUSDT_PERP | BTCUSDT_20220624 | BTCUSD_PERP |
Asset | USDT | USDT | BTC |
Asset Index Price (to USD value) | 1 | 1 | 40,000 |
Account balance | 1,999.5 USDT | 0.1 BTC | |
MMR bracket* | 0.5% | 0.5% | 0.5% |
Leverage | 10x | 10x | 10x |
IMR | 10% | 10% | 10% |
Position quantity | 0.05 BTC | 0.04 BTC | 10,000 USD |
Position side | short | long | long |
Entry Price | 52,000 USDT | 52,350 USDT | 50,000 BTC |
Mark Price | 40,000 USDT | 42,000 USDT | 40,000 BTC |
Unrealized PnL | 600 USDT | -414 USDT | -0.05 BTC |
*Note: MMR brackets referenced here are from 2023 and may be subject to updates. Adjust calculations if future bracket changes apply.
Let’s calculate User A’s Equity, IM, and MM (Maintenance Margin) on USDⓈ-M and COIN-M Futures:
Contract | Equity | IM Calculation* | IM Result | MM Calculation** | MM Result |
USDⓈ-M | |||||
BTCUSDT_PERP |
1,999.5,000 + 186 = 2,185.5 USDT | 0.05 BTC * 40,000 USDT/BTC * 10% (IMR) | 200 USDT | 0.05 BTC * 40,000 USDT * 0.5% (MMR bracket) | 10 USDT |
BTCUSDT_20220624 | 0.04 BTC * 42,000 USDT/BTC * 10% (IMR) | 168 USDT | 0.04 BTC * 42,000 USDT * 0.5% (MMR bracket) | 8.4 USDT | |
COIN-M | |||||
BTCUSD_PERP | 0.05 BTC | 10,000 USD * 10% (IMR) / 40,000 USDT/BTC | 0.025 BTC | 10,000 USDT * 0.5% (MMR bracket) / 40,000 USD | 0.00125 BTC
|
*Initial Margin = Notional Position Value / Leverage Level
** Note: MMR brackets referenced here are from 2023 and may be subject to updates. Adjust calculations if future bracket changes apply.
Knowing that UniMMR = ∑adjustedEquity /∑MM, let’s combine the above calculations to get the Unified Account Adjusted Equity and Unified Maintenance Margin Amount for every asset held in User A’s Cross Margin and Futures accounts:
Coin | Asset IndexPrice | Collateral Rate | Unified Adjusted Equity | OpenLoss | Unified Initial Margin Amount | Unified Maintenance Margin Amount |
USDT | 1.001 | 0.99 | 2,185.5 + 4,000.5 = 6,186 | 160.02 | 200 + 168 = 368 | 10 + 8.4 = 18.4 |
BTC | 40,000 | 0.95 | 0.06 + 0.05 = 0.11 | 0.02 + 0.025 = 0.045 | 0.004 + 0.00125 = 0.00525 | |
ETH | 2,100 | 0.95 | 5 | 7.5 | 1.5 |
We now have enough data to calculate the uniMMR.
As a reminder, uniMMR = ∑adjustedEquity /∑MM
Unified Account Adjusted Equity = ∑Equity - OpenLoss * assetIndexPrice = (6,186 * 0.99 * 1.001) + (0.11 * 40,000 * 0.95) + (5 * 2,100 * 0.95) - 160.02 * 1.001 = 20,125.08
Unified Maintenance Margin Amount = USDT MM * Asset IndexPrice + BTC MM * Asset IndexPrice + ETH MM * Asset IndexPrice = (18.4 * 1.001) + (0.00525 * 40,000) + (1.5 * 2,100) = 3,378.41
uniMMR = ( 20,125.08 / 3,378.41) = 5.96 (595.6%)
MaxWithdraw is the maximum amount of an asset a user can withdraw from their Margin Account without breaching the required margin levels. It factors in the user's account balance, virtual available balance, and the required collateral rate to ensure the remaining assets can still cover the user's positions and maintain the required margin levels.
Let's calculate the maxWithdraw for User A:
Let's assume User A would like to borrow some BTC. To calculate their maxLoan amount, we can use the following formula:
virtualMaxLoan = (Leverage - 1) * max(virtualAvaliable balance, 0)
= (3 - 1) * (2,206.712, 0) = 4,413.424
MaxLoan for BTC = min (VirtualMaxLoan / assetIndexPrice, MaxBorrow - CurrentLoan) = min(4,413.424/40,000, 10 - 0.04) = 0.11033560
Where: