Last updated: 5 Sep 2024
Disclaimer: In compliance with MiCA requirements, unauthorized stablecoins are subject to certain restrictions for EEA users. For more information, please click here.
The Binance Portfolio Margin Pro Program is available via the Binance Futures API connectivity suite and is open to users who have enabled the Binance Futures API trading interface. The existing trading API endpoints on the Cross Margin, USDⓈ-M Futures, and COIN-M Futures markets remain available under the Binance Portfolio Margin Pro Program and are consistent with the regular account trading practices.
Please note that the Portfolio Margin Pro API endpoints are compatible with Binance Portfolio Margin Pro, and will not be available for Portfolio Margin (unless under exceptional circumstances). Please refer to this article for a comprehensive distinction between Portfolio Margin Pro and Portfolio Margin.
For a full list of endpoints available for Portfolio Margin, please refer to Binance Portfolio Margin API.
In addition to the Binance standard API endpoints, additional dedicated endpoints are added under the Binance Portfolio Margin Pro Program, providing the following outputs:
1. uniMMR, Portfolio Margin Pro Account Status
2. Bankruptcy Loan Record (GET) and Repayment (POST)
3. Collateral Rate per symbol
4. Additional Portfolio Margin Pro Program API Exceptions
5. Portfolio Margin Pro Account Information (USER_DATA)
6. Portfolio Margin Pro Interest History (USER_DATA)
7. Portfolio Margin Pro Interest Rate (USER_DATA)
8. Portfolio Margin Pro Tiered Collateral Rate
9. Error codes
GET /sapi/v1/portfolio/account
The requests below will return the corresponding outputs:
Field | Description |
uniMMR | Unified Margin Maintenance margin ratio |
accountEquity | Unified margin account equity, in USD |
actualEquity | Unified margin account actual equity (without collateral rate) in USD |
accountMaintMargin | Unified Margin Maintenance Margin, the required margin for open position and loan, in USD |
accountStatus | Unified Margin Account current status: "NORMAL", "MARGIN_CALL", "SUPPLY_MARGIN", "REDUCE_ONLY", "ACTIVE_LIQUIDATION", "FORCE_LIQUIDATION", "BANKRUPTED" |
API Parameters:
Name | Type | Mandatory |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | { "uniMMR": "1.87987800", "accountEquity": "122607.35137903", "actualEquity": "142607.35137903",
"accountMaintMargin": "23.72469206", "accountStatus": "NORMAL" |
When the account hasn’t enabled the Portfolio Margin Pro Program | { "code":-21001, "msg": "invalid request: request ID is not a Portfolio Margin Account" } |
The requests below will return the corresponding outputs:
Field | Description |
asset | Loan asset by default (USDT) |
amount | Portfolio Margin Pro bankruptcy loan amount in USDT |
API Parameters:
Name | Type | Mandatory |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | { "asset": "USDT", "amount": "579.45", } |
The user doesn’t have any Portfolio Margin Bankruptcy Loan | { "error code": -21004, "msg":"No outstanding pmLoan" } |
API Parameters:
Name | Type | Mandatory |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | { |
The user’s Spot Wallet doesn’t have enough USDT to repay the Portfolio Margin Pro Bankruptcy Loan | { "error code": -21005, "msg":"No enough USDT to repay pmLoan" } |
The user’s Portfolio Margin Pro Bankruptcy Loan repayment is in process | { "error code": -21006, "msg":"Had pmLoan repayment in process" } |
The user failed to repay the Portfolio Margin Pro Bankruptcy Loan since liquidation was in process | { "error code": -21007, "msg":"Post fail since liquidation is in process" } |
* The endpoint will not adapt to the Portfolio Margin Pro users after Sep 11, 2024
GET /sapi/v1/portfolio/collateralRate
The requests below will return the corresponding outputs:
Field | Description |
asset | Collateral asset type |
collateralRate | Corresponding collateral rate |
API Responses:
Response Type | Response Content |
Normal Response | { "asset": "USDT", "collateralRate": "1.0000", } |
Client Status | Response Content |
If the user transfers assets from the Margin Wallet to the Futures Wallet | /sapi/v1/asset/transfer: { |
If the margin assets failed to retrieve in time | /sapi/v1/margin/maxTransferable /sapi/v1/asset/transfer /sapi/v1/margin/transfer /sapi/v1/future/transfer { "error code": -21003, "msg":"fail to retrieve margin assets”
} |
If the margin assets are not updated by the system in time | /sapi/v1/margin/maxBorrowable/sapi/v1/margin/loan /sapi/v1/margin/order with MARGIN_BUY { "error code": -21003, "msg":"fail to retrieve margin assets”
} |
The requests below will return the corresponding outputs:
Field | Description |
maxWithdrawAmountUSD | The maximum amount that can be transferred out of the Portfolio Margin Pro Account in USD (as per the estimated conversion value)* |
maxWithdrawAmount | The maximum amount that can be transferred out of the Portfolio Margin Pro Account* |
*i.e., Transfer to the user’s Spot Wallet
API Parameters:
Name | Type | Mandatory |
asset | STRING | YES |
recvWindow | LONG | NO |
API Responses:
Response Type | Response Content |
Normal Response | { "maxWithdrawAmountUSD": "25347.92083245", // Portfolio Margin maximum virtual amount for transfer out in USD "asset": "BTC", // asset name "maxWithdrawAmount": "1.33663654", // maximum amount for transfer out }
|
GET /sapi/v1/portfolio/interest-history
API Parameters:
Name | Type | Mandatory |
asset | STRING | NO |
startTime | LONG | NO |
endTime | LONG | NO |
size | LONG | Default:10 Max:100 |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | [ { "asset": "USDT", "interest": "0.00000604", "principal": "0.04902887", "interestRate": "0.00012329", "type": "UM_NEGATIVE_BALANCE", "interestAccruedTime": 1678924800000 } ] |
GET /sapi/v1/portfolio/interest-rate
API Parameters:
Name | Type | Mandatory |
asset | STRING | NO |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | [ { "asset": "USDT", "dailyInterest": "0.00012329", //daily interest rate "yearlyInterest": "0.045" //annual interest rate } ] } |
* The endpoint will take effect for Portfolio Margin Pro users on Sep 11, 2024
GET /sapi/v2/portfolio/collateralRate
API Parameters:
Name | Type | Mandatory |
recvWindow | LONG | NO |
timestamp | LONG | YES |
API Responses:
Response Type | Response Content |
Normal Response | { "asset": "USDT", "collateralInfo": [ { "tierFloor": "0", "tierCap": "30000000", "collateralRate": "1" }, { "tierFloor": "30000000", "tierCap": "99999999999", "collateralRate": "0.95" } ], "asset":"BNB", "collateralInfo": [ { "tierFloor": "0", "tierCap": "2000000", "collateralRate": "1" }, { "tierFloor": "2000000", "tierCap": "4000000", "collateralRate": "0.95" }, { "tierFloor": "4000000", "tierCap": "99999999999", "collateralRate": "0.90" } ] } |
If you encounter the error code "-21003" from the API endpoint or the error message "NET_ASSET_MUST_LTE_RATIO" from the GUI, please try to transfer a tiny amount of any asset to your Cross Margin Wallet, and the error will be fixed after the transfer.