# Public Rest API for Margin Trade (DRAFT, under construction)
# General API Information
* The base endpoint is: **https://api.binance.com**
* All endpoints return either a JSON object or array.
* Data is returned in **ascending** order. Oldest first, newest last.
* All time and timestamp related fields are in milliseconds.
* HTTP `4XX` return codes are used for for malformed requests;
the issue is on the sender's side.
* HTTP `429` return code is used when breaking a request rate limit.
* HTTP `418` return code is used when an IP has been auto-banned for continuing to send requests after receiving `429` codes.
* HTTP `5XX` return codes are used for internal errors; the issue is on
Binance's side.
It is important to **NOT** treat this as a failure operation; the execution status is
**UNKNOWN** and could have been a success.
* Any endpoint can return an ERROR; the error payload is as follows:
```javascript
{
"code": -1121,
"msg": "Invalid symbol."
}
```
* Specific error codes and messages defined in another document.
* For `GET` endpoints, parameters must be sent as a `query string`.
* For `POST`, `PUT`, and `DELETE` endpoints, the parameters may be sent as a
`query string` or in the `request body` with content type
`application/x-www-form-urlencoded`. You may mix parameters between both the
`query string` and `request body` if you wish to do so.
* Parameters may be sent in any order.
* If a parameter sent in both the `query string` and `request body`, the
`query string` parameter will be used.
# Endpoint security type
* Each endpoint has a security type that determines the how you will
interact with it.
* API-keys are passed into the Rest API via the `X-MBX-APIKEY`
header.
* API-keys and secret-keys **are case sensitive**.
* API-keys can be configured to only access certain types of secure endpoints.
For example, one API-key could be used for TRADE only, while another API-key
can access everything except for TRADE routes.
* By default, API-keys can access all secure routes.
NONE | Endpoint can be accessed freely.
TRADE | Endpoint requires sending a valid API-Key and signature.
USER_DATA | Endpoint requires sending a valid API-Key and signature.
MARGIN | Endpoint requires sending a valid API-Key and signature.
USER_STREAM | Endpoint requires sending a valid API-Key.
MARKET_DATA | Endpoint requires sending a valid API-Key.
* `TRADE` and `USER_DATA` endpoints are `SIGNED` endpoints.
# SIGNED (TRADE、USER_DATA AND MARGIN) Endpoint security
* `SIGNED` endpoints require an additional parameter, `signature`, to be
sent in the `query string` or `request body`.
* Endpoints use `HMAC SHA256` signatures. The `HMAC SHA256 signature` is a keyed `HMAC SHA256` operation.
Use your `secretKey` as the key and `totalParams` as the value for the HMAC operation.
* The `signature` is **not case sensitive**.
* `totalParams` is defined as the `query string` concatenated with the
`request body`.
## Timing security
* A `SIGNED` endpoint also requires a parameter, `timestamp`, to be sent which
should be the millisecond timestamp of when the request was created and sent.
* An additional parameter, `recvWindow`, may be sent to specify the number of
milliseconds after `timestamp` the request is valid for. If `recvWindow`
is not sent, **it defaults to 5000**.
* The logic is as follows:
```javascript
if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) {
} else {
}
```
**Serious trading is about timing.** Networks can be unstable and unreliable,
which can lead to requests taking varying amounts of time to reach the
servers. With `recvWindow`, you can specify that the request must be
processed within a certain number of milliseconds or be rejected by the
server.
**It recommended to use a small recvWindow of 5000 or less!**
## SIGNED Endpoint Examples for POST /api/v1/order
Here is a step-by-step example of how to send a vaild signed payload from the
Linux command line using `echo`, `openssl`, and `curl`.
apiKey | vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
secretKey | NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j
symbol | LTCBTC
side | BUY
type | LIMIT
timeInForce | GTC
quantity | 1
price | 0.1
recvWindow | 5000
timestamp | 1499827319559
### Example 1: As a query string
* **queryString:** symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
* **HMAC SHA256 signature:**
```
[linux]$ echo -n "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71
```
* **curl command:**
```
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v1/order?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71'
```
### Example 2: As a request body
* **requestBody:** symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
* **HMAC SHA256 signature:**
```
[linux]$ echo -n "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71
```
* **curl command:**
```
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v1/order' -d 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71'
```
### Example 3: Mixed query string and request body
* **queryString:** symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC
* **requestBody:** quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
* **HMAC SHA256 signature:**
```
[linux]$ echo -n "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTCquantity=1&price=0.1&recvWindow=5000×tamp=1499827319559" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= 0fd168b8ddb4876a0358a8d14d0c9f3da0e9b20c5d52b2a00fcf7d1c602f9a77
```
* **curl command:**
```
(HMAC SHA256)
[linux]$ curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v1/order?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC' -d 'quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559&signature=0fd168b8ddb4876a0358a8d14d0c9f3da0e9b20c5d52b2a00fcf7d1c602f9a77'
```
Note that the signature is different in example 3.
There is no & between "GTC" and "quantity=1".
## General endpoints
### Margin account transfer (MARGIN)
```
Post /sapi/v1/margin/transfer
```
Execute transfer between spot account and margin account.
**Weight:**
1
**Parameters:**
asset | STRING | YES | The asset being transferred, e.g., BTC
amount | DECIMAL | YES | The amount to be transferred
type | INT | YES | 1: transfer from main account to margin account 2: transfer from margin account to main account
recvWindow | LONG | NO
timestamp | LONG | YES
**Response:**
```javascript
{
//transaction id
"tranId": 100000001
}
```
### Margin account borrow (MARGIN)
```
Post /sapi/v1/margin/loan
```
Apply for a loan.
**Weight:**
1
**Parameters:**
asset | STRING | YES |
amount | DECIMAL | YES |
recvWindow | LONG | NO
timestamp | LONG | YES
**Response:**
```javascript
{
//transaction id
"tranId": 100000001
}
```
### Margin account repay (MARGIN)
```
Post /sapi/v1/margin/repay
```
Repay loan for margin account.
**Weight:**
1
**Parameters:**
asset | STRING | YES |
amount | DECIMAL | YES |
recvWindow | LONG | NO
timestamp | LONG | YES
**Response:**
```javascript
{
//transaction id
"tranId": 100000001
}
```
### Margin account new order (TRADE)
```
Post /sapi/v1/margin/order
```
Post a new order for margin account.
**Weight:**
1
**Parameters:**
symbol | STRING | YES |
side | ENUM |YES | BUY<br>SELL
type | ENUM | YES
quantity | DECIMAL | YES
price | DECIMAL | NO
stopPrice | DECIMAL | NO | Used with STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, and TAKE_PROFIT_LIMIT orders.
newClientOrderId | STRING | NO | A unique id for the order. Automatically generated if not sent.
icebergQty | DECIMAL | NO | Used with LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT to create an iceberg order.
newOrderRespType | ENUM | NO | Set the response JSON. ACK, RESULT, or FULL; MARKET and LIMIT order types default to FULL, all other orders default to ACK.
timeInForce | ENUM | NO | GTC,IOC,FOK
recvWindow | LONG | NO
timestamp | LONG | YES
**Response ACK:**
```javascript
{
"symbol": "BTCUSDT",
"orderId": 28,
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595
}
```
**Response RESULT:**
```javascript
{
"symbol": "BTCUSDT",
"orderId": 28,
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL"
}
```
**Response FULL:**
```javascript
{
"symbol": "BTCUSDT",
"orderId": 28,
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"fills": [
{
"price": "4000.00000000",
"qty": "1.00000000",
"commission": "4.00000000",
"commissionAsset": "USDT"
},
{
"price": "3999.00000000",
"qty": "5.00000000",
"commission": "19.99500000",
"commissionAsset": "USDT"
},
{
"price": "3998.00000000",
"qty": "2.00000000",
"commission": "7.99600000",
"commissionAsset": "USDT"
},
{
"price": "3997.00000000",
"qty": "1.00000000",
"commission": "3.99700000",
"commissionAsset": "USDT"
},
{
"price": "3995.00000000",
"qty": "1.00000000",
"commission": "3.99500000",
"commissionAsset": "USDT"
}
]
}
```
### Margin account cancel order (TRADE)
```
Delete /sapi/v1/margin/order
```
Cancel an active order for margin account.
**Weight:**
1
**Parameters:**
symbol | STRING | YES |
orderId | LONG | NO |
origClientOrderId | STRING | NO
newClientOrderId | STRING | NO | Used to uniquely identify this cancel. Automatically generated by default.
recvWindow | LONG | NO
timestamp | LONG | YES
Either orderId or origClientOrderId must be sent.
**Response:**
```javascript
{
"symbol": "LTCBTC",
"orderId": 28,
"origClientOrderId": "myOrder1",
"clientOrderId": "cancelMyOrder1",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "8.00000000",
"cummulativeQuoteQty": "8.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
}
```
### Query loan record (USER_DATA)
```
Get /sapi/v1/margin/loan
```
**Weight:**
5
**Parameters:**
asset | STRING | YES
txId | LONG | NO | the tranId in POST /sapi/v1/margin/loan
startTime | LONG | NO
endTime | LONG | NO
current | LONG | NO | Currently querying page. Start from 1. Default:1
size | LONG | NO | Default:10 Max:100
recvWindow | LONG | NO
timestamp | LONG | YES
txId or startTime must be sent. txId takes precedence.
**Response:**
```javascript
{
"rows": [
{
"asset": "BNB",
"principal": "0.84624403",
"timestamp": 1555056425000,
//one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);
"status": "CONFIRMED"
}
],
"total": 1
}
```
### Query repay record (USER_DATA)
```
Get /sapi/v1/margin/repay
```
**Weight:**
5
**Parameters:**
asset | STRING | YES
txId | LONG | NO | return of /sapi/v1/margin/repay
startTime | LONG | NO
endTime | LONG | NO
current | LONG | NO | Currently querying page. Start from 1. Default:1
size | LONG | NO | Default:10 Max:100
recvWindow | LONG | NO
timestamp | LONG | YES
txId or startTime must be sent. txId takes precedence.
**Response:**
```javascript
{
"rows": [
{
//Total amount repaid
"amount": "14.00000000",
"asset": "BNB",
//Interest repaid
"interest": "0.01866667",
//Principal repaid
"principal": "13.98133333",
//one of PENDING (pending to execution), CONFIRMED (successfully loaned), FAILED (execution failed, nothing happened to your account);
"status": "CONFIRMED",
"timestamp": 1563438204000,
"txId": 2970933056
}
],
"total": 1
}
```
### Query margin account details (USER_DATA)
```
Get /sapi/v1/margin/account
```
**Weight:**
5
**Parameters:**
None
**Response:**
```javascript
{
"borrowEnabled": true,
"marginLevel": "11.64405625",
"totalAssetOfBtc": "6.82728457",
"totalLiabilityOfBtc": "0.58633215",
"totalNetAssetOfBtc": "6.24095242",
"tradeEnabled": true,
"transferEnabled": true,
"userAssets": [
{
"asset": "BTC",
"borrowed": "0.00000000",
"free": "0.00499500",
"interest": "0.00000000",
"locked": "0.00000000",
"netAsset": "0.00499500"
},
{
"asset": "BNB",
"borrowed": "201.66666672",
"free": "2346.50000000",
"interest": "0.00000000",
"locked": "0.00000000",
"netAsset": "2144.83333328"
},
{
"asset": "ETH",
"borrowed": "0.00000000",
"free": "0.00000000",
"interest": "0.00000000",
"locked": "0.00000000",
"netAsset": "0.00000000"
},
{
"asset": "USDT",
"borrowed": "0.00000000",
"free": "0.00000000",
"interest": "0.00000000",
"locked": "0.00000000",
"netAsset": "0.00000000"
}
]
}
```
### Query margin asset (MARKET_DATA)
```
Get /sapi/v1/margin/asset
```
**Weight:**
5
**Parameters:**
asset | STRING | YES |
**Response:**
```javascript
{
"assetFullName": "Binance Coin",
"assetName": "BNB",
"isBorrowable": false,
"isMortgageable": true,
"userMinBorrow": "0.00000000",
"userMinRepay": "0.00000000"
}
```
### Query margin pair (MARKET_DATA)
```
Get /sapi/v1/margin/pair
```
**Weight:**
5
**Parameters:**
symbol | STRING | YES |
**Response:**
```javascript
{
"id":323355778339572400,
"symbol":"BTCUSDT",
"base":"BTC",
"quote":"USDT",
"isMarginTrade":true,
"isBuyAllowed":true,
"isSellAllowed":true
}
```
### Get all margin assets (MARKET_DATA)
```
Get /sapi/v1/margin/allAssets
```
**Weight:**
5
**Parameters:**
None
**Response:**
```javascript
[
{
"assetFullName": "USD coin",
"assetName": "USDC",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "0.00000000",
"userMinRepay": "0.00000000"
},
{
"assetFullName": "BNB-coin",
"assetName": "BNB",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "1.00000000",
"userMinRepay": "0.00000000"
},
{
"assetFullName": "Tether",
"assetName": "USDT",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "1.00000000",
"userMinRepay": "0.00000000"
},
{
"assetFullName": "etherum",
"assetName": "ETH",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "0.00000000",
"userMinRepay": "0.00000000"
},
{
"assetFullName": "Bitcoin",
"assetName": "BTC",
"isBorrowable": true,
"isMortgageable": true,
"userMinBorrow": "0.00000000",
"userMinRepay": "0.00000000"
}
]
```
### Get all margin pairs (MARKET_DATA)
```
Get /sapi/v1/margin/allPairs
```
**Weight:**
5
**Parameters:**
None
**Response:**
```javascript
[
{
"base": "BNB",
"id": 351637150141315861,
"isBuyAllowed": True,
"isMarginTrade": True,
"isSellAllowed": True,
"quote": "BTC",
"symbol": "BNBBTC"
},
{
"base": "TRX",
"id": 351637923235429141,
"isBuyAllowed": True,
"isMarginTrade": True,
"isSellAllowed": True,
"quote": "BTC",
"symbol": "TRXBTC"
},
{
"base": "XRP",
"id": 351638112213990165,
"isBuyAllowed": True,
"isMarginTrade": True,
"isSellAllowed": True,
"quote": "BTC",
"symbol": "XRPBTC"
},
{
"base": "ETH",
"id": 351638524530850581,
"isBuyAllowed": True,
"isMarginTrade": True,
"isSellAllowed": True,
"quote": "BTC",
"symbol": "ETHBTC"
},
{
"base": "BNB",
"id": 376870400832855109,
"isBuyAllowed": True,
"isMarginTrade": True,
"isSellAllowed": True,
"quote": "USDT",
"symbol": "BNBUSDT"
},
]
```
### Query margin priceIndex (MARKET_DATA)
```
Get /sapi/v1/margin/priceIndex
```
**Weight:**
5
**Parameters:**
symbol | STRING | YES |
**Response:**
```javascript
{
"calcTime": 1562046418000,
"price": "0.00333930",
"symbol": "BNBBTC"
}
```
### Get transfer history (USER_DATA)
```
Get /sapi/v1/margin/transfer
```
**Weight:**s
5
**Parameters:**
asset | STRING | No
type | STRING | YES | Tranfer Type: ROLL_IN, ROLL_OUT
startTime | LONG | NO
endTime | LONG | NO
current | LONG | NO | Currently querying page. Start from 1. Default:1
size | LONG | NO | Default:10 Max:100
recvWindow | LONG | NO | The value cannot be greater than ```60000```
timestamp | LONG | YES
**Response:**
```javascript
{
"rows": [
{
"amount: "0.10000000",
"asset": "BNB",
"status": "CONFIRMED",
"timestamp": 1566898617,
"txId": 5240372201,
"type": "ROLL_IN"
},
{
"amount": "5.00000000",
"asset": "USDT",
"status": "CONFIRMED",
"timestamp": 1566888436,
"txId": 5239810406,
"type": "ROLL_OUT"
},
{
"amount": "1.00000000",
"asset": "EOS,
"status": "CONFIRMED",
"timestamp": 1566888403,
"txId": 5239808703,
"type": "ROLL_IN"
}
"total": 3
}
```
### Get interest history (USER_DATA)
```
Get /sapi/v1/margin/interestHistory
```
**Weight:**s
5
**Parameters:**
asset | STRING | No
startTime | LONG | NO
endTime | LONG | NO
current | LONG | NO | Currently querying page. Start from 1. Default:1
size | LONG | NO | Default:10 Max:100
recvWindow | LONG | NO | The value cannot be greater than ```60000```
timestamp | LONG | YES
**Response:**
```javascript
{
"rows": [
{
"asset": "BNB",
"interest": "0.02414667",
"interestAccuredTime": 1566813600,
"interestRate": "0.01600000",
"principal": "36.22000000",
"type": "ON_BORROW"
},
{
"asset": "BNB",
"interest": "0.02019334",
"interestAccuredTime": 1566813600,
"interestRate": "0.01600000",
"principal": "30.29000000",
"type": "ON_BORROW"
},
{
"asset": "BNB",
"interest": "0.02098667",
"interestAccuredTime": 1566813600,
"interestRate": "0.01600000",
"principal": "31.48000000",
"type": "ON_BORROW"
},
{
"asset": "BNB",
"interest": "0.02483334",
"interestAccuredTime": 1566806400,
"interestRate": "0.01600000",
"principal": "37.25000000",
"type": "ON_BORROW"
},
{
"asset": "BNB",
"interest": "0.02165334",
"interestAccuredTime": 1566806400,
"interestRate": "0.01600000",
"principal": "32.48000000",
"type": "ON_BORROW"
}
],
"total": 5
}
```
### Get force liquidation record (USER_DATA)
```
Get /sapi/v1/margin/forceLiquidationRec
```
**Weight:**s
5
**Parameters:**
startTime | LONG | NO
endTime | LONG | NO
current | LONG | NO | Currently querying page. Start from 1. Default:1
size | LONG | NO | Default:10 Max:100
recvWindow | LONG | NO | The value cannot be greater than ```60000```
timestamp | LONG | YES
**Response:**
```javascript
{
"rows": [
{
"avgPrice": "0.00388359",
"executedQty": "31.39000000",
"orderId": 180015097,
"price": "0.00388110",
"qty": "31.39000000",
"side": "SELL",
"symbol": "BNBBTC",
"timeInForce": "GTC",
"updatedTime": 1558941374745
}
],
"total": 1
}
```
### Query margin account's order (USER_DATA)
```
Get /sapi/v1/margin/order
```
**Weight:**
5
**Parameters:**
symbol | STRING | YES |
orderId | STRING | NO |
origClientOrderId | STRING | NO |
recvWindow | LONG | NO
timestamp | LONG | YES
Notes:
* Either orderId or origClientOrderId must be sent.
* For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.
**Response:**
```javascript
{
"clientOrderId": "ZwfQzuDIGpceVhKW5DvCmO",
"cummulativeQuoteQty": "0.00000000",
"executedQty": "0.00000000",
"icebergQty": "0.00000000",
"isWorking": true,
"orderId": 213205622,
"origQty": "0.30000000",
"price": "0.00493630",
"side": "SELL",
"status": "NEW",
"stopPrice": "0.00000000",
"symbol": "BNBBTC",
"time": 1562133008725,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1562133008725
}
```
### Query margin account's open order (USER_DATA)
```
Get /sapi/v1/margin/openOrders
```
**Weight:**
10
**Parameters:**
symbol | STRING | NO |
recvWindow | LONG | NO
timestamp | LONG | YES
* If the symbol is not sent, orders for all symbols will be returned in an array.
* When all symbols are returned, the number of requests counted against the rate limiter is equal to the number of symbols currently trading on the exchange.
**Response:**
```javascript
[
{
"clientOrderId": "qhcZw71gAkCCTv0t0k8LUK",
"cummulativeQuoteQty": "0.00000000",
"executedQty": "0.00000000",
"icebergQty": "0.00000000",
"isWorking": true,
"orderId": 211842552,
"origQty": "0.30000000",
"price": "0.00475010",
"side": "SELL",
"status": "NEW",
"stopPrice": "0.00000000",
"symbol": "BNBBTC",
"time": 1562040170089,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1562040170089
}
]
```
### Query margin account's all order (USER_DATA)
```
Get /sapi/v1/margin/allOrders
```
**Weight:**
5
**Parameters:**
symbol | STRING | YES |
orderId | LONG | NO
startTime | LONG | NO
endTime | LONG | NO
limit | INT | NO | Default 500; max 1000.
recvWindow | LONG | NO
timestamp | LONG | YES
Notes:
* If orderId is set, it will get orders >= that orderId. Otherwise most recent orders are returned.
* For some historical orders cummulativeQuoteQty will be < 0, meaning the data is not available at this time.
**Response:**
```javascript
[
{
"id": 43123876,
"price": "0.00395740",
"qty": "4.06000000",
"quoteQty": "0.01606704",
"symbol": "BNBBTC",
"time": 1556089977693
},
{
"id": 43123877,
"price": "0.00395740",
"qty": "0.77000000",
"quoteQty": "0.00304719",
"symbol": "BNBBTC",
"time": 1556089977693
},
{
"id": 43253549,
"price": "0.00428930",
"qty": "23.30000000",
"quoteQty": "0.09994069",
"symbol": "BNBBTC",
"time": 1556163963504
}
]
```
### Query margin account's trade list (USER_DATA)
```
Get /sapi/v1/margin/myTrades
```
**Weight:**
5
**Parameters:**
symbol | STRING | YES |
startTime | LONG | NO
endTime | LONG | NO
fromId | LONG | NO | TradeId to fetch from. Default gets most recent trades.
limit | INT | NO | Default 500; max 1000.
recvWindow | LONG | NO
timestamp | LONG | YES
Notes:
* If fromId is set, it will get orders >= that fromId. Otherwise most recent orders are returned.
**Response:**
```javascript
[{
"commission": "0.00006000",
"commissionAsset": "BTC",
"id": 34,
"isBestMatch": true,
"isBuyer": false,
"isMaker": false,
"orderId": 39324,
"price": "0.02000000",
"qty": "3.00000000",
"symbol": "BNBBTC",
"time": 1561973357171
},{
"commission": "0.00002950",
"commissionAsset": "BTC",
"id": 32,
"isBestMatch": true,
"isBuyer": false,
"isMaker": true,
"orderId": 39319,
"price": "0.00590000",
"qty": "5.00000000",
"symbol": "BNBBTC",
"time": 1561964645345
}]
```
### Query max borrow (USER_DATA)
```
Get /sapi/v1/margin/maxBorrowable
```
**Weight:**
5
**Parameters:**
asset | STRING | YES |
recvWindow | LONG | NO
timestamp | LONG | YES
**Response:**
```javascript
{
"amount": "1.69248805"
}
```
### Query max transfer-out amount (USER_DATA)
```
Get /sapi/v1/margin/maxTransferable
```
**Weight:**
5
**Parameters:**
asset | STRING | YES |
recvWindow | LONG | NO
timestamp | LONG | YES
**Response:**
```javascript
{
"amount": "3.59498107"
}
```
### Start user data stream for margin account (USER_STREAM)
```
POST /sapi/v1/userDataStream
```
**Weight:**
1
**Parameters:**
NONE
**Response:**
```javascript
{"listenKey": "T3ee22BIYuWqmvne0HNq2A2WsFlEtLhvWCtItw6ffhhdmjifQ2tRbuKkTHhr"}
```
### Delete user data stream for margin account (USER_STREAM)
```
DELETE /sapi/v1/userDataStream
```
**Weight:**
1
**Parameters:**
listenKey | STRING | YES |
**Response:**
```javascript
{}
```
## Ping user data stream for margin account (USER_STREAM)
```
PUT /sapi/v1/userDataStream
```
**Weight:**
1
**Parameters:**
listenKey | STRING | YES |
**Response:**
```javascript
{}
```