Change Log
**2022-2-17**
The following updates will take effect on February 24, 2022 08:00 AM UTC
- Update endpoint for Wallet:
GET /sapi/v1/accountSnapshot
The time limit of this endpoint is shortened to only support querying the data of the latest month
**2022-2-09**
- New endpoint for Wallet:
POST /sapi/v1/asset/dust-btc
to get assets that can be converted into BNB
**2022-1-25**
- From January 28, 2022 4:00 AM UTC, You need to open
Enable Spot & Margin Trading
permission for the API key which requests these endpoints as following:POST /sapi/v1/asset/dust
Dust transferPOST /sapi/v1/lending/daily/purchase
Purchase Savings flexible productPOST /sapi/v1/lending/daily/redeem
Redeem Savings flexible productPOST /sapi/v1/lending/customizedFixed/purchase
Purchase Savings Fixed/Activity projectPOST /sapi/v1/lending/positionChanged
Change Savings Fixed/Activity position to Daily positionPOST /sapi/v1/bswap/liquidityAdd
Bswap add liquidityPOST /sapi/v1/bswap/liquidityRemove
Bswap remove liquidityPOST /sapi/v1/bswap/swap
Bswap swapPOST /sapi/v1/bswap/claimRewards
Bswap claim rewards
**2022-1-21**
- New endpoints for Binance Code:
POST /sapi/v1/giftcard/createCode
to create a Binance Code.POST /sapi/v1/giftcard/redeemCode
to redeem a Binance Code.GET /sapi/v1/giftcard/verify
to verify a Binance Code.
**2022-1-4**
New endpoint for Mining:
GET /sapi/v1/mining/payment/uid
to get Mining account earning.
New endpoints for BSwap:
GET /sapi/v1/bswap/unclaimedRewards
to get unclaimed rewards record.POST /sapi/v1/bswap/claimRewards
to claim swap rewards or liquidity rewards.GET /sapi/v1/bswap/claimedHistory
to get history of claimed rewards.
**2021-12-30**
Update endpoint for Margin:
- Removed out
limit
fromGET /sapi/v1/margin/interestRateHistory
; The max interval between startTime and endTime is 30 days.
- Removed out
Update endpoint for Wallet:
- As the Mining account is merged into Funding account, transfer types MAIN_MINING, MINING_MAIN, MINING_UMFUTURE, MARGIN_MINING, and MINING_MARGIN will be discontinued in Universal Transfer endpoint
POST /sapi/v1/asset/transfer
on January 05, 2022 08:00 AM UTC
- As the Mining account is merged into Funding account, transfer types MAIN_MINING, MINING_MAIN, MINING_UMFUTURE, MARGIN_MINING, and MINING_MARGIN will be discontinued in Universal Transfer endpoint
**2021-12-29**
- Removed out dated "Symbol Type" enum; added "Permissions" enum.
**2021-12-24**
- Update endpoints for Sub-Account:
- New parameter
clientTranId
added inPOST /sapi/v1/sub-account/universalTransfer
andGET /sapi/v1/sub-account/universalTransfer
to support custom transfer id
- New parameter
**2021-12-03**
New endpoints for Margin:
GET /sapi/v1/margin/crossMarginData
to get cross margin fee data collectionGET /sapi/v1/margin/isolatedMarginData
to get isolated margin fee data collectionGET /sapi/v1/margin/isolatedMarginTier
to get isolated margin tier data collection
New endpoints for NFT:
GET /sapi/v1/nft/history/transactions
to get NFT transaction historyGET /sapi/v1/nft/history/deposit
to get NFT deposit historyGET /sapi/v1/nft/history/withdraw
to get NFT withdraw historyGET /sapi/v1/nft/user/getAsset
to get NFT asset
**2021-11-30**
New endpoint for Convert:
GET /sapi/v1/convert/tradeFlow
to support user query convert trade history records
New endpoint for Rebate:
GET /sapi/v1/rebate/taxQuery
to support user query spot rebate history records
**2021-11-19**
- New endpoint for Pay:
GET /sapi/v1/pay/transactions
to support user query Pay trade history
- Update endpoint for Wallet:
- New field
info
added inGET /sapi/v1/capital/withdraw/history
to show the reason for withdrawal failure
- New field
**2021-11-18**
The following updates will take effect on November 25, 2021 08:00 AM UTC
- Update endpoint for Wallet:
GET /sapi/v1/accountSnapshot
The query time range of both endpoints are shortened to support data query within the last 6 months only, where startTime does not support selecting a timestamp beyond 6 months. If you do not specify startTime and endTime, the data of the last 7 days will be returned by default.
**2021-11-17**
- The following endpoints will be discontinued on November 17, 2021 13:00 PM UTC:
POST /sapi/v1/account/apiRestrictions/ipRestriction
to support user enable and disable IP restriction for an API KeyPOST /sapi/v1/account/apiRestrictions/ipRestriction/ipList
to support user add IP list for an API KeyGET /sapi/v1/account/apiRestrictions/ipRestriction
to support user query IP restriction for an API KeyDELETE /sapi/v1/account/apiRestrictions/ipRestriction/ipList
to support user delete IP list for an API Key
**2021-11-16**
- New endpoints for Sub-Account:
POST /sapi/v1/sub-account/subAccountApi/ipRestriction
to support master account enable and disable IP restriction for a sub-account API KeyPOST /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList
to support master account add IP list for a sub-account API KeyGET /sapi/v1/sub-account/subAccountApi/ipRestriction
to support master account query IP restriction for a sub-account API KeyDELETE /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList
to support master account delete IP list for a sub-account API Key
**2021-11-09**
- New endpoints for Wallet:
POST /sapi/v1/account/apiRestrictions/ipRestriction
to support user enable and disable IP restriction for an API KeyPOST /sapi/v1/account/apiRestrictions/ipRestriction/ipList
to support user add IP list for an API KeyGET /sapi/v1/account/apiRestrictions/ipRestriction
to support user query IP restriction for an API KeyDELETE /sapi/v1/account/apiRestrictions/ipRestriction/ipList
to support user delete IP list for an API Key
**2021-11-08**
- New endpoint for Crypto Loans:
- New endpoint
GET /sapi/v1/loan/income
to support user query crypto loans income history
- New endpoint
**2021-11-05**
- Update endpoint for Wallet:
- New parameter
walletType
added inPOST /sapi/v1/capital/withdraw/apply
to support user choose wallet typespot wallet
andfunding wallet
when withdraw crypto.
- New parameter
**2021-11-04**
The following updates will take effect on November 11, 2021 08:00 AM UTC
- Update endpoints for Wallet and Futures:
GET /sapi/v1/asset/transfer
GET /sapi/v1/futures/transfer
The query time range of both endpoints are shortened to support data query within the last 6 months only, where startTime does not support selecting a timestamp beyond 6 months. If you do not specify startTime and endTime, the data of the last 7 days will be returned by default.
**2021-11-01**
GET /api/v3/rateLimit/order
added- The endpoint will display the user's current order count usage for all intervals.
- This endpoint will have a request weight of 20.
**2021-10-22**
- Update endpoint for Wallet:
- New transfer types
MAIN_FUNDING
,FUNDING_MAIN
,FUNDING_UMFUTURE
,UMFUTURE_FUNDING
,MARGIN_FUNDING
,FUNDING_MARGIN
,FUNDING_CMFUTURE
andCMFUTURE_FUNDING
added in Universal Transfer endpointPOST /sapi/v1/asset/transfer
andGET /sapi/v1/asset/transfer
to support transfer assets among funding account and other accounts - As the C2C account, Binance Payment, Binance Card and other business account are merged into a Funding account, transfer types
MAIN_C2C
,C2C_MAIN
,C2C_UMFUTURE
,C2C_MINING
,UMFUTURE_C2C
,MINING_C2C
,MARGIN_C2C
,C2C_MARGIN
,MAIN_PAY
andPAY_MAIN
will be discontinued in Universal Transfer endpointPOST /sapi/v1/asset/transfer
andGET /sapi/v1/asset/transfer
on November 04, 2021 08:00 AM UTC
- New transfer types
**2021-10-14**
- Update the time range of the response data for the following margin account endpoints,
startTime
andendTime
time span will not exceed 30 days, without time parameter sent the system will return the last 7 days of data by default, while thearchived
parameter istrue
, the system will return the last 7 days of data 6 months ago by default:GET /sapi/v1/margin/transfer
GET /sapi/v1/margin/loan
GET /sapi/v1/margin/repay
GET /sapi/v1/margin/isolated/transfer
GET /sapi/v1/margin/interestHistory
**2021-09-18**
- New endpoints for BSwap:
GET /sapi/v1/bswap/poolConfigure
to get pool configureGET /sapi/v1/bswap/addLiquidityPreview
to get add liquidity previewGET /sapi/v1/bswap/removeLiquidityPreview
to get remove liquidity preview
**2021-09-17**
- Add
/api/*
and/sapi/*
limit introduction in General Info
**2021-09-08**
Add endpoints for enabled isolated margin account limit:
DELETE /sapi/v1/margin/isolated/account
to disable isolated margin account for a specific symbolPOST /sapi/v1/margin/isolated/account
to enable isolated margin account for a specific symbolGET /sapi/v1/margin/isolated/accountLimit
to query enabled isolated margin account limit
New field "enabled" in response of
GET /sapi/v1/margin/isolated/account
to check if the isolated margin account is enabled
**2021-09-03**
- Update endpoint for Wallet:
sameAddress
means if the coin needs to provide memo to withdrawdepositDust
means minimum creditable amountspecialWithdrawTips
means special tips for withdraw
**2021-08-27**
- Update endpoint for Wallet:
- New parameter
withdrawOrderId
added inGET /sapi/v1/capital/withdraw/history
to support user query withdraw history by withdrawOrderId - New field
unlockConfirm
added inGET /sapi/v1/capital/deposit/hisrec
to support query network confirm times for unlocking
- New parameter
**2021-08-23**
- New endpoints for Margin Account OCO:
POST /sapi/v1/margin/order/oco
DELETE /sapi/v1/margin/orderList
GET /sapi/v1/margin/orderList
GET /sapi/v1/margin/allOrderList
GET /sapi/v1/margin/openOrderList
Same usage as spot account OCO
**2021-08-20**
- Update endpoint for Wallet:
- New parameters
fromSymbol
,toSymbol
and new transfer typesISOLATEDMARGIN_MARGIN
,MARGIN_ISOLATEDMARGIN
andISOLATEDMARGIN_ISOLATEDMARGIN
added inPOST /sapi/v1/asset/transfer
andGET /sapi/v1/asset/transfer
to support user transfer assets between Margin(cross) account and Margin(isolated) account
- New parameters
**2021-08-12**
- GET
api/v3/myTrades
has a new optional fieldorderId
**2021-08-05**
- New endpoint for C2C:
GET /sapi/v1/c2c/orderMatch/listUserOrderHistory
to query user C2C trade history
**2021-08-05**
- Update endpoints for Savings:
GET /sapi/v1/lending/union/purchaseRecord
GET /sapi/v1/lending/union/redemptionRecord
GET /sapi/v1/lending/union/interestHistory
The time between startTime
and endTime
cannot be longer than 30 days. If startTime
and endTime
are both not sent, then the last 30 days' data will be returned
**2021-07-29**
- Update endpoint for Sub-Account:
GET /sapi/v1/sub-account/transfer/subUserHistory
ifstartTime
andendTime
are not sent, the recent 30-day data will be returned by default
**2021-07-27**
- New endpoint for Fiat:
GET /sapi/v1/fiat/orders
to query user fiat deposit and withdraw historyGET /sapi/v1/fiat/payments
to query user fiat payments history
**2021-07-16**
- New endpoint for Wallet:
GET /sapi/v1/account/apiRestrictions
to query user API Key permission
**2021-07-09**
- New endpoint for Wallet:
POST /sapi/v1/asset/get-funding-asset
to query funding wallet, includes Binance Pay, Binance Card, Binance Gift Card, Stock Token
**2021-06-24**
- Update endpoints for Wallet:
GET /sapi/v1/capital/withdraw/history
added default value 1000, max value 1000 for the parameterlimit
GET /sapi/v1/capital/deposit/hisrec
added default value 1000, max value 1000 for the parameterlimit
**2021-06-17**
- Update endpoint for Savings:
GET /sapi/v1/lending/daily/product/list
to include new parameterscurrent
andsize
**2021-06-15**
- New endpoints for Sub-Account:
POST /sapi/v1/managed-subaccount/deposit
to deposit assets into the managed sub-account (only for investor master account)GET /sapi/v1/managed-subaccount/asset
to query managed sub-account asset details (only for investor master account)POST /sapi/v1/managed-subaccount/withdraw
to withdrawal assets from the managed sub-account (only for investor master account)
**2021-06-04**
On August 01, 2021 02:00 AM UTC the WAPI endpoints will be discontinued:
GET /wapi/v3/systemStatus.html
POST /wapi/v3/withdraw.html
GET /wapi/v3/depositHistory.html
GET /wapi/v3/withdrawHistory.html
GET /wapi/v3/depositAddress.html
GET /wapi/v3/accountStatus.html
GET /wapi/v3/apiTradingStatus.html
GET /wapi/v3/userAssetDribbletLog.html
GET /wapi/v3/assetDetail.html
GET /wapi/v3/tradeFee.html
GET /wapi/v3/sub-account/list.html
GET /wapi/v3/sub-account/transfer/history.html
POST /wapi/v3/sub-account/transfer.html
GET /wapi/v3/sub-account/assets.html
The WAPI endpoints have been removed from Binance API Documentation.To ensure your trading strategies are not affected, all API users are encouraged to upgrade trading bots to SAPI endpoints as soon as possible.
**2021-05-26**
- Update endpoint for Wallet:
- New transfer types
MAIN_PAY
,PAY_MAIN
added in Universal Transfer endpointPOST /sapi/v1/asset/transfer
andGET /sapi/v1/asset/transfer
to support trasnfer assets between spot account and pay account
- New transfer types
**2021-05-12**
- Added
Data Source
in the documentation to explain where each endpoint is retrieving its data - Added field
Data Source
to each Spot API endpoint in the documentation - GET
api/v3/exchangeInfo
now supports single or multi-symbol query
**2021-04-28**
On May 15, 2021 08:00 UTC the SAPI Create Margin Account endpoint will be discontinued:
POST /sapi/v1/margin/isolated/create
Isolated Margin account creation and trade preparation can be completed directly through Isolated Margin funds transfer POST /sapi/v1/margin/isolated/transfer
**2021-04-26**
On April 28, 2021 00:00 UTC the weights to the following endpoints will be adjusted:
GET /api/v3/order
weight increased to 2GET /api/v3/openOrders
weight increased to 3GET /api/v3/allOrders
weight increased to 10GET /api/v3/orderList
weight increased to 2GET /api/v3/openOrderList
weight increased to 3GET /api/v3/account
weight increased to 10GET /api/v3/myTrades
weight increased to 10GET /api/v3/exchangeInfo
weight increased to 10
**2021-04-08**
- Update endpoint for Sub-Account:
GET /sapi/v1/sub-account/futures/accountSummary
andGET /sapi/v2/sub-account/futures/accountSummary
the unit of fieldasset
changed to USD valued summary of sub-account assets
**2021-04-02**
- New endpoints for Wallet:
GET /sapi/v1/system/status
to query system statusGET /sapi/v1/account/status
to query account statusGET /sapi/v1/account/apiTradingStatus
to query account API trading statusGET /sapi/v1/asset/dribblet
to query dust logGET /sapi/v1/asset/assetDetail
to query asset detailGET /sapi/v1/asset/tradeFee
to query trade fee
- New endpoint for Sub-Account:
GET /sapi/v3/sub-account/assets
to query sub-account assets
**2021-04-01**
- Update endpoint for Sub-Account:
GET /sapi/v1/sub-account/transfer/subUserHistory
new fieldsfromAccountType
andtoAccountType
added in response
**2021-03-31**
- Update endpoint for Sub-Account:
GET /wapi/v3/sub-account/transfer/history.html
added new parametersfromEmail
andtoEmail
, the original parameteremail
is equal tofromEmail
by default
**2021-03-08**
- New endpoint for Sub-Account:
POST /sapi/v1/sub-account/virtualSubAccount
to support create a virtual sub-accountGET /sapi/v1/sub-account/list
to support query sub-account listPOST /sapi/v1/sub-account/blvt/enable
to support enable blvt for sub-account
**2021-03-05**
- New endpoints for Margin:
GET /sapi/v1/margin/interestRateHistory
to support margin interest rate history query
**2021-02-08**
- New endpoints for Futures:
GET /sapi/v2/futures/loan/wallet
to support BUSD loan queryGET /sapi/v2/futures/loan/configs
to support BUSD loan queryGET /sapi/v2/futures/loan/calcAdjustLevel
to support BUSD loanGET /sapi/v2/futures/loan/calcMaxAdjustAmount
to support adjustment of BUSD loanPOST /sapi/v2/futures/loan/adjustCollateral
to support adjustment of BUSD loan
- Update endpoints for Futures
GET /sapi/v1/futures/loan/adjustCollateral/history
new parameter and fields in responseloanCoin
for BUSD loanGET /sapi/v1/futures/loan/liquidationHistory
new parameter and fields in responseloanCoin
for BUSD loan
**2021-02-04**
- New transfer types
MARGIN_MINING
,MINING_MARGIN
,MARGIN_C2C
,C2C_MARGIN
,MARGIN_CMFUTURE
,CMFUTURE_MARGIN
added in Universal Transfer endpointPOST /sapi/v1/asset/transfer
andGET /sapi/v1/asset/transfer
.
**2021-01-15**
- New endpoint
DELETE /sapi/v1/margin/openOrders
for Margin Trade- This will allow a user to cancel all open orders on a single symbol for margin account.
- This endpoint will cancel all open orders including OCO orders for margin account.
**2021-01-10**
New parameter
pageSize
for Mining endpointGET /sapi/v1/mining/payment/list
New fields in response to Mining endpoint
GET /sapi/v1/mining/payment/list
:- "type" for income type
- "hashTransfer" for resale Hashrate
- "transferAmount" for transferred Income
New Mining endpoints:
GET /sapi/v1/mining/payment/other
GET /sapi/v1/mining/hash-transfer/config/details
GET /sapi/v1/mining/hash-transfer/config/details/list
GET /sapi/v1/mining/hash-transfer/profit/details
POST /sapi/v1/mining/hash-transfer/config
POST /sapi/v1/mining/hash-transfer/config/cancel
**2021-01-01**
USER DATA STREAM
outboundAccountInfo
has been removed.
**2020-12-30**
- New endpoint for Wallet:
POST /sapi/v1/asset/transfer
to support user universal transfer among Spot, Margin, Futures, C2C, MINING accounts.GET /sapi/v1/asset/transfer
to get user universal transfer history.
**2020-12-22**
- New endpoint for Sub-Account:
GET /sapi/v1/sub-account/sub/transfer/history
to get spot asset transfer history.
**2020-12-11**
- Update endpoints for Futures Cross-Collateral:
GET /sapi/v1/futures/loan/wallet
new fields in responseinterestFreeLimit
for total interest free limit,interestFreeLimitUsed
for interest free limit used.GET /sapi/v1/futures/loan/interestHistory
new fields in responseinterestFreeLimitUsed
for interest free limit used.
**2020-12-04**
- Update endpoint for BLVT:
GET /sapi/v1/blvt/tokenInfo
new fields in responsecurrentBaskets
(includesymbol
,amount
,notionalValue
),purchaseFeePct
,dailyPurchaseLimit
,redeemFeePct
,dailyRedeemLimit
.
- New endpoint for BLVT:
GET /sapi/v1/blvt/userLimit
to get BLVT user limit info.
**2020-12-02**
- New endpoints for Sub-Account:
GET /sapi/v2/sub-account/futures/account
to get detail on sub-account's USDT margined futures account and COIN margined futures account.GET /sapi/v2/sub-account/futures/accountSummary
to get summary of sub-account's USDT margined futures account and COIN margined futures account.GET /sapi/v2/sub-account/futures/positionRisk
to get position risk of sub-account's USDT margined futures account and COIN margined futures account.
**2020-12-01**
- Update Margin Trade Endpoint:
POST /sapi/v1/margin/order
new parameterquoteOrderQty
allow a user to specify the totalquoteOrderQty
spent or received in theMARKET
order.
**2020-11-27**
New API clusters have been added in order to improve performance.
Users can access any of the following API clusters, in addition to api.binance.com
If there are any performance issues with accessing api.binance.com
please try any of the following instead:
**2020-11-16**
- Updated endpoints for Margin, new parameter
archived
to query data from 6 months ago:GET /sapi/v1/margin/loan
GET /sapi/v1/margin/repay
GET /sapi/v1/margin/interestHistory
**2020-11-13**
- New endpoints for Sub-Account:
POST /sapi/v1/sub-account/universalTransfer
to transfer spot and futures asset between master account and sub accounts.GET /sapi/v1/sub-account/universalTransfer
to search transfer records.
**2020-11-10**
- New endpoint to toggle BNB Burn:
POST /sapi/v1/bnbBurn
to toggle BNB Burn on spot trade and margin interest.GET /sapi/v1/bnbBurn
to get BNB Burn status.
**2020-11-09**
- New field
tranId
is available from endpoints:GET /sapi/v1/sub-account/futures/internalTransfer
GET /sapi/v1/sub-account/transfer/subUserHistory
**2020-11-03**
Update endpoints for Futures Cross-Collateral:
GET /sapi/v1/futures/loan/repay/history
new fields in responserepayType
(NORMAL
for normal repayment,COLLATERAL
for collateral repayment),price
(collateral repayment rate),repayCollateral
(collateral amount for collateral repayment).GET /sapi/v1/futures/loan/wallet
new fields in responsetotalInterest
(total interest for cross-collateral),principalForInterest
(cross-collateral principal for interest),interest
(cross-collateral interest).GET /sapi/v1/futures/loan/configs
new fields in responseinterestRate
(interest rate for cross-collateral),interestGracePeriod
(interest grace period for cross-collateral).
New endpoints for Futures Cross-Collateral:
GET /sapi/v1/futures/loan/collateralRepayLimit
to check the maximum and minimum limit when repay with collateral.GET /sapi/v1/futures/loan/collateralRepay
to get quote for collateral repayment.POST /sapi/v1/futures/loan/collateralRepay
to repay with collateral.GET /sapi/v1/futures/loan/collateralRepayResult
to check collateral repayment result.GET /sapi/v1/futures/loan/interestHistory
to get cross-collateral interest history.
**2020-10-14**
- Update endpoints for Futures Cross-Collateral:
POST /sapi/v1/futures/loan/borrow
andGET /sapi/v1/futures/loan/borrow/history
new fieldborrowId
in response for ID of Cross-Collateral borrow operation.POST /sapi/v1/futures/loan/repay
andGET /sapi/v1/futures/loan/repay/history
new fieldrepayId
in response for ID of Cross-Collateral repay operation.
**2020-10-10**
- New
type
added in the endpointPOST /sapi/v1/sub-account/futures/transfer
to support transfer asset from subaccount's spot account to its COIN-margined futures account and transfer asset from subaccount's COIN-margined futures account to its spot account.
**2020-09-30**
- Update endpoints for Margin Account:
GET /sapi/v1/margin/maxBorrowable
new fieldborrowLimit
in response for account borrow limit.
**2020-09-28**
- New endpoints for Binance Savings:
POST /sapi/v1/lending/positionChanged
to change fixed/activity position to daily position.
- New parameter
ACTIVITY
replaceREGULAR
in the following Binance Savings endpoints:GET /sapi/v1/lending/project/list
POST /sapi/v1/lending/customizedFixed/purchase
GET /sapi/v1/lending/project/position/list
GET /sapi/v1/lending/union/purchaseRecord
GET /sapi/v1/lending/union/interestHistory
**2020-09-23**
- New SAPI endpoints for BSwap:
GET /sapi/v1/bswap/pools
to list all swap pools.GET /sapi/v1/bswap/liquidity
to get liquidity information of a pool.POST /sapi/v1/bswap/liquidityAdd
to add liquidity.POST /sapi/v1/bswap/liquidityRemove
to remove liquidity.GET /sapi/v1/bswap/liquidityOps
to get liquidity operation record.GET /sapi/v1/bswap/quote
to request quotes.POST /sapi/v1/bswap/swap
to swap.GET /sapi/v1/bswap/swap
to get swap history.
**2020-09-16**
- New SAPI endpoints for BLVT:
GET /sapi/v1/blvt/tokenInfo
to get BLVT info.POST /sapi/v1/blvt/subscribe (HMAC SHA256)
to subscribe BLVT.GET /sapi/v1/blvt/subscribe/record (HMAC SHA256)
to get subscription record。POST /sapi/v1/blvt/redeem (HMAC SHA256)
to redeem BLVT.GET /sapi/v1/blvt/redeem/record (HMAC SHA256
to get redemption record.
- The BLVT NAV system is working relatively with Binance Futures, so some endpoints are based on futures system:
- New endpoint to get historical BLVT Kline.
- New WebSocket streams for BLVT Info and BLVT NAV Kline:
USER DATA STREAM
outboundAccountInfo
has been deprecated.outboundAccountInfo
will be removed in the future. (Exact date unknown) Please useoutboundAccountPosition
instead.outboundAccountInfo
will now only show the balance of non-zero assets and assets that have been reduced to 0.
**2020-09-03**
- New endpoint
POST /sapi/v1/sub-account/futures/internalTransfer
to transfer futures asset between master account and subaccount. - New endpoint
GET /sapi/v1/sub-account/futures/internalTransfer
to get futures transfer history of subaccount.
**2020-09-01**
- New parameter
masterAccountTotalAsset
added in the endpointGET /sapi/v1/sub-account/spotSummary
to get BTC valued asset summary of master account.
**2020-08-27**
- New endpoint
GET /sapi/v1/sub-account/spotSummary
to get BTC valued asset summary of subaccout.
**2020-08-26**
- New parameter
symbols
added in the endpointGET /sapi/v1/margin/isolated/account
.
**2020-07-28**
ISOLATED MARGIN
New parameters "isIsolated" and "symbol" added for isolated margin in the following endpoints:
POST /sapi/v1/margin/loan
POST /sapi/v1/margin/repay
New parameter "isIsolated" and new response field "isIsolated" added for isolated margin in the following endpoints:
POST /sapi/v1/margin/order
DELETE /sapi/v1/margin/order
GET /sapi/v1/margin/order
GET /sapi/v1/margin/openOrders
GET /sapi/v1/margin/allOrders
GET /sapi/v1/margin/myTrades
New parameter "isolatedSymbol" and new response field "isolatedSymbol" added for isolated margin in the following endpoints:
GET /sapi/v1/margin/loan
GET /sapi/v1/margin/repay
GET /sapi/v1/margin/interestHistory
New parameter "isolatedSymbol" and new response field "isIsolated" added for isolated margin in the following endpoint
GET /sapi/v1/margin/forceLiquidationRec
New parameter "isolatedSymbol" added for isolated margin in the following endpoints:
GET /sapi/v1/margin/maxBorrowable
GET /sapi/v1/margin/maxTransferable
New endpoints for isolated margin:
POST /sapi/v1/margin/isolated/create
POST /sapi/v1/margin/isolated/transfer
GET /sapi/v1/margin/isolated/transfer
GET /sapi/v1/margin/isolated/account
GET /sapi/v1/margin/isolated/pair
GET /sapi/v1/margin/isolated/allPairs
New endpoints for listenKey management of isolated margin account:
POST /sapi/v1/userDataStream/isolated
PUT /sapi/v1/userDataStream/isolated
DELETE /sapi/v1/userDataStream/isolated
**2020-07-20**
- The max value of parameter "limit" in
GET /sapi/v1/margin/allOrders
has been changed as 500.
**2020-07-17**
- There is now a request limit specifically for the sapi/v1/margin/allOrders endpoint at 60 raw requests per minute for a single IP address.
**2020-07-13**
- New SAPI Endpoints for futures Cross-Collateral:
POST /sapi/v1/futures/loan/borrow
GET /sapi/v1/futures/loan/borrow/history
POST /sapi/v1/futures/loan/repay
GET /sapi/v1/futures/loan/repay/history
GET /sapi/v1/futures/loan/wallet
GET /sapi/v1/futures/loan/configs
GET /sapi/v1/futures/loan/calcAdjustLevel
GET /sapi/v1/futures/loan/calcMaxAdjustAmount
POST /sapi/v1/futures/loan/adjustCollateral
GET /sapi/v1/futures/loan/adjustCollateral/history
GET /sapi/v1/futures/loan/liquidationHistory
**2020-06-28**
- SAPI Endpoints for futures:
POST /sapi/v1/futures/transfer
GET /sapi/v1/futures/transfer
**2020-05-06**
- New endpoints for Mining:
GET /sapi/v1/mining/pub/algoList
GET /sapi/v1/mining/pub/coinList
GET /sapi/v1/mining/worker/detail
GET /sapi/v1/mining/worker/list
GET /sapi/v1/mining/payment/list
GET /sapi/v1/mining/statistics/user/status
GET /sapi/v1/mining/statistics/user/list
**2020-05-03**
- New request limit for some margin endpoints
- Changes on these endpoints:
POST /sapi/v1/margin/transfer
POST /sapi/v1/margin/loan
POST /sapi/v1/margin/repay
- Limit to 1 every 2 seconds。
- Request beyond the limit will receive HTTP status code
429
。
- Changes on these endpoints:
**2020-05-01**
- From 2020-05-01 UTC 00:00, all symbols will have a limit of 200 open orders using the MAX_NUM_ORDERS filter.
- No existing orders will be removed or canceled.
- Accounts that have 200 or more open orders on a symbol will not be able to place new orders on that symbol until the open order count is below 200.
- OCO orders count as 2 open orders before the
LIMIT
order is touched or theSTOP_LOSS
(orSTOP_LOSS_LIMIT
) order is triggered; once this happens the other order is canceled and will no longer count as an open order.
**2020-04-25**SPOT API
- New field
permissions
- Defines the trading permissions that are allowed on accounts and symbols.
permissions
is an enum array; values:SPOT
MARGIN
permissions
will replaceisSpotTradingAllowed
andisMarginTradingAllowed
onGET api/v3/exchangeInfo
in future API versions (v4+).- For an account to trade on a symbol, the account and symbol must share at least 1 permission in common.
- Updates to GET
api/v3/exchangeInfo
- New field
permissions
added. - New field
quoteAssetPrecision
added; a duplicate of thequotePrecision
field.quotePrecision
will be removed in future API versions (v4+).
- New field
- Updates to GET
api/v3/account
- New field
permissions
added.
- New field
- New endpoint DELETE
api/v3/openOrders
- This will allow a user to cancel all open orders on a single symbol.
- This endpoint will cancel all open orders including OCO orders.
- Orders can be canceled via the API on symbols in the
BREAK
orHALT
status.
OutboundAccountInfo
has new fieldP
which shows the trading permissions of the account.
**2020-04-23**
WEB SOCKET STREAM
- WebSocket connections have a limit of 5 incoming messages per second. A message is considered:
- A PING frame
- A PONG frame
- A JSON control message (e.g. subscribe, unsubscribe)
- A connection that goes beyond the limit will be disconnected; IPs that are repeatedly disconnected may be banned.
- A single connection can listen to a maximum of 1024 streams.
New fields in response to endpoint
GET /sapi/v1/lending/daily/token/position
:todayPurchasedAmount
for user's purchased amount today
New lending endpoints for customized fixed projects:
GET /sapi/v1/lending/project/list
POST /sapi/v1/lending/customizedFixed/purchase
GET /sapi/v1/lending/project/position/list
**2020-04-02**
- New fields in response to endpoint
GET /sapi/v1/capital/config/getall
:minConfirm
for min number for balance confirmationunLockConfirm
for confirmation number for balance unlock
**2020-03-24**
MAX_POSITION
filter added.This filter defines the allowed maximum position an account can have on the base asset of a symbol. An account's position defined as the sum of the account's:
- free balance of the base asset
- locked balance of the base asset
- sum of the qty of all open BUY orders
BUY
orders will be rejected if the account's position is greater than the maximum position allowed.
**2020-03-13**
- New parameter
transactionFeeFlag
is available in endpoint:POST /sapi/v1/capital/withdraw/apply
andPOST /wapi/v3/withdraw.html
**2020-02-05**
- New sub account endpoints:
POST /sapi/v1/sub-account/futures/transfer
to transfer between futures and spot accout of sub-account.POST /sapi/v1/sub-account/margin/transfer
to transfer between margin and spot accout of sub-account.POST /sapi/v1/sub-account/transfer/subToSub
to transfer to another account by sub-account.POST /sapi/v1/sub-account/transfer/subToMaster
to transfer to same master by sub-account.GET /sapi/v1/sub-account/transfer/subUserHistory
to get transfer history of sub-account.
**2020-01-15**
New parameter
withdrawOrderId
for client customized withdraw id for endpointPOST /wapi/v3/withdraw.html
.New field
withdrawOrderId
in response toGET /wapi/v3/withdrawHistory.html
**2019-12-25**
New endpoints for Binance Savings:
GET /sapi/v1/lending/daily/product/list
GET /sapi/v1/lending/daily/userLeftQuota
POST /sapi/v1/lending/daily/purchase
GET /sapi/v1/lending/daily/userRedemptionQuota
POST /sapi/v1/lending/daily/redeem
GET /sapi/v1/lending/daily/token/position
GET /sapi/v1/lending/union/account
GET /sapi/v1/lending/union/purchaseRecord
GET /sapi/v1/lending/union/redemptionRecord
GET /sapi/v1/lending/union/interestHistory
Added time interval limit in
GET /sapi/v1/capital/withdraw/history
,
GET /wapi/v3/withdrawHistory.html
,
GET /sapi/v1/capital/deposit/hisrec
and
GET /wapi/v3/depositHistory.html
:
**2019-12-18**
- New endpoint to get daily snapshot of account:
GET /sapi/v1/accountSnapshot
**2019-11-30**
Added parameter
sideEffectType
inPOST /sapi/v1/margin/order (HMAC SHA256)
with enums:NO_SIDE_EFFECT
for normal trade order;MARGIN_BUY
for margin trade order;AUTO_REPAY
for making auto repayment after order filled.
New field
marginBuyBorrowAmount
andmarginBuyBorrowAsset
inFULL
response toPOST /sapi/v1/margin/order (HMAC SHA256)
**2019-11-28**
- New SAPI endpont to disable fast withdraw switch:
POST /sapi/v1/account/disableFastWithdrawSwitch (HMAC SHA256)
- New SAPI endpont to enable fast withdraw switch:
POST /sapi/v1/account/enableFastWithdrawSwitch (HMAC SHA256)
**2019-11-22**
- Quote Order Qty Market orders have been enabled on all symbols.
- Quote Order Qty
MARKET
orders allow a user to specify the totalquoteOrderQty
spent or received in theMARKET
order. - Quote Order Qty
MARKET
orders will not breakLOT_SIZE
filter rules; the order will execute a quantity that will have the notional value as close as possible toquoteOrderQty
. - Using
BNBBTC
as an example:- On the
BUY
side, the order will buy as many BNB asquoteOrderQty
BTC can. - On the
SELL
side, the order will sell as much BNB as needed to receivequoteOrderQty
BTC.
- On the
- Quote Order Qty
**2019-11-19**
GET /sapi/v1/sub-account/margin/account
has new field:marginTradeCoeffVo
which containsforceLiquidationBar
for liquidation margin ratiomarginCallBar
for margin call margin rationormalBar
for initial margin ratio
**2019-11-13**Rest API
- api/v3/exchangeInfo has new fields:
quoteOrderQtyMarketAllowed
baseCommissionPrecision
quoteCommissionPrecision
MARKET
orders have a new optional field:quoteOrderQty
used to specify the quote quantity to BUY or SELL. This cannot be used in combination withquantity
.- The exact timing that
quoteOrderQty
MARKET orders will be enabled is TBD. There will be a separate announcement and further details at that time.
- The exact timing that
- All order query endpoints will return a new field
origQuoteOrderQty
in the JSON payload. (e.g. GET api/v3/allOrders)
Updated error messages for -1128
- Sending an
OCO
with astopLimitPrice
but without astopLimitTimeInForce
will return the error:
- Sending an
Updated error messages for -1003 to specify the limit is referring to the request weight, not to the number of requests.
Deprecation of v1 endpoints:
By end of Q1 2020, the following endpoints will be removed from the API. The documentation has been updated to use the v3 versions of these endpoints.
- GET api/v1/depth
- GET api/v1/historicalTrades
- GET api/v1/aggTrades
- GET api/v1/klines
- GET api/v1/ticker/24hr
- GET api/v1/ticker/price
- GET api/v1/exchangeInfo
- POST api/v1/userDataStream
- PUT api/v1/userDataStream
- GET api/v1/ping
- GET api/v1/time
- GET api/v1/ticker/bookTicker
These endpoints however, will NOT be migrated to v3. Please use the following endpoints instead moving forward.
Old V1 Endpoints | New V3 Endpoints |
---|---|
GET api/v1/ticker/allPrices | GET api/v3/ticker/price |
GET api/v1/ticker/allBookTickers | GET api/v3/ticker/bookTicker |
Changes to
executionReport
event- If the C field is empty, it will now properly return
null
, instead of"null"
. - New field Q which represents the
quoteOrderQty
.
- If the C field is empty, it will now properly return
balanceUpdate
event type added- This event occurs when funds are deposited or withdrawn from your account.
- WSS now supports live subscribing/unsubscribing to streams.
**2019-11-08**
- New sapi for subaccount management on margin and futures:
GET /sapi/v1/sub-account/status (HMAC SHA256)
POST /sapi/v1/sub-account/margin/enable (HMAC SHA256)
GET /sapi/v1/sub-account/margin/account (HMAC SHA256)
GET /sapi/v1/sub-account/margin/accountSummary (HMAC SHA256)
POST /sapi/v1/sub-account/futures/enable (HMAC SHA256)
GET /sapi/v1/sub-account/futures/account (HMAC SHA256)
GET /sapi/v1/sub-account/futures/accountSummary (HMAC SHA256)
GET /sapi/v1/sub-account/futures/positionRisk (HMAC SHA256)
**2019-11-04**
- New sapi endpoints for subaccount wallet.
GET /sapi/v1/capital/deposit/subAddress (HMAC SHA256))
: fetch subaccount deposit address.GET /sapi/v1/capital/deposit/subHisrec (HMAC SHA256))
: fetch subaccount deposit history.
**2019-10-29**
- New sapi endpoints for wallet.
POST /sapi/v1/capital/withdraw/apply (HMAC SHA256)
: withdraw.Get /sapi/v1/capital/withdraw/history (HMAC SHA256)
: fetch withdraw history with network.
**2019-10-14**
- New sapi endpoints for wallet.
GET /sapi/v1/capital/config/getall (HMAC SHA256)
: get all coins' information for user.GET /sapi/v1/capital/deposit/hisrec (HMAC SHA256)
: fetch deposit history with network.GET /sapi/v1/capital/deposit/address (HMAC SHA256)
: fetch deposit address with network.
**2019-10-11**
- Added parameter
network
inPOST /wapi/v3/withdraw.html
so that asset can be withdrawed with specific network.
**2019-09-09**
- New WebSocket streams for bookTickers added:
<symbol>@bookTicker
and!bookTicker
.
**2019-09-03**
- Faster order book data with 100ms updates:
<symbol>@depth@100ms
and<symbol>@depth#@100ms
- Added "Update Speed:" to
Websocket Market Streams
- Removed deprecated v1 endpoints as per previous announcement:
- GET api/v1/order
- GET api/v1/openOrders
- POST api/v1/order
- DELETE api/v1/order
- GET api/v1/allOrders
- GET api/v1/account
- GET api/v1/myTrades
**2019-08-16**
GET api/v1/depth
limit
of 10000 has been temporarily removedIn Q4 2017, the following endpoints were deprecated and removed from the API documentation. They have been permanently removed from the API as of this version. We apologize for the omission from the original changelog:
- GET api/v1/order
- GET api/v1/openOrders
- POST api/v1/order
- DELETE api/v1/order
- GET api/v1/allOrders
- GET api/v1/account
- GET api/v1/myTrades
Streams, endpoints, parameters, payloads, etc. described in the documents in this repository are considered official and supported. The use of any other streams, endpoints, parameters, or payloads, etc. is not supported; use them at your own risk and with no guarantees.
**2019-09-15**Rest API
New order type: OCO ("One Cancels the Other")
An OCO has 2 orders: (also known as legs in financial terms)
STOP_LOSS
orSTOP_LOSS_LIMIT
legLIMIT_MAKER
leg
Price Restrictions:
SELL Orders
: Limit Price > Last Price > Stop PriceBUY Orders
: Limit Price < Last Price < Stop Price- As stated, the prices must "straddle" the last traded price on the symbol. EX: If the last price is 10:
- A SELL OCO must have the limit price greater than 10, and the stop price less than 10.
- A BUY OCO must have a limit price less than 10, and the stop price greater than 10.
Quantity Restrictions:
- Both legs must have the same quantity.
ICEBERG
quantities however, do not have to be the same.
Execution Order:
- If the
LIMIT_MAKER
is touched, the limit maker leg will be executed first BEFORE canceling the Stop Loss Leg. - if the Market Price moves such that the
STOP_LOSS
orSTOP_LOSS_LIMIT
will trigger, the Limit Maker leg will be cancelled BEFORE executing theSTOP_LOSS
Leg.
- If the
Cancelling an OCO
- Cancelling either order leg will cancel the entire OCO.
- The entire OCO can be canceled via the
orderListId
or thelistClientOrderId
.
New Enums for OCO:
ListStatusType
RESPONSE
- used when ListStatus is responding to a failed action. (either order list placement or cancellation)EXEC_STARTED
- used when an order list has been placed or there is an update to a list's status.ALL_DONE
- used when an order list has finished executing and is no longer active.
ListOrderStatus
EXECUTING
- used when an order list has been placed or there is an update to a list's status.ALL_DONE
- used when an order list has finished executing and is no longer active.REJECT
- used when ListStatus is responding to a failed action. (either order list placement or cancellation)
ContingencyType
OCO
- specifies the type of order list.
New Endpoints:
- POST api/v3/order/oco
- DELETE api/v3/orderList
- GET api/v3/orderList
recvWindow
cannot exceed 60000.New
intervalLetter
values for headers:- SECOND => S
- MINUTE => M
- HOUR => H
- DAY => D
New Headers
X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter)
will give your current used request weight for the (intervalNum)(intervalLetter) rate limiter. For example, if there is a one minute request rate weight limiter set, you will get aX-MBX-USED-WEIGHT-1M
header in the response. The legacy headerX-MBX-USED-WEIGHT
will still be returned and will represent the current used weight for the one minute request rate weight limit.New Header
X-MBX-ORDER-COUNT-(intervalNum)(intervalLetter)
that is updated on any valid order placement and tracks your current order count for the interval; rejected/unsuccessful orders are not guaranteed to haveX-MBX-ORDER-COUNT-**
headers in the response.- Eg.
X-MBX-ORDER-COUNT-1S
for "orders per 1 second" andX-MBX-ORDER-COUNT-1D
for orders per "one day"
- Eg.
GET api/v1/depth now supports
limit
5000 and 10000; weights are 50 and 100 respectively.GET api/v1/exchangeInfo has a new parameter
ocoAllowed
.
executionReport
event now contains "g" which has theorderListId
; it will be set to -1 for non-OCO orders.- New Event Type
listStatus
;listStatus
is sent on an update to any OCO order. - New Event Type
outboundAccountPosition
;outboundAccountPosition
is sent any time an account's balance changes and contains the assets that could have changed by the event that generated the balance change (a deposit, withdrawal, trade, order placement, or cancelation).
- -1131 BAD_RECV_WINDOW
recvWindow
must be less than 60000
- -1099 Not found, authenticated, or authorized
- This replaces error code -1999
- OCO_BAD_ORDER_PARAMS
- A parameter for one of the orders is incorrect.
- OCO_BAD_PRICES
- The relationship of the prices for the orders is not correct.
- UNSUPPORTED_ORD_OCO
- OCO orders are not supported for this symbol.
**2019-03-12**Rest API
- X-MBX-USED-WEIGHT header added to Rest API responses.
- Retry-After header added to Rest API 418 and 429 responses.
- When canceling the Rest API can now return
errorCode
-1013 OR -2011 if the symbol'sstatus
isn'tTRADING
. api/v1/depth
no longer has the ignored and empty[]
.api/v3/myTrades
now returnsquoteQty
; the price * qty of for the trade.
<symbol>@depth
and<symbol>@depthX
streams no longer have the ignored and empty[]
.
- Matching Engine stability/reliability improvements.
- Rest API performance improvements.
**2018-11-13**Rest API
- Can now cancel orders through the Rest API during a trading ban.
- New filters:
PERCENT_PRICE
,MARKET_LOT_SIZE
,MAX_NUM_ICEBERG_ORDERS
. - Added
RAW_REQUESTS
rate limit. Limits based on the number of requests over X minutes regardless of weight. - /api/v3/ticker/price increased to weight of 2 for a no symbol query.
- /api/v3/ticker/bookTicker increased weight of 2 for a no symbol query.
- DELETE /api/v3/order will now return an execution report of the final state of the order.
MIN_NOTIONAL
filter has two new parameters:applyToMarket
(whether or not the filter is applied to MARKET orders) andavgPriceMins
(the number of minutes over which the price averaged for the notional estimation).intervalNum
added to /api/v1/exchangeInfo limits.intervalNum
describes the amount of the interval. For example:intervalNum
5, withinterval
minute, means "every 5 minutes".
(qty * price) of all trades / sum of qty of all trades over previous 5 minutes.
If there is no trade in the last 5 minutes, it takes the first trade that happened outside of the 5min window. For example if the last trade was 20 minutes ago, that trade's price is the 5 min average.
If there is no trade on the symbol, there is no average price and market orders cannot be placed. On a new symbol with
applyToMarket
enabled on theMIN_NOTIONAL
filter, market orders cannot be placed until there is at least 1 trade.The current average price can be checked here:
https://api.binance.com/api/v3/avgPrice?symbol=<symbol>
For example: https://api.binance.com/api/v3/avgPrice?symbol=BNBUSDT
Last quote asset transacted quantity
(as variableY
) added to execution reports. Represents thelastPrice
lastQty
(L
l
).
**2018-07-18**Rest API
- New filter:
ICEBERG_PARTS
POST api/v3/order
new defaults fornewOrderRespType
.ACK
,RESULT
, orFULL
;MARKET
andLIMIT
order types default toFULL
, all other orders default toACK
.- POST api/v3/order
RESULT
andFULL
responses now havecummulativeQuoteQty
- GET api/v3/openOrders with no symbol weight reduced to 40.
- GET api/v3/ticker/24hr with no symbol weight reduced to 40.
- Max amount of trades from GET /api/v1/trades increased to 1000.
- Max amount of trades from GET /api/v1/historicalTrades increased to 1000.
- Max amount of aggregate trades from GET /api/v1/aggTrades increased to 1000.
- Max amount of aggregate trades from GET /api/v1/klines increased to 1000.
- Rest API Order lookups now return
updateTime
which represents the last time the order was updated;time
is the order creation time. - Order lookup endpoints will now return
cummulativeQuoteQty
. IfcummulativeQuoteQty
is < 0, it means the data isn't available for this order at this time. REQUESTS
rate limit type changed toREQUEST_WEIGHT
. This limit was always logically request weight and the previous name for it caused confusion.
cummulativeQuoteQty
field added to order responses and execution reports (as variableZ
). Represents the cummulative amount of thequote
that has been spent (with aBUY
order) or received (with aSELL
order). Historical orders will have a value < 0 in this field indicating the data is not available at this time.cummulativeQuoteQty
divided bycummulativeQty
will give the average price for an order.O
(order creation time) added to execution reports
**2018-01-23**
- GET /api/v1/historicalTrades weight decreased to 5
- GET /api/v1/aggTrades weight decreased to 1
- GET /api/v1/klines weight decreased to 1
- GET /api/v1/ticker/24hr all symbols weight decreased to number of trading symbols / 2
- GET /api/v3/allOrders weight decreased to 5
- GET /api/v3/myTrades weight decreased to 5
- GET /api/v3/account weight decreased to 5
- GET /api/v1/depth limit=500 weight decreased to 5
- GET /api/v1/depth limit=1000 weight decreased to 10
- -1003 error message updated to direct users to websockets
**2018-01-20**
- GET /api/v1/ticker/24hr single symbol weight decreased to 1
- GET /api/v3/openOrders all symbols weight decreased to number of trading symbols / 2
- GET /api/v3/allOrders weight decreased to 15
- GET /api/v3/myTrades weight decreased to 15
- GET /api/v3/order weight decreased to 1
- myTrades will now return both sides of a self-trade/wash-trade
**2018-01-14**
- GET /api/v1/aggTrades weight changed to 2
- GET /api/v1/klines weight changed to 2
- GET /api/v3/order weight changed to 2
- GET /api/v3/allOrders weight changed to 20
- GET /api/v3/account weight changed to 20
- GET /api/v3/myTrades weight changed to 20
- GET /api/v3/historicalTrades weight changed to 20
Introduction
#
API Key Setup- Some endpoints will require an API Key. Please refer to this page regarding API key creation.
- Once API key is created, it is recommended to set IP restrictions on the key for security reasons.
- Never share your API key/secret key to ANYONE.
#
API Key Restrictions- After creating the API key, the default restrictions is
Enable Reading
. - To enable withdrawals via the API, the API key restriction needs to be modified through the Binance UI.
#
Enabling Accounts#
Spot AccountA SPOT
account is provided by default upon creation of a Binance Account.
#
Margin AccountTo enable a MARGIN
account for Margin Trading, please refer to the Margin Trading Guide
#
Spot TestnetUsers can use the SPOT Testnet to practice SPOT
trading.
Currently, this is only available via the API.
Please refer to the SPOT Testnet page for more information and how to set up the Testnet API key.
#
API Library#
Python connectorThis is a lightweight library that works as a connector to Binance public API, written in Python.
https://github.com/binance/binance-connector-python
#
Node.js connectorThis is a lightweight library that works as a connector to Binance public API, written for Node.js users.
https://github.com/binance/binance-connector-node
#
Ruby connectorThis is a lightweight library that works as a connector to Binance public API, written for Ruby users.
https://github.com/binance/binance-connector-ruby
#
DotNET connectorThis is a lightweight library that works as a connector to Binance public API, written for C# users.
https://github.com/binance/binance-connector-dotnet
#
Java connectorThis is a lightweight library that works as a connector to Binance public API, written for Java users.
https://github.com/binance/binance-connector-java
#
Postman CollectionsThere is now a Postman collection containing the API endpoints for quick and easy use.
This is recommended for new users who want to get a quick-start into using the API.
For more information please refer to this page: Binance API Postman
#
SwaggerA YAML file with OpenAPI specification on the RESTful API is available to be used, as well as a Swagger UI page for the consulting.
https://github.com/binance/binance-api-swagger
#
Contact Us- Binance API Telegram Group
- For any questions in sudden drop in performance with the API and/or Websockets.
- For any general questions about the API not covered in the documentation.
- Binance Developers
- For any questions on your code implementation with the API and/or Websockets.
- Binance Customer Support
- For cases such as missing funds, help with 2FA, etc.
General Info
#
General API Information- The base endpoint is: https://api.binance.com
- If there are performance issues with the endpoint above, these API clusters are also available:
- 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 Return Codes- HTTP
4XX
return codes are used for malformed requests; the issue is on the sender's side. - HTTP
403
return code is used when the WAF Limit (Web Application Firewall) has been violated. - 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 receiving429
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.
#
Error Codes and Messages- If there is an error, the API will return an error with a message of the reason.
The error payload on API and SAPI is as follows:
- Specific error codes and messages defined in Error Codes.
#
General Information on Endpoints- For
GET
endpoints, parameters must be sent as aquery string
. - For
POST
,PUT
, andDELETE
endpoints, the parameters may be sent as aquery string
or in therequest body
with content typeapplication/x-www-form-urlencoded
. You may mix parameters between both thequery string
andrequest body
if you wish to do so. - Parameters may be sent in any order.
- If a parameter sent in both the
query string
andrequest body
, thequery string
parameter will be used.
#
LIMITS#
General Info on Limits- The following
intervalLetter
values for headers:- SECOND => S
- MINUTE => M
- HOUR => H
- DAY => D
intervalNum
describes the amount of the interval. For example,intervalNum
5 withintervalLetter
M means "Every 5 minutes".- The
/api/v3/exchangeInfo
rateLimits
array contains objects related to the exchange'sRAW_REQUESTS
,REQUEST_WEIGHT
, andORDERS
rate limits. These are further defined in theENUM definitions
section underRate limiters (rateLimitType)
. - A 429 will be returned when either rate limit is violated.
#
IP Limits- Every request will contain
X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter)
in the response headers which has the current used weight for the IP for all request rate limiters defined. - Each route has a
weight
which determines for the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavierweight
. - When a 429 is received, it's your obligation as an API to back off and not spam the API.
- Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).
- IP bans are tracked and scale in duration for repeat offenders, from 2 minutes to 3 days.
- A
Retry-After
header is sent with a 418 or 429 responses and will give the number of seconds required to wait, in the case of a 429, to prevent a ban, or, in the case of a 418, until the ban is over. - The limits on the API are based on the IPs, not the API keys.
#
Order Rate Limits- Every successful order response will contain a
X-MBX-ORDER-COUNT-(intervalNum)(intervalLetter)
header which has the current order count for the account for all order rate limiters defined. - When the order count exceeds the limit, you will receive a 429 error without the
Retry-After
header. Please check the Order Rate Limit rules usingGET api/v3/exchangeInfo
and wait for reactivation accordingly. - Rejected/unsuccessful orders are not guaranteed to have
X-MBX-ORDER-COUNT-**
headers in the response. - The order rate limit is counted against each account.
#
Websocket Limits- WebSocket connections have a limit of 5 incoming messages per second. A message is considered:
- A PING frame
- A PONG frame
- A JSON controlled message (e.g. subscribe, unsubscribe)
- A connection that goes beyond the limit will be disconnected; IPs that are repeatedly disconnected may be banned.
- A single connection can listen to a maximum of 1024 streams.
#
/api/ and /sapi/ Limit IntroductionThe /api/*
and /sapi/*
endpoints adopt either of two access limiting rules, IP limits or UID (account) limits.
Endpoints related to
/api/*
:- According to the two modes of IP and UID (account) limit, each are independent.
- Endpoints share the 1200 per minute limit based on IP.
- Responses contain the header
X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter)
, defining the weight used by the current IP. - Successful order responses contain the header
X-MBX-ORDER-COUNT-(intervalNum)(intervalLetter)
, defining the order limit used by the UID.
Endpoints related to
/sapi/*
:- Endpoints are marked according to IP or UID limit and their corresponding weight value.
- Each endpoint with IP limits has an independent 12000 per minute limit.
- Each endpoint with UID limits has an independent 180000 per minute limit.
- Responses from endpoints with IP limits contain the header
X-SAPI-USED-IP-WEIGHT-1M
, defining the weight used by the current IP. - Responses from endpoints with UID limits contain the header
X-SAPI-USED-UID-WEIGHT-1M
, defining the weight used by the current UID.
#
Data Sources- The API system is asynchronous, so some delay in the response is normal and expected.
- Each endpoint has a data source indicating where the data is being retrieved, and thus which endpoints have the most up-to-date response.
These are the three sources, ordered by which is has the most up-to-date response to the one with potential delays in updates.
- Matching Engine - the data is from the matching Engine
- Memory - the data is from a server's local or external memory
- Database - the data is taken directly from a database
#
Endpoint security type- Each endpoint has a security type that determines how you will
interact with it. This is stated next to the NAME of the endpoint.
- If no security type is stated, assume the security type is NONE.
- 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.
Security Type | Description |
---|---|
NONE | Endpoint can be accessed freely. |
TRADE | Endpoint requires sending a valid API-Key and signature. |
MARGIN | Endpoint requires sending a valid API-Key and signature. |
USER_DATA | 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
,MARGIN
andUSER_DATA
endpoints areSIGNED
endpoints.
#
SIGNED (TRADE, USER_DATA, AND MARGIN) Endpoint securitySIGNED
endpoints require an additional parameter,signature
, to be sent in thequery string
orrequest body
.- Endpoints use
HMAC SHA256
signatures. TheHMAC SHA256 signature
is a keyedHMAC SHA256
operation. Use yoursecretKey
as the key andtotalParams
as the value for the HMAC operation. - The
signature
is not case sensitive. totalParams
is defined as thequery string
concatenated with therequest 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 aftertimestamp
the request is valid for. IfrecvWindow
is not sent, it defaults to 5000.
The logic is as follows:
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.
#
SIGNED Endpoint Examples for POST /api/v3/orderHere is a step-by-step example of how to send a vaild signed payload from the
Linux command line using echo
, openssl
, and curl
.
Key | Value |
---|---|
apiKey | vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A |
secretKey | NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j |
Parameter | Value |
---|---|
symbol | LTCBTC |
side | BUY |
type | LIMIT |
timeInForce | GTC |
quantity | 1 |
price | 0.1 |
recvWindow | 5000 |
timestamp | 1499827319559 |
#
Example 1: As a request bodyExample 1
HMAC SHA256 signature:
curl command:
- requestBody:
symbol=LTCBTC
&side=BUY
&type=LIMIT
&timeInForce=GTC
&quantity=1
&price=0.1
&recvWindow=5000
×tamp=1499827319559
#
Example 2: As a query stringExample 2
HMAC SHA256 signature:
curl command:
- queryString:
symbol=LTCBTC
&side=BUY
&type=LIMIT
&timeInForce=GTC
&quantity=1
&price=0.1
&recvWindow=5000
×tamp=1499827319559
#
Example 3: Mixed query string and request bodyExample 3
HMAC SHA256 signature:
curl command:
- queryString:
symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC
- requestBody:
quantity=1&price=0.1&recvWindow=5000×tamp=1499827319559
Note that the signature is different in example 3. There is no & between "GTC" and "quantity=1".
#
Public API Definitions#
TerminologyThese terms will be used throughout the documentation, so it is recommended especially for new users to read to help their understanding of the API.
base asset
refers to the asset that is thequantity
of a symbol. For the symbol BTCUSDT, BTC would be thebase asset.
quote asset
refers to the asset that is theprice
of a symbol. For the symbol BTCUSDT, USDT would be thequote asset
.
#
ENUM definitionsSymbol status (status):
- PRE_TRADING
- TRADING
- POST_TRADING
- END_OF_DAY
- HALT
- AUCTION_MATCH
- BREAK
Account and Symbol Permissions (permissions):
- SPOT
- MARGIN
- LEVERAGED
- TRD_GRP_002
Order status (status):
Status | Description |
---|---|
NEW | The order has been accepted by the engine. |
PARTIALLY_FILLED | A part of the order has been filled. |
FILLED | The order has been completed. |
CANCELED | The order has been canceled by the user. |
PENDING_CANCEL | Currently unused |
REJECTED | The order was not accepted by the engine and not processed. |
EXPIRED | The order was canceled according to the order type's rules (e.g. LIMIT FOK orders with no fill, LIMIT IOC or MARKET orders that partially fill) or by the exchange, (e.g. orders canceled during liquidation, orders canceled during maintenance) |
OCO Status (listStatusType):
Status | Description |
---|---|
RESPONSE | This is used when the ListStatus is responding to a failed action. (E.g. Orderlist placement or cancellation) |
EXEC_STARTED | The order list has been placed or there is an update to the order list status. |
ALL_DONE | The order list has finished executing and thus no longer active. |
OCO Order Status (listOrderStatus):
Status | Description |
---|---|
EXECUTING | Either an order list has been placed or there is an update to the status of the list. |
ALL_DONE | An order list has completed execution and thus no longer active. |
REJECT | The List Status is responding to a failed action either during order placement or order canceled.) |
ContingencyType
- OCO
Order types (orderTypes, type):
More information on how the order types definitions can be found here: Types of Orders
- LIMIT
- MARKET
- STOP_LOSS
- STOP_LOSS_LIMIT
- TAKE_PROFIT
- TAKE_PROFIT_LIMIT
- LIMIT_MAKER
Order Response Type (newOrderRespType):
- ACK
- RESULT
- FULL
Order side (side):
- BUY
- SELL
Time in force (timeInForce):
This sets how long an order will be active before expiration.
Status | Description |
---|---|
GTC | Good Til Canceled undefined An order will be on the book unless the order is canceled. |
IOC | Immediate Or Cancel undefined An order will try to fill the order as much as it can before the order expires. |
FOK | Fill or Kill undefined An order will expire if the full order cannot be filled upon execution. |
Kline/Candlestick chart intervals:
m -> minutes; h -> hours; d -> days; w -> weeks; M -> months
- 1m
- 3m
- 5m
- 15m
- 30m
- 1h
- 2h
- 4h
- 6h
- 8h
- 12h
- 1d
- 3d
- 1w
- 1M
Rate limiters (rateLimitType)
REQUEST_WEIGHT
ORDERS
RAW_REQUESTS
REQUEST_WEIGHT
ORDERS
RAW_REQUESTS
Rate limit intervals (interval)
- SECOND
- MINUTE
- DAY
#
FiltersFilters define trading rules on a symbol or an exchange.
Filters come in two forms: symbol filters
and exchange filters
.
#
Symbol Filters#
PRICE_FILTERExchangeInfo format:
The PRICE_FILTER
defines the price
rules for a symbol. There are 3 parts:
minPrice
defines the minimumprice
/stopPrice
allowed; disabled onminPrice
== 0.maxPrice
defines the maximumprice
/stopPrice
allowed; disabled onmaxPrice
== 0.tickSize
defines the intervals that aprice
/stopPrice
can be increased/decreased by; disabled ontickSize
== 0.
Any of the above variables can be set to 0, which disables that rule in the price filter
. In order to pass the price filter
, the following must be true for price
/stopPrice
of the enabled rules:
price
>=minPrice
price
<=maxPrice
- (
price
-minPrice
) %tickSize
== 0
#
PERCENT_PRICEExchangeInfo format:
The PERCENT_PRICE
filter defines valid range for a price based on the average of the previous trades.
avgPriceMins
is the number of minutes the average price is calculated over. 0 means the last price is used.
In order to pass the percent price
, the following must be true for price
:
price
<=weightedAveragePrice
*multiplierUp
price
>=weightedAveragePrice
*multiplierDown
#
LOT_SIZEExchangeInfo format:
The LOT_SIZE
filter defines the quantity
(aka "lots" in auction terms) rules for a symbol. There are 3 parts:
minQty
defines the minimumquantity
/icebergQty
allowed.maxQty
defines the maximumquantity
/icebergQty
allowed.stepSize
defines the intervals that aquantity
/icebergQty
can be increased/decreased by.
In order to pass the lot size
, the following must be true for quantity
/icebergQty
:
quantity
>=minQty
quantity
<=maxQty
- (
quantity
-minQty
) %stepSize
== 0
#
MIN_NOTIONALExchangeInfo format:
The MIN_NOTIONAL
filter defines the minimum notional value allowed for an order on a symbol.
An order's notional value is the price
quantity
.
If the order is an Algo order (e.g. STOP_LOSS_LIMIT
), then the notional value of the stopPrice
quantity
will also be evaluated.
If the order is an Iceberg Order, then the notional value of the price
* icebergQty
will also be evaluated.
applyToMarket
determines whether or not the MIN_NOTIONAL
filter will also be applied to MARKET
orders.
Since MARKET
orders have no price, the average price is used over the last avgPriceMins
minutes.
avgPriceMins
is the number of minutes the average price is calculated over. 0 means the last price is used.
#
ICEBERG_PARTSExchangeInfo format:
The ICEBERG_PARTS
filter defines the maximum parts an iceberg order can have. The number of ICEBERG_PARTS
is defined as CEIL(qty / icebergQty)
.
#
MARKET_LOT_SIZEExchangeInfo format:
The MARKET_LOT_SIZE
filter defines the quantity
(aka "lots" in auction terms) rules for MARKET
orders on a symbol. There are 3 parts:
minQty
defines the minimumquantity
allowed.maxQty
defines the maximumquantity
allowed.stepSize
defines the intervals that aquantity
can be increased/decreased by.
In order to pass the market lot size
, the following must be true for quantity
:
quantity
>=minQty
quantity
<=maxQty
- (
quantity
-minQty
) %stepSize
== 0
#
MAX_NUM_ORDERSExchangeInfo format:
The MAX_NUM_ORDERS
filter defines the maximum number of orders an account is allowed to have open on a symbol.
Note that both "algo" orders and normal orders are counted for this filter.
#
MAX_NUM_ALGO_ORDERSExchangeInfo format:
The MAX_NUM_ALGO_ORDERS
filter defines the maximum number of "algo" orders an account is allowed to have open on a symbol.
"Algo" orders are STOP_LOSS
, STOP_LOSS_LIMIT
, TAKE_PROFIT
, and TAKE_PROFIT_LIMIT
orders.
#
MAX_NUM_ICEBERG_ORDERSThe MAX_NUM_ICEBERG_ORDERS
filter defines the maximum number of ICEBERG
orders an account is allowed to have open on a symbol.
An ICEBERG
order is any order where the icebergQty
is > 0.
ExchangeInfo format:
#
MAX_POSITIONThe MAX_POSITION
filter defines the allowed maximum position an account can have on the base asset of a symbol.
An account's position defined as the sum of the account's:
- free balance of the base asset
- locked balance of the base asset
- sum of the qty of all open BUY orders
BUY
orders will be rejected if the account's position is greater than the maximum position allowed.
ExchangeInfo format:
#
Exchange Filters#
EXCHANGE_MAX_NUM_ORDERSExchangeInfo format:
The EXCHANGE_MAX_NUM_ORDERS
filter defines the maximum number of orders an account is allowed to have open on the exchange.
Note that both "algo" orders and normal orders are counted for this filter.
#
EXCHANGE_MAX_NUM_ALGO_ORDERSExchangeInfo format:
The EXCHANGE_MAX_NUM_ALGO_ORDERS
filter defines the maximum number of "algo" orders an account is allowed to have open on the exchange.
"Algo" orders are STOP_LOSS
, STOP_LOSS_LIMIT
, TAKE_PROFIT
, and TAKE_PROFIT_LIMIT
orders.
Wallet Endpoints
#
System Status (System)Response
GET /sapi/v1/system/status
Fetch system status.
Weight(IP): 1
#
All Coins' Information (USER_DATA)Get information of coins (available for deposit and withdraw) for user.
Response:
GET /sapi/v1/capital/config/getall (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Daily Account Snapshot (USER_DATA)Response:
OR
OR
GET /sapi/v1/accountSnapshot (HMAC SHA256)
Weight(IP): 2400
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
type | STRING | YES | "SPOT", "MARGIN", "FUTURES" |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | min 7, max 30, default 7 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- The query time period must be less then 30 days
- Support query within the last one month only
- If startTimeand endTime not sent, return records of the last 7 days by default
#
Disable Fast Withdraw Switch (USER_DATA)Response:
POST /sapi/v1/account/disableFastWithdrawSwitch (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
Caution:
This request will disable fastwithdraw switch under your account. undefined You need to enable "trade" option for the api key which requests this endpoint.
#
Enable Fast Withdraw Switch (USER_DATA)Response:
POST /sapi/v1/account/enableFastWithdrawSwitch (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- This request will enable fastwithdraw switch under your account. undefined You need to enable "trade" option for the api key which requests this endpoint.
- When Fast Withdraw Switch is on, transferring funds to a Binance account will be done instantly. There is no on-chain transaction, no transaction ID and no withdrawal fee.
#
Withdraw(USER_DATA)Response:
POST /sapi/v1/capital/withdraw/apply (HMAC SHA256)
Submit a withdraw request.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
coin | STRING | YES | |
withdrawOrderId | STRING | NO | client id for withdraw |
network | STRING | NO | |
address | STRING | YES | |
addressTag | STRING | NO | Secondary address identifier for coins like XRP,XMR etc. |
amount | DECIMAL | YES | |
transactionFeeFlag | BOOLEAN | NO | When making internal transfer, true for returning the fee to the destination account; false for returning the fee back to the departure account. Default false . |
name | STRING | NO | Description of the address. Space in name should be encoded into %20 . |
walletType | INTEGER | NO | The wallet type for withdraw,0-spot wallet ,1-funding wallet.Default spot wallet |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- If
network
not send, return with default network of the coin. - You can get
network
andisDefault
innetworkList
of a coin in the response ofGet /sapi/v1/capital/config/getall (HMAC SHA256)
.
#
Deposit History(supporting network) (USER_DATA)Response:
GET /sapi/v1/capital/deposit/hisrec (HMAC SHA256)
Fetch deposit history.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
coin | STRING | NO | |
status | INT | NO | 0(0:pending,6: credited but cannot withdraw, 1:success) |
startTime | LONG | NO | Default: 90 days from current timestamp |
endTime | LONG | NO | Default: present timestamp |
offset | INT | NO | Default:0 |
limit | INT | NO | Default:1000, Max:1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- Please notice the default
startTime
andendTime
to make sure that time interval is within 0-90 days. - If both
startTime
andendTime
are sent, time betweenstartTime
andendTime
must be less than 90 days.
#
Withdraw History (supporting network) (USER_DATA)Response:
GET /sapi/v1/capital/withdraw/history (HMAC SHA256)
Fetch withdraw history.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
coin | STRING | NO | |
withdrawOrderId | STRING | NO | |
status | INT | NO | 0(0:Email Sent,1:Cancelled 2:Awaiting Approval 3:Rejected 4:Processing 5:Failure 6:Completed) |
offset | INT | NO | |
limit | INT | NO | Default: 1000, Max: 1000 |
startTime | LONG | NO | Default: 90 days from current timestamp |
endTime | LONG | NO | Default: present timestamp |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
network
may not be in the response for old withdraw.- Please notice the default
startTime
andendTime
to make sure that time interval is within 0-90 days. - If both
startTime
andendTime
are sent, time betweenstartTime
andendTime
must be less than 90 days.
#
Deposit Address (supporting network) (USER_DATA)Response:
GET /sapi/v1/capital/deposit/address (HMAC SHA256)
Fetch deposit address with network.
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
coin | STRING | YES | |
network | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- If
network
is not send, return with default network of the coin. - You can get
network
andisDefault
innetworkList
in the response ofGet /sapi/v1/capital/config/getall (HMAC SHA256)
.
#
Account Status (USER_DATA)Response:
GET /sapi/v1/account/status
Fetch account status detail.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Account API Trading Status (USER_DATA)Response:
GET /sapi/v1/account/apiTradingStatus (HMAC SHA256)
Fetch account api trading status detail.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
DustLog(USER_DATA)Response
GET /sapi/v1/asset/dribblet (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
startTime | LONG | NO | |
endTime | LONG | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- Only return last 100 records
- Only return records after 2020/12/01
#
Get Assets That Can Be Converted Into BNB (USER_DATA)Response
POST /sapi/v1/asset/dust-btc (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Dust Transfer (USER_DATA)Response:
POST /sapi/v1/asset/dust (HMAC SHA256)
Convert dust assets to BNB.
Weight(UID): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | ARRAY | YES | The asset being converted. For example: asset=BTC&asset=USDT |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- You need to open
Enable Spot & Margin Trading
permission for the API Key which requests this endpoint.
#
Asset Dividend Record (USER_DATA)Response:
GET /sapi/v1/asset/assetDividend (HMAC SHA256)
Query asset dividend record.
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 20, max 500 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Asset Detail (USER_DATA)Response:
GET /sapi/v1/asset/assetDetail (HMAC SHA256)
Fetch details of assets supported on Binance.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- Please get network and other deposit or withdraw details from
GET /sapi/v1/capital/config/getall
.
#
Trade Fee (USER_DATA)Response:
GET /sapi/v1/asset/tradeFee (HMAC SHA256)
Fetch trade fee
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
User Universal Transfer (USER_DATA)Response:
POST /sapi/v1/asset/transfer (HMAC SHA256)
You need to enable Permits Universal Transfer
option for the API Key which requests this endpoint.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
type | ENUM | YES | |
asset | STRING | YES | |
amount | DECIMAL | YES | |
fromSymbol | STRING | NO | |
toSymbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
fromSymbol
must be sent when type are ISOLATEDMARGIN_MARGIN and ISOLATEDMARGIN_ISOLATEDMARGINtoSymbol
must be sent when type are MARGIN_ISOLATEDMARGIN and ISOLATEDMARGIN_ISOLATEDMARGINENUM of transfer types:
- MAIN_UMFUTURE Spot account transfer to USDⓈ-M Futures account
- MAIN_CMFUTURE Spot account transfer to COIN-M Futures account
- MAIN_MARGIN Spot account transfer to Margin(cross)account
- UMFUTURE_MAIN USDⓈ-M Futures account transfer to Spot account
- UMFUTURE_MARGIN USDⓈ-M Futures account transfer to Margin(cross)account
- CMFUTURE_MAIN COIN-M Futures account transfer to Spot account
- CMFUTURE_MARGIN COIN-M Futures account transfer to Margin(cross) account
- MARGIN_MAIN Margin(cross)account transfer to Spot account
- MARGIN_UMFUTURE Margin(cross)account transfer to USDⓈ-M Futures
- MARGIN_CMFUTURE Margin(cross)account transfer to COIN-M Futures
- ISOLATEDMARGIN_MARGIN Isolated margin account transfer to Margin(cross) account
- MARGIN_ISOLATEDMARGIN Margin(cross) account transfer to Isolated margin account
- ISOLATEDMARGIN_ISOLATEDMARGIN Isolated margin account transfer to Isolated margin account
- MAIN_FUNDING Spot account transfer to Funding account
- FUNDING_MAIN Funding account transfer to Spot account
- FUNDING_UMFUTURE Funding account transfer to UMFUTURE account
- UMFUTURE_FUNDING UMFUTURE account transfer to Funding account
- MARGIN_FUNDING MARGIN account transfer to Funding account
- FUNDING_MARGIN Funding account transfer to Margin account
- FUNDING_CMFUTURE Funding account transfer to CMFUTURE account
- CMFUTURE_FUNDING CMFUTURE account transfer to Funding account
#
Query User Universal Transfer History (USER_DATA)Response:
GET /sapi/v1/asset/transfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
type | ENUM | YES | |
startTime | LONG | NO | |
endTime | LONG | NO | |
current | INT | NO | Default 1 |
size | INT | NO | Default 10, Max 100 |
fromSymbol | STRING | NO | |
toSymbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
fromSymbol
must be sent when type are ISOLATEDMARGIN_MARGIN and ISOLATEDMARGIN_ISOLATEDMARGINtoSymbol
must be sent when type are MARGIN_ISOLATEDMARGIN and ISOLATEDMARGIN_ISOLATEDMARGIN- Support query within the last 6 months only
- If
startTime
andendTime
not sent, return records of the last 7 days by default
#
Funding Wallet (USER_DATA)Response
POST /sapi/v1/asset/get-funding-asset (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | NO | |
needBtcValuation | STRING | NO | true or false |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- Currently supports querying the following business assets:Binance Pay, Binance Card, Binance Gift Card, Stock Token
#
Get API Key Permission (USER_DATA)Response
GET /sapi/v1/account/apiRestrictions (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
Sub-Account Endpoints
- The endpoints documented in this section are for Corporate Accounts.
- To become a corporate account, please refer to this document: Corporate Account Application
#
Create a Virtual Sub-account(For Master Account)Response:
POST /sapi/v1/sub-account/virtualSubAccount (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
subAccountString | STRING | YES | Please input a string. We will create a virtual email using that string for you to register |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- This request will generate a virtual sub account under your master account.
- You need to enable "trade" option for the API Key which requests this endpoint.
#
Query Sub-account List (For Master Account)Response:
GET /sapi/v1/sub-account/list (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | NO | Sub-account email | |
isFreeze | STRING | NO | true or false |
page | INT | NO | Default value: 1 |
limit | INT | NO | Default value: 1, Max value: 200 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Query Sub-account Spot Asset Transfer History (For Master Account)Response:
GET /sapi/v1/sub-account/sub/transfer/history (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
fromEmail | STRING | NO | Sub-account email |
toEmail | STRING | NO | Sub-account email |
startTime | LONG | NO | |
endTime | LONG | NO | |
page | INT | NO | Default value: 1 |
limit | INT | NO | Default value: 500 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- fromEmail and toEmail cannot be sent at the same time.
- Return fromEmail equal master account email by default.
#
Query Sub-account Futures Asset Transfer History (For Master Account)Response
GET /sapi/v1/sub-account/futures/internalTransfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
futuresType | LONG | YES | 1:USDT-margined Futures,2: Coin-margined Futures |
startTime | LONG | NO | Default return the history with in 100 days |
endTime | LONG | NO | Default return the history with in 100 days |
page | INT | NO | Default value: 1 |
limit | INT | NO | Default value: 50, Max value: 500 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Sub-account Futures Asset Transfer (For Master Account)Response
POST /sapi/v1/sub-account/futures/internalTransfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
fromEmail | STRING | YES | Sender email |
toEmail | STRING | YES | Recipient email |
futuresType | LONG | YES | 1:USDT-margined Futures,2: Coin-margined Futures |
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- Master account can transfer max 2000 times a minute
#
Query Sub-account Assets (For Master Account)Response:
GET /sapi/v3/sub-account/assets (HMAC SHA256)
Fetch sub-account assets
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Query Sub-account Spot Assets Summary (For Master Account)Response:
Get BTC valued asset summary of subaccounts.
GET /sapi/v1/sub-account/spotSummary (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | NO | Sub account email | |
page | LONG | NO | default 1 |
size | LONG | NO | default 10, max 20 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Sub-account Deposit Address (For Master Account)Response:
GET /sapi/v1/capital/deposit/subAddress (HMAC SHA256)
Fetch sub-account deposit address
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub account email | |
coin | STRING | YES | |
network | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Sub-account Deposit History (For Master Account)Response:
GET /sapi/v1/capital/deposit/subHisrec (HMAC SHA256)
Fetch sub-account deposit history
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub account email | |
coin | STRING | NO | |
status | INT | NO | 0(0:pending,6: credited but cannot withdraw, 1:success) |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | |
offset | INT | NO | default:0 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Sub-account's Status on Margin/Futures (For Master Account)Response
GET /sapi/v1/sub-account/status (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | NO | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- If no email sent, all sub-accounts' information will be returned.
#
Enable Margin for Sub-account (For Master Account)Response
POST /sapi/v1/sub-account/margin/enable (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Detail on Sub-account's Margin Account (For Master Account)Response
GET /sapi/v1/sub-account/margin/account (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Summary of Sub-account's Margin Account (For Master Account)Response
GET /sapi/v1/sub-account/margin/accountSummary (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Enable Futures for Sub-account (For Master Account)Response
POST /sapi/v1/sub-account/futures/enable (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Detail on Sub-account's Futures Account (For Master Account)Response
GET /sapi/v1/sub-account/futures/account (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Summary of Sub-account's Futures Account (For Master Account)Response
GET /sapi/v1/sub-account/futures/accountSummary (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Futures Position-Risk of Sub-account (For Master Account)Response
GET /sapi/v1/sub-account/futures/positionRisk (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Futures Transfer for Sub-account (For Master Account)Response
POST /sapi/v1/sub-account/futures/transfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
asset | STRING | YES | The asset being transferred, e.g., USDT |
amount | DECIMAL | YES | The amount to be transferred |
type | INT | YES | 1: transfer from subaccount's spot account to its USDT-margined futures account 2: transfer from subaccount's USDT-margined futures account to its spot account 3: transfer from subaccount's spot account to its COIN-margined futures account 4:transfer from subaccount's COIN-margined futures account to its spot account |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Margin Transfer for Sub-account (For Master Account)Response
POST /sapi/v1/sub-account/margin/transfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
asset | STRING | YES | The asset being transferred, e.g., BTC |
amount | DECIMAL | YES | The amount to be transferred |
type | INT | YES | 1: transfer from subaccount's spot account to margin account 2: transfer from subaccount's margin account to its spot account |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Transfer to Sub-account of Same Master (For Sub-account)Response
POST /sapi/v1/sub-account/transfer/subToSub (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
toEmail | STRING | YES | Sub-account email |
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Transfer to Master (For Sub-account)Response
POST /sapi/v1/sub-account/transfer/subToMaster (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Sub-account Transfer History (For Sub-account)Response
GET /sapi/v1/sub-account/transfer/subUserHistory (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | NO | If not sent, result of all assets will be returned |
type | INT | NO | 1: transfer in, 2: transfer out |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- If type is not sent, the records of type 2: transfer out will be returned by default.
- If startTime and endTime are not sent, the recent 30-day data will be returned.
#
Universal Transfer (For Master Account)Response
POST /sapi/v1/sub-account/universalTransfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
fromEmail | STRING | NO | |
toEmail | STRING | NO | |
fromAccountType | STRING | YES | "SPOT","USDT_FUTURE","COIN_FUTURE" |
toAccountType | STRING | YES | "SPOT","USDT_FUTURE","COIN_FUTURE" |
clientTranId | STRING | NO | Must be unique |
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- You need to enable "internal transfer" option for the api key which requests this endpoint.
- Transfer from master account by default if fromEmail is not sent.
- Transfer to master account by default if toEmail is not sent.
- Transfer between futures accounts is not supported.
#
Query Universal Transfer History (For Master Account)Response
GET /sapi/v1/sub-account/universalTransfer (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
fromEmail | STRING | NO | |
toEmail | STRING | NO | |
clientTranId | STRING | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
page | INT | NO | Default 1 |
limit | INT | NO | Default 500, Max 500 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- fromEmail and toEmail cannot be sent at the same time.
- Return fromEmail equal master account email by default.
- Only get the latest history of past 30 days.
#
Get Detail on Sub-account's Futures Account V2 (For Master Account)Response
USDT Margined Futures:
COIN Margined Futures:
GET /sapi/v2/sub-account/futures/account (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
futuresType | INT | YES | 1:USDT Margined Futures, 2:COIN Margined Futures |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Summary of Sub-account's Futures Account V2 (For Master Account)Response
USDT Margined Futures:
COIN Margined Futures:
GET /sapi/v2/sub-account/futures/accountSummary (HMAC SHA256)
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
futuresType | INT | YES | 1:USDT Margined Futures, 2:COIN Margined Futures |
page | INT | NO | default:1 |
limit | INT | NO | default:10, max:20 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get Futures Position-Risk of Sub-account V2 (For Master Account)Response
USDT Margined Futures:
COIN Margined Futures:
GET /sapi/v2/sub-account/futures/positionRisk (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
futuresType | INT | YES | 1:USDT Margined Futures, 2:COIN Margined Futures |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Enable Leverage Token for Sub-account (For Master Account)Response
POST /sapi/v1/sub-account/blvt/enable (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
enableBlvt | BOOLEAN | YES | Only true for now |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Enable or Disable IP Restriction for a Sub-account API Key (For Master Account)Response:
POST /sapi/v1/sub-account/subAccountApi/ipRestriction (HMAC SHA256)
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
subAccountApiKey | STRING | YES | |
ipRestrict | BOOLEAN | YES | true or false |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Add IP List for a Sub-account API Key (For Master Account)Response:
POST /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList (HMAC SHA256)
Before the usage of this endpoint, please ensure POST /sapi/v1/sub-account/subAccountApi/ipRestriction
was used to enable the IP restriction
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
subAccountApiKey | STRING | YES | |
ipAddress | STRING | YES | Can be added in batches, separated by commas. Max 30 for an API key |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Get IP Restriction for a Sub-account API Key (For Master Account)Response:
GET /sapi/v1/sub-account/subAccountApi/ipRestriction (HMAC SHA256)
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
subAccountApiKey | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Delete IP List for a Sub-account API Key (For Master Account)Response:
DELETE /sapi/v1/sub-account/subAccountApi/ipRestriction/ipList (HMAC SHA256)
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | Sub-account email | |
subAccountApiKey | STRING | YES | |
ipAddress | STRING | YES | Can be added in batches, separated by commas |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Deposit assets into the managed sub-account(For Investor Master Account)Response
POST /sapi/v1/managed-subaccount/deposit (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
toEmail | STRING | YES | |
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Query managed sub-account asset details(For Investor Master Account)Response
GET /sapi/v1/managed-subaccount/asset (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
STRING | YES | ||
recvWindow | LONG | NO | |
timestamp | LONG | YES |
#
Withdrawl assets from the managed sub-account(For Investor Master Account)Response
POST /sapi/v1/managed-subaccount/withdraw (HMAC SHA256)
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
fromEmail | STRING | YES | |
asset | STRING | YES | |
amount | DECIMAL | YES | |
transferDate | LONG | NO | Withdrawals is automatically occur on the transfer date(UTC0). If a date is not selected, the withdrawal occurs right now |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
Market Data Endpoints
#
Test ConnectivityResponse:
GET /api/v3/ping
Test connectivity to the Rest API.
Weight(IP): 1
Parameters:
NONE
Data Source: Memory
#
Check Server TimeResponse:
GET /api/v3/time
Test connectivity to the Rest API and get the current server time.
Weight(IP): 1
Parameters:
NONE
Data Source: Memory
#
Exchange InformationResponse:
GET /api/v3/exchangeInfo
Current exchange trading rules and symbol information
Weight(IP): 10
Parameters:
There are 3 possible options:
Options | Example |
---|---|
No parameter | curl -X GET "https://api.binance.com/api/v3/exchangeInfo" |
symbol | curl -X GET "https://api.binance.com/api/v3/exchangeInfo?symbol=BNBBTC" |
symbols | curl -X GET "https://api.binance.com/api/v3/exchangeInfo?symbols=%5B%22BNBBTC%22,%22BTCUSDT%22%5D" or curl -g GET 'https://api.binance.com/api/v3/exchangeInfo?symbols=["BTCUSDT","BNBBTC"]' |
If any symbol provided in either symbol
or symbols
do not exist, the endpoint will throw an error.
Data Source: Memory
#
Order BookResponse:
GET /api/v3/depth
Weight(IP):
Adjusted based on the limit:
Limit | Weight |
---|---|
5, 10, 20, 50, 100 | 1 |
500 | 5 |
1000 | 10 |
5000 | 50 |
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
limit | INT | NO | Default 100; max 5000. Valid limits:[5, 10, 20, 50, 100, 500, 1000, 5000] |
Data Source: Memory
#
Recent Trades ListResponse:
GET /api/v3/trades
Get recent trades.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
limit | INT | NO | Default 500; max 1000. |
Data Source: Memory
#
Old Trade Lookup (MARKET_DATA)Response:
GET /api/v3/historicalTrades
Get older market trades.
Weight(IP): 5
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
limit | INT | NO | Default 500; max 1000. |
fromId | LONG | NO | Trade id to fetch from. Default gets most recent trades. |
Data Source: Database
#
Compressed/Aggregate Trades ListResponse:
GET /api/v3/aggTrades
Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
fromId | LONG | NO | id to get aggregate trades from INCLUSIVE. |
startTime | LONG | NO | Timestamp in ms to get aggregate trades from INCLUSIVE. |
endTime | LONG | NO | Timestamp in ms to get aggregate trades until INCLUSIVE. |
limit | INT | NO | Default 500; max 1000. |
- If startTime and endTime are sent, time between startTime and endTime must be less than 1 hour.
- If fromId, startTime, and endTime are not sent, the most recent aggregate trades will be returned.
Data Source: Database
#
Kline/Candlestick DataResponse:
GET /api/v3/klines
Kline/candlestick bars for a symbol.
Klines are uniquely identified by their open time.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
interval | ENUM | YES | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500; max 1000. |
- If startTime and endTime are not sent, the most recent klines are returned.
Data Source: Database
#
Current Average PriceResponse:
GET /api/v3/avgPrice
Current average price for a symbol.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES |
Data Source: Memory
#
24hr Ticker Price Change StatisticsResponse:
OR
GET /api/v3/ticker/24hr
24 hour rolling window price change statistics. Careful when accessing this with no symbol.
Weight(IP):
1 for a single symbol;
40 when the symbol parameter is omitted;
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | NO |
- If the symbol is not sent, tickers for all symbols will be returned in an array.
Data Source: Memory
#
Symbol Price TickerResponse:
OR
GET /api/v3/ticker/price
Latest price for a symbol or symbols.
Weight(IP):
1 for a single symbol;
2 when the symbol parameter is omitted;
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | NO |
- If the symbol is not sent, prices for all symbols will be returned in an array.
Data Source: Memory
#
Symbol Order Book TickerResponse:
OR
GET /api/v3/ticker/bookTicker
Best price/qty on the order book for a symbol or symbols.
Weight(IP):
1 for a single symbol;
2 when the symbol parameter is omitted;
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | NO |
- If the symbol is not sent, bookTickers for all symbols will be returned in an array.
Data Source: Memory
Websocket Market Streams
- The base endpoint is: wss://stream.binance.com:9443
- Streams can be accessed either in a single raw stream or in a combined stream
- Raw streams are accessed at /ws/\<streamName>
- Combined streams are accessed at /stream?streams=\<streamName1>/\<streamName2>/\<streamName3>
- Combined stream events are wrapped as follows: {"stream":"\<streamName>","data":\<rawPayload>}
- All symbols for streams are lowercase
- A single connection to stream.binance.com is only valid for 24 hours; expect to be disconnected at the 24 hour mark
- The websocket server will send a
ping frame
every 3 minutes. If the websocket server does not receive apong frame
back from the connection within a 10 minute period, the connection will be disconnected. Unsolicitedpong frames
are allowed.
#
Live Subscribing/Unsubscribing to streams- The following data can be sent through the websocket instance in order to subscribe/unsubscribe from streams. Examples can be seen below.
- The
id
used in the JSON payloads is an unsigned INT used as an identifier to uniquely identify the messages going back and forth. - In the response, if the
result
received isnull
this means the request sent was a success.
#
Subscribe to a streamResponse
Request
"method": "SUBSCRIBE",
"params":
[
"btcusdt@aggTrade",
"btcusdt@depth"
],
"id": 1
}
#
Unsubscribe to a streamResponse
Request
{
"method": "UNSUBSCRIBE",
"params":
[
"btcusdt@depth"
],
"id": 312
}
#
Listing SubscriptionsResponse
Request
{
"method": "LIST_SUBSCRIPTIONS",
"id": 3
}
#
Setting PropertiesCurrently, the only property can be set is to set whether combined
stream payloads are enabled or not.
The combined property is set to false
when connecting using /ws/
("raw streams") and true
when connecting using /stream/
.
Response
Request
{
"method": "SET_PROPERTY",
"params":
[
"combined",
true
],
"id": 5
}
#
Retrieving PropertiesResponse
Request
{
"method": "GET_PROPERTY",
"params":
[
"combined"
],
"id": 2
}
#
Error MessagesError Message | Description |
---|---|
{"code": 0, "msg": "Unknown property", "id": '%s'} | Parameter used in the SET_PROPERTY or GET_PROPERTY was invalid |
{"code": 1, "msg": "Invalid value type: expected Boolean", "id": '%s'} | Value should only be true or false |
{"code": 2, "msg": "Invalid request: property name must be a string"} | Property name provided was invalid |
{"code": 2, "msg": "Invalid request: request ID must be an unsigned integer"} | Parameter id had to be provided or the value provided in the id parameter is an unsupported type |
{"code": 2, "msg": "Invalid request: unknown variant %s, expected one of SUBSCRIBE , UNSUBSCRIBE , LIST_SUBSCRIPTIONS , SET_PROPERTY , GET_PROPERTY at line 1 column 28"} | Possible typo in the provided method or provided method was neither of the expected values |
{"code": 2, "msg": "Invalid request: too many parameters"} | Unnecessary parameters provided in the data |
{"code": 2, "msg": "Invalid request: property name must be a string"} | Property name was not provided |
{"code": 2, "msg": "Invalid request: missing field method at line 1 column 73"} | method was not provided in the data |
{"code":3,"msg":"Invalid JSON: expected value at line %s column %s"} | JSON data sent has incorrect syntax. |
#
Aggregate Trade StreamsPayload:
The Aggregate Trade Streams push trade information that is aggregated for a single taker order.
Stream Name: <symbol>@aggTrade
Update Speed: Real-time
#
Trade StreamsPayload:
The Trade Streams push raw trade information; each trade has a unique buyer and seller.
Stream Name: <symbol>@trade
Update Speed: Real-time
#
Kline/Candlestick StreamsPayload:
The Kline/Candlestick Stream push updates to the current klines/candlestick every second.
Stream Name: <symbol>@kline_<interval>
Update Speed: 2000ms
Kline/Candlestick chart intervals:
m -> minutes; h -> hours; d -> days; w -> weeks; M -> months
- 1m
- 3m
- 5m
- 15m
- 30m
- 1h
- 2h
- 4h
- 6h
- 8h
- 12h
- 1d
- 3d
- 1w
- 1M
#
Individual Symbol Mini Ticker StreamPayload:
24hr rolling window mini-ticker statistics. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs.
Stream Name: <symbol>@miniTicker
Update Speed: 1000ms
#
All Market Mini Tickers StreamPayload:
24hr rolling window mini-ticker statistics for all symbols that changed in an array. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs. Note that only tickers that have changed will be present in the array.
Stream Name: !miniTicker@arr
Update Speed: 1000ms
#
Individual Symbol Ticker StreamsPayload:
24hr rolling window ticker statistics for a single symbol. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs.
Stream Name: <symbol>@ticker
Update Speed: 1000ms
#
All Market Tickers StreamPayload:
24hr rolling window ticker statistics for all symbols that changed in an array. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs. Note that only tickers that have changed will be present in the array.
Stream Name: !ticker@arr
Update Speed: 1000ms
#
Individual Symbol Book Ticker StreamsPayload:
Pushes any update to the best bid or ask's price or quantity in real-time for a specified symbol.
Stream Name: <symbol>@bookTicker
Update Speed: Real-time
#
All Book Tickers StreamPayload:
Pushes any update to the best bid or ask's price or quantity in real-time for all symbols.
Stream Name: !bookTicker
Update Speed: Real-time
#
Partial Book Depth StreamsPayload:
Top <levels> bids and asks, Valid <levels> are 5, 10, or 20.
Stream Names: <symbol>@depth<levels>
OR <symbol>@depth<levels>@100ms
.
Update Speed: 1000ms or 100ms
#
Diff. Depth StreamPayload:
Stream Name: <symbol>@depth
OR <symbol>@depth@100ms
Update Speed: 1000ms or 100ms
Order book price and quantity depth updates used to locally manage an order book.
#
How to manage a local order book correctly- Open a stream to wss://stream.binance.com:9443/ws/bnbbtc@depth.
- Buffer the events you receive from the stream.
- Get a depth snapshot from https://api.binance.com/api/v3/depth?symbol=BNBBTC&limit=1000 .
- Drop any event where
u
is <=lastUpdateId
in the snapshot. - The first processed event should have
U
<=lastUpdateId
+1 ANDu
>=lastUpdateId
+1. - While listening to the stream, each new event's
U
should be equal to the previous event'su
+1. - The data in each event is the absolute quantity for a price level.
- If the quantity is 0, remove the price level.
- Receiving an event that removes a price level that is not in your local order book can happen and is normal.
Spot Account/Trade
#
Test New Order (TRADE)Response:
POST /api/v3/order/test (HMAC SHA256)
Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine.
Weight: 1
Parameters:
Same as POST /api/v3/order
Data Source: Memory
#
New Order (TRADE)Response ACK:
Response RESULT:
Response FULL:
POST /api/v3/order (HMAC SHA256)
Send in a new order.
Weight(UID): 1 Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
side | ENUM | YES | |
type | ENUM | YES | |
timeInForce | ENUM | NO | |
quantity | DECIMAL | NO | |
quoteOrderQty | DECIMAL | NO | |
price | DECIMAL | NO | |
newClientOrderId | STRING | NO | A unique id among open orders. Automatically generated if not sent. |
stopPrice | DECIMAL | NO | Used with STOP_LOSS , STOP_LOSS_LIMIT , TAKE_PROFIT , and TAKE_PROFIT_LIMIT orders. |
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 . |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Additional mandatory parameters based on type
:
Type | Additional mandatory parameters |
---|---|
LIMIT | timeInForce , quantity , price |
MARKET | quantity or quoteOrderQty |
STOP_LOSS | quantity , stopPrice |
STOP_LOSS_LIMIT | timeInForce , quantity , price , stopPrice |
TAKE_PROFIT | quantity , stopPrice |
TAKE_PROFIT_LIMIT | timeInForce , quantity , price , stopPrice |
LIMIT_MAKER | quantity , price |
Other info:
LIMIT_MAKER
areLIMIT
orders that will be rejected if they would immediately match and trade as a taker.STOP_LOSS
andTAKE_PROFIT
will execute aMARKET
order when thestopPrice
is reached.- Any
LIMIT
orLIMIT_MAKER
type order can be made an iceberg order by sending anicebergQty
. - Any order with an
icebergQty
MUST havetimeInForce
set toGTC
. MARKET
orders using thequantity
field specifies the amount of thebase asset
the user wants to buy or sell at the market price.- For example, sending a
MARKET
order on BTCUSDT will specify how much BTC the user is buying or selling.
- For example, sending a
MARKET
orders usingquoteOrderQty
specifies the amount the user wants to spend (when buying) or receive (when selling) thequote
asset; the correctquantity
will be determined based on the market liquidity andquoteOrderQty
.- Using BTCUSDT as an example:
- On the
BUY
side, the order will buy as many BTC asquoteOrderQty
USDT can. - On the
SELL
side, the order will sell as much BTC needed to receivequoteOrderQty
USDT.
- On the
- Using BTCUSDT as an example:
MARKET
orders usingquoteOrderQty
will not breakLOT_SIZE
filter rules; the order will execute aquantity
that will have the notional value as close as possible toquoteOrderQty
.- same
newClientOrderId
can be accepted only when the previous one is filled, otherwise the order will be rejected.
Trigger order price rules against market price for both MARKET and LIMIT versions:
- Price above market price:
STOP_LOSS
BUY
,TAKE_PROFIT
SELL
- Price below market price:
STOP_LOSS
SELL
,TAKE_PROFIT
BUY
Data Source: Matching Engine
#
Cancel Order (TRADE)Response:
DELETE /api/v3/order (HMAC SHA256)
Cancel an active order.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
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 | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Either orderId
or origClientOrderId
must be sent.
Data Source: Matching Engine
#
Cancel all Open Orders on a Symbol (TRADE)Response:
DELETE /api/v3/openOrders
Cancels all active orders on a symbol.undefined This includes OCO orders.
Weight(IP): 1
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Matching Engine
#
Query Order (USER_DATA)Response:
GET /api/v3/order (HMAC SHA256)
Check an order's status.
Weight(IP): 2
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Notes:
- Either
orderId
ororigClientOrderId
must be sent. - For some historical orders
cummulativeQuoteQty
will be < 0, meaning the data is not available at this time.
Data Source: Database
#
Current Open Orders (USER_DATA)Response:
GET /api/v3/openOrders (HMAC SHA256)
Get all open orders on a symbol. Careful when accessing this with no symbol.
Weight(IP): 3 for a single symbol; 40 when the symbol parameter is omitted;
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
- If the symbol is not sent, orders for all symbols will be returned in an array.
Data Source: Database
#
All Orders (USER_DATA)Response:
GET /api/v3/allOrders (HMAC SHA256)
Get all account orders; active, canceled, or filled.
Weight(IP): 10 with symbol
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500; max 1000. |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Notes:
- If
orderId
is set, it will get orders >= thatorderId
. Otherwise most recent orders are returned. - For some historical orders
cummulativeQuoteQty
will be < 0, meaning the data is not available at this time. - If
startTime
and/orendTime
provided,orderId
is not required.
Data Source: Database
#
New OCO (TRADE)Response:
POST /api/v3/order/oco (HMAC SHA256)
Send in a new OCO
Weight(UID): 2 Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
listClientOrderId | STRING | NO | A unique Id for the entire orderList |
side | ENUM | YES | |
quantity | DECIMAL | YES | |
limitClientOrderId | STRING | NO | A unique Id for the limit order |
price | DECIMAL | YES | |
limitIcebergQty | DECIMAL | NO | |
stopClientOrderId | STRING | NO | A unique Id for the stop loss/stop loss limit leg |
stopPrice | DECIMAL | YES | |
stopLimitPrice | DECIMAL | NO | If provided, stopLimitTimeInForce is required. |
stopIcebergQty | DECIMAL | NO | |
stopLimitTimeInForce | ENUM | NO | Valid values are GTC /FOK /IOC |
newOrderRespType | ENUM | NO | Set the response JSON. |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Other Info:
- Price Restrictions:
SELL
: Limit Price > Last Price > Stop PriceBUY
: Limit Price < Last Price < Stop Price
- Quantity Restrictions:
- Both legs must have the same quantity
ICEBERG
quantities however do not have to be the same.
- Order Rate Limit
OCO
counts as 2 orders against the order rate limit.
Data Source: Matching Engine
#
Cancel OCO (TRADE)Response:
DELETE /api/v3/orderList (HMAC SHA256)
Cancel an entire Order List.
Weight(IP): 1
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
orderListId | LONG | NO | Either orderListId or listClientOrderId must be provided |
listClientOrderId | STRING | NO | Either orderListId or listClientOrderId must be provided |
newClientOrderId | STRING | NO | Used to uniquely identify this cancel. Automatically generated by default |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Additional notes:
- Canceling an individual leg will cancel the entire OCO
Data Source: Matching Engine
#
Query OCO (USER_DATA)Response:
GET /api/v3/orderList (HMAC SHA256)
Retrieves a specific OCO based on provided optional parameters
Weight(IP): 2
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
orderListId | LONG | NO | Either orderListId or origClientOrderId must be provided |
origClientOrderId | STRING | NO | Either orderListId or origClientOrderId must be provided |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Database
#
Query all OCO (USER_DATA)Response:
GET /api/v3/allOrderList (HMAC SHA256)
Retrieves all OCO based on provided optional parameters
Weight(IP): 10
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
fromId | LONG | NO | If supplied, neither startTime or endTime can be provided |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default Value: 500; Max Value: 1000 |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Database
#
Query Open OCO (USER_DATA)Response:
GET /api/v3/openOrderList (HMAC SHA256)
Weight(IP): 3
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Database
#
Account Information (USER_DATA)Response:
GET /api/v3/account (HMAC SHA256)
Get current account information.
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Memory => Database
#
Account Trade List (USER_DATA)Response:
GET /api/v3/myTrades (HMAC SHA256)
Get trades for a specific account and symbol.
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | This can only be used in combination with symbol . |
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 | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Notes:
- If
fromId
is set, it will get id >= thatfromId
. Otherwise most recent trades are returned.
Data Source: Database
#
Query Current Order Count Usage (TRADE)Response:
GET /api/v3/rateLimit/order
Displays the user's current order count usage for all intervals.
Weight(IP): 20
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
Data Source: Memory
Margin Account/Trade
#
Cross Margin Account Transfer (MARGIN)Response:
POST /sapi/v1/margin/transfer (HMAC SHA256)
Execute transfer between spot account and cross margin account.
Weight(IP): 600
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
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 cross margin account 2: transfer from cross margin account to main account |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
#
Margin Account Borrow (MARGIN)Response:
POST /sapi/v1/margin/loan (HMAC SHA256)
Apply for a loan.
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | YES | |
isIsolated | STRING | NO | for isolated margin or not, "TRUE", "FALSE",default "FALSE" |
symbol | STRING | NO | isolated symbol |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
- If "isIsolated" = "TRUE", "symbol" must be sent
- "isIsolated" = "FALSE" for crossed margin loan
#
Margin Account Repay (MARGIN)Response:
POST /sapi/v1/margin/repay (HMAC SHA256)
Repay loan for margin account.
Weight(UID): 3000
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | YES | |
isIsolated | STRING | NO | for isolated margin or not, "TRUE", "FALSE",default "FALSE" |
symbol | STRING | NO | isolated symbol |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | The value cannot be greater than 60000 |
timestamp | LONG | YES |
- If "isIsolated" = "TRUE", "symbol" must be sent
- "isIsolated" = "FALSE" for crossed margin repay
#
Query Margin Asset (MARKET_DATA)Response:
GET /sapi/v1/margin/asset
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
asset | STRING | YES |
#
Query Cross Margin Pair (MARKET_DATA)Response:
GET /sapi/v1/margin/pair
Weight(IP): 10
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
symbol | STRING | YES |
#
Get All Margin Assets (MARKET_DATA)Response:
GET /sapi/v1/margin/allAssets
Weight(IP): 1
Parameters:
None
#
Get All Cross Margin Pairs (MARKET_DATA)Response: