REST API
BaseUrl: https://openapi.digifinex.com/swap/v2
Public endpoint
- server time
- api weight
- Instruments
- Instrument
- OrderBook
- RecentTrades
- Ticker
- Tickers
- RecentCandle
- CurrentFundingRate
- CandleHistory
- FundingRateHistory
Private endpoint
account
- AccountBalance
- AccountTransfer
- Positions
- PositionMode
- PositionMargin
- SetLeverage
- TradingFee
- Bills
- Funding Fee
- TransferRecord
trade
copy trading
- ExpertSponsorOrder
- CloseOrder
- CancelCurrentOrder
- UserCenterCurrent
- UserCenterHistory
- ExpertCurrentOpenOrder
- AddStopProfitOrderOrStopLossOrder
- CancelStopLossOrStopProfitOrder
- AccountAvailableBalance
- PlanCommissionList
- InstrumentList
Authentication
Making Requests
All private REST requests must contain the following headers:
ACCESS-KEY
The APIKey as a String.ACCESS-SIGN
The hex-encoded signature (see Signing Messages subsection for details).ACCESS-TIMESTAMP
The milliseconds since UNIX epoch of your request. e.g.1657522488402
Signature
The ACCESS-SIGN
header is generated as follows:
- Create a prehash string of
timestamp
+method
+requestPath
+body
(where + represents String concatenation). - Prepare the SecretKey.
- Sign the prehash string with the SecretKey using the HMAC SHA256.
- Encode the signature in the hex format.
Example: sign=CryptoJS.HmacSHA256(timestamp + 'GET' + '/swap/v2/positions?instrument_id=BTCUSDTPERP', ApiSecret).toString(Hex)
The timestamp
value is the same as the ACCESS-TIMESTAMP
header with millisecond as a string, e.g. 1657522488402
.
The request method should be in UPPERCASE: e.g. GET
and POST
.
The requestPath
is the path of requesting an endpoint. Example: /swap/v2/positions?instrument_id=BTCUSDTPERP
The body
refers to the String of the request body. It can be omitted if there is no request body (frequently the case for GET
requests).
Example: {"instrument_id":"BTCUSDTPERP","leverage":"20","side":"1"}
The SecretKey
is generated when you create an APIKey.
Example: ffd4e900015bdfaf5a72aa06f5612290df25c23a78
RateLimit
- Public endpoint must observe IP limits rule, private endpoint must observe account and APIKey limits rule.
- There has
total weight
every minute for each IP/account/APIKey, every route has differentweight
. - 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 403).
- There will be a retry-after field in the response header while over request weight.
- IP/account/APIKey bans are tracked and scale in duration for repeat offenders, from 2 minutes to 1 day.
IP Limits
- Every public request will contain
ip-weight-minute-use
in the response headers which has the current used weight for the IP for all request rate limiters defined. - Every public request will contain
ip-weight-minute-remain
in the response headers which has the current remain weight for the IP for all request rate limiters defined.
Account Limits
- Every private request will contain
account-weight-minute-use
in the response headers which has the current used weight for the account for all request rate limiters defined. - Every private request will contain
account-weight-minute-remain
in the response headers which has the current remain weight for the account for all request rate limiters defined.
APIKey Limits
- Every private request will contain
apikey-weight-minute-use
in the response headers which has the current used weight for the APIKey for all request rate limiters defined. - Every private request will contain
apikey-weight-minute-remain
in the response headers which has the current remain weight for the APIKey for all request rate limiters defined.
ErrorCode
code | message | description |
---|---|---|
0 | success | request success |
400001 | ParamMissing | missing require param |
400002 | ParamInvalid | param invalid |
400003 | InvalidIP | unAuthentication ip |
400004 | InvalidSign | access-sign miss matched |
400005 | PermissionDeny | permission deny |
400006 | InvalidApiKey | invalid api key |
401001 | OrderExist | can not change leverage when exist no finish order |
401002 | OverMaxOpenLimit | position open value over max limit |
401003 | NotEnoughMoney | account balance not enough |
401004 | InstrumentNotTrading | instrument trade is suspended |
401005 | InstrumentMaintain | instrument under maintain |
401006 | InstrumentMinSizeLimit | order size less than mini order size |
401007 | InvalidPricePrecision | price precision invalid |
401008 | MarketTradingNotSupport | current instrument deny market trade |
401009 | MarketNoOrder | market order not support when opponent is empty |
401010 | PriceOverMaxBuyLimit | order price over max buy price |
401011 | PriceBelowMinSellLimit | order price less than min sell price |
401012 | NotEnoughClosePosition | not enough position to close |
401013 | PriceOverLiquidationLimit | order price inferior to liquidation price |
401014 | OrderCountOverLimit | batch order/cancel count over limit (max 20) |
401015 | PositionNotIsolated | can not do this when position mode is not isolated |
401016 | PositionExist | can not do this when position exist |
401017 | PositionNotExist | can not do this when position not exist |
401018 | TransferNotAllow | current transfer request not allowed |
401019 | TransferInRisk | current transfer has entered the risk control process, please contract customer service |
403001 | FrequencyLimit | request reach frequency limit |
403002 | RequestForbidden | request forbidden (repeat requests after reach frequency limit) |
403003 | Disabled | disabled for current user, please contract customer service |
404001 | FollowExpertLocked | expert is locked, can't open position |
404002 | FollowSettleLocked | in the contract settlement, it does not support to sponsor orders |
404003 | FollowInstrumentNotExist | the documentary contract variety is offline or does not exist |
404004 | FollowOrderChangeHasPosition | existing positions, does not support modification of margin mode or leverage |
404005 | FollowOrderChangeHasFollow | existing orders, does not support modification of margin mode or leverage |
404006 | FollowOrderChangeHasOrder | there is already a pending order, which does not support modifying the margin mode or leverage |
404007 | FollowOrderPriceOffsetOverLimit | the price of the order deviates from the mark price a lot, for the sake of your account risk, please reduce the number of open positions |
404008 | FollowOrderStopEarnTriggerPriceLarge | the take profit price must be greater than the order price |
404009 | FollowOrderStopEarnTriggerPriceLess | the take profit price must be less than the order price |
404010 | FollowOrderStopLossTriggerPriceLess | the stop loss price must be lower than the order price |
404011 | FollowOrderStopLossTriggerPriceLarge | the stop loss price must be greater than the order price |
404012 | FollowErrorOrderClosed | the order has been executed to close the position |
404013 | FollowOrderNotExist | order does not exist |
404014 | FollowStopProfitExist | take profit already exists |
404015 | FollowStopLossExist | stop loss already exists |
500001 | SystemError | system error |
500002 | SystemException | system exception, pls retry |
Public endpoint
Server Time
request URL:
GET /swap/v2/public/time
response example
{
"code":0,
"data":1657528968992
}
response param
Parameters | Types | Description |
---|---|---|
code | number | error code |
data | number | milliseconds since UNIX epoch |
Api Weight
request URL:
GET /swap/v2/public/api_weight
response example
{
"code":0,
"data":[
{
"path":"/swap/v2/api_weight",
"weight":1
},
{
"path":"/swap/v2/balance",
"weight":1
}
]
}
response param
Parameters | Types | Description |
---|---|---|
code | number | error code |
- data | object | response data |
path | string | route path |
weight | number | route weight |
Instruments
request URL:
GET /swap/v2/public/instruments
request param
Parameters | Required | Type | Description |
---|---|---|---|
type | no | number | instrument type 1 simulate 2 real default real |
response example
{
"code":0,
"data": [
{
"instrument_id":"BTCUSDT2PERP",
"type":"SIMULATE",
"contract_type":"PERPETUAL",
"base_currency":"BTC",
"quote_currency":"USDT2",
"clear_currency":"USDT2",
"contract_value":"0.001",
"contract_value_currency":"BTC",
"is_inverse": false,
"is_trading":true,
"status":"ONLINE",
"price_precision":4,
"tick_size":"0.0001",
"min_order_amount":1,
"open_max_limits": [
{
"leverage":"20",
"max_limit":"100000000"
}
]},
{
"instrument_id":"EOSUSDT2PERP",
"type":"SIMULATE",
"contract_type":"PERPETUAL",
"base_currency":"EOS",
"quote_currency":"USDT",
"clear_currency":"USDT",
"contract_value":"0.001",
"contract_value_currency":"EOS",
"is_inverse": false,
"is_trading":false,
"status":"ONLINE",
"price_precision":4,
"tick_size":"0.0001",
"min_order_amount":1,
"open_max_limits":[]
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
type | string | instrument type: SIMULATE|REAL |
contract_type | string | contract type: PERPETUAL |
base_currency | string | base currency |
quote_currency | string | quote currency |
clear_currency | string | settlement currency |
contract_value | string | contract value for each size |
contract_value_currency | string | currency for contract value |
is_inverse | boolean | is inverse contract |
is_trading | boolean | trading status |
status | string | contract status: ONLINE|OFFLINE|DELIVERY |
price_precision | number | price precision |
tick_size | string | mini price step |
min_order_amount | number | mini order amount |
- - open_max_limits | object | position max open value limit(position leverage bigger than leverage,position value must not more than limit) |
leverage | string | leverage |
max_limit | string | position max value |
Instrument
request URL:
GET /swap/v2/public/instrument
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
response example
{
"code":0,
"data": {
"instrument_id":"BTCUSDT2PERP",
"type":"SIMULATE",
"contract_type":"PERPETUAL",
"base_currency":"BTC",
"quote_currency":"USDT2",
"clear_currency":"USDT2",
"contract_value":"0.001",
"contract_value_currency":"BTC",
"is_inverse": false,
"is_trading":true,
"status":"ONLINE",
"price_precision":4,
"tick_size":"0.0001",
"min_order_amount":1,
"open_max_limits": [
{
"leverage":"20",
"max_limit":"100000000"
}
]
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
type | string | instrument type: SIMULATE|REAL |
contract_type | string | contract type: PERPETUAL |
base_currency | string | base currency |
quote_currency | string | quote currency |
clear_currency | string | settlement currency |
contract_value | string | contract value for each size |
contract_value_currency | string | currency for contract value |
is_inverse | boolean | is inverse contract |
is_trading | boolean | trading status |
status | string | contract status: ONLINE|OFFLINE|DELIVERY |
price_precision | number | price precision |
tick_size | string | mini price step |
min_order_amount | number | mini order amount |
- - open_max_limits | object | position max open value limit(position leverage bigger than leverage,position value must not more than limit) |
leverage | string | leverage |
max_limit | string | position max value |
OrderBook
request URL:
GET /swap/v2/public/depth
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
limit | no | number | request level: 1-100, default 20 |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"timestamp":1657531507660,
"asks":[
["20609.30",3855],
["20616.18",8565],
["20616.98",4597],
["20617.08",4659],
["20617.18",4519],
["20617.28",5195],
["20617.38",11139],
["20617.48",6117],
["20617.78",11416],
["20617.88",11322]
],
"bids":[
["20588.60",5000],
["20582.32",4637],
["20582.22",4075],
["20582.02",4275],
["20581.82",4606],
["20581.72",3968],
["20581.62",4166],
["20581.52",4246],
["20581.42",4565],
["20581.22",3918]
]
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
timestamp | number | milliseconds since UNIX epoch |
- - asks | object | asks book |
0 | string | price |
1 | number | amount |
- - bids | object | bids book |
0 | string | price |
1 | number | amount |
RecentTrades
request URL:
GET /swap/v2/public/trades
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
limit | no | number | request level: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"instrument_id":"BTCUSDTPERP",
"trade_id":"1546430170401869825",
"direction":"1",
"volume":"10000",
"price":"20541.79",
"trade_time":1657532658564
},
{
"instrument_id":"BTCUSDTPERP",
"trade_id":"1546430159257604097",
"direction":"3",
"volume":"967",
"price":"20542.54",
"trade_time":1657532655907
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
trade_id | string | trade id |
direction | string | order direction 1:Open Long 2:Open Short 3:Close Long 4:Close Short |
volume | string | trade volume |
price | string | trade price |
trade_time | number | milliseconds since UNIX epoch |
Ticker
request URL:
GET /swap/v2/public/ticker
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
response example
{
"code":0,
"data": {
"instrument_id":"BTCUSDTPERP",
"index_price":"20529.49",
"mark_price":"20533.91",
"max_buy_price":"25661.54",
"min_sell_price":"15396.92",
"best_bid":"20523.73",
"best_bid_size":"4000",
"best_ask":"20544.37",
"best_ask_size":"3080",
"high_24h":"21351.41",
"open_24h":"21308.4",
"low_24h":"20373.31",
"last":"20528.33",
"last_qty":"10000",
"volume_24h":"135526503",
"price_change_percent":"-0.036608567513281134",
"open_interest":"12344.55",
"timestamp":1657533359744
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
index_price | string | index price |
mark_price | string | mark price |
max_buy_price | string | max buy price |
min_sell_price | string | min sell price |
best_bid | string | best bid price |
best_bid_size | string | best bid volume |
best_ask | string | best ask price |
best_ask_size | string | best ask volume |
high_24h | string | highest trade price since 24 hours ago |
open_24h | string | 24 hours ago trade price |
low_24h | string | lowest trade price since 24 hours ago |
last | string | last trade price |
last_qty | string | last trade volume |
volume_24h | string | total trade volume since 24 hours ago |
price_change_percent | string | price change percent from 24 hours ago to now |
open_interest | string | open interest |
timestamp | number | milliseconds since UNIX epoch |
Tickers
request URL:
GET /swap/v2/public/tickers
request param
Parameters | Required | Type | Description |
---|---|---|---|
type | no | number | instrument type 1 simulate 2 real default real |
response example
{
"code":0,
"data": [
{
"instrument_id":"BTCUSDTPERP",
"index_price":"20529.49",
"mark_price":"20533.91",
"max_buy_price":"25661.54",
"min_sell_price":"15396.92",
"best_bid":"20523.73",
"best_bid_size":"4000",
"best_ask":"20544.37",
"best_ask_size":"3080",
"high_24h":"21351.41",
"open_24h":"21308.4",
"low_24h":"20373.31",
"last":"20528.33",
"last_qty":"10000",
"volume_24h":"135526503",
"price_change_percent":"-0.036608567513281134",
"open_interest":"-",
"timestamp":1657533359744
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
index_price | string | index price |
mark_price | string | mark price |
max_buy_price | string | max buy price |
min_sell_price | string | min sell price |
best_bid | string | best bid price |
best_bid_size | string | best bid volume |
best_ask | string | best ask price |
best_ask_size | string | best ask volume |
high_24h | string | highest trade price since 24 hours ago |
open_24h | string | 24 hours ago trade price |
low_24h | string | lowest trade price since 24 hours ago |
last | string | last trade price |
last_qty | string | last trade volume |
volume_24h | string | total trade volume since 24 hours ago |
price_change_percent | string | price change percent from 24 hours ago to now |
open_interest | string | ignore |
timestamp | number | milliseconds since UNIX epoch |
RecentCandle
request URL:
GET /swap/v2/public/candles
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
granularity | yes | string | candle granularity: 1m 5m 15m 30m 1h 4h 12h 1d 1w |
limit | yes | number | return raws: 1-100, default 20 |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"granularity":"15m",
"candles":[
[1657536300000,"20596.79","20597.39","20564.8","20590.31","559516","559.516"],
[1657535400000,"20590.36","20598.41","20558.41","20593.17","1638892","1638.892"]
]
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
granularity | string | candle granularity: 1m 5m 15m 30m 1h 4h 12h 1d 1w |
- - candles | object | candle list |
0 | number | milliseconds since UNIX epoch (candle start) |
1 | string | open price |
2 | string | highest price |
3 | string | lowest price |
4 | string | close price |
5 | string | trade volume |
6 | string | token trade num |
CurrentFundingRate
request URL:
GET /swap/v2/public/funding_rate
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"funding_rate":"-0.001",
"funding_time":1657612800000,
"next_funding_rate":"-0.001",
"next_funding_time":1657641600000
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
funding_rate | string | current funding rate |
funding_time | number | settlement time,milliseconds since UNIX epoch |
next_funding_rate | string | forecasted funding rate for the next period |
next_funding_time | number | funding time for the next period, milliseconds since UNIX epoch |
CandleHistory
request URL:
GET /swap/v2/public/candles_history
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
granularity | yes | string | candle granularity: 1m 5m 15m 30m 1h 4h 12h 1d 1w |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"granularity":"15m",
"candles":[
[1653994800000,"31660.34","31749.37","31587.91","31734.43","105048","105.048"],
[1653995700000,"31736.57","31739.48","31603.44","31603.96","140370","140.37"]
]
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
granularity | string | candle granularity: 1m 5m 15m 30m 1h 4h 12h 1d 1w |
- - candles | object | candle list |
0 | number | milliseconds since UNIX epoch (candle start) |
1 | string | open price |
2 | string | highest price |
3 | string | lowest price |
4 | string | close price |
5 | string | trade volume |
6 | string | token trade num |
FundingRateHistory
request URL:
GET /swap/v2/public/funding_rate_history
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"funding_rates":[
{"rate":"0.0001","time":1598572800000},
{"rate":"0.0001","time":1598601600000}
]
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
- - funding_rates | object | funding rate list |
rate | string | funding rate |
time | number | settlement time |
Private Endpoint
Account
The API endpoint of Account require authentication.
AccountBalance
request URL:
GET /swap/v2/account/balance
request param
Parameters | Required | Type | Description |
---|---|---|---|
type | no | number | instrument type: 1 Simulate 2 Real |
currency | no | string | currency, currency has higher priority than type |
response example
{
"code":0,
"data":[
{
"equity":"1298.9254006988704274",
"currency":"BTC",
"margin":"0",
"cross_margin": "0",
"isolate_margin": "0",
"isolate_balance": "0",
"frozen_margin":"0",
"frozen_money":"0",
"margin_ratio":"10000",
"realized_pnl":"0.0514979253627392",
"avail_balance":"1298.9254006988704274",
"unrealized_pnl":"0",
"isolate_unrealized_pnl":"0",
"time_stamp":1639624873000
},
{
"equity":"0.0099961852826424",
"currency":"ETH",
"margin":"0",
"cross_margin": "0",
"isolate_margin": "0",
"isolate_balance": "0",
"frozen_margin":"0",
"frozen_money":"0",
"margin_ratio":"10000",
"realized_pnl":"0",
"avail_balance":"0.0099961852826424",
"unrealized_pnl":"0",
"isolate_unrealized_pnl":"0",
"time_stamp":1657505449431
},
{
"equity":"9999837682.4619548530064563",
"currency":"USDT",
"margin":"56.9628552112676055",
"cross_margin": "56.9628552112676055",
"isolate_margin": "0",
"isolate_balance": "0",
"frozen_margin":"0",
"frozen_money":"0",
"margin_ratio":"2544691.382953222",
"realized_pnl":"-11036.554614674757",
"avail_balance":"9999837740.1759844750715308",
"unrealized_pnl":"-114.67688483333268",
"isolate_unrealized_pnl":"0",
"time_stamp":1657595029446
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
equity | string | account equity(include unrealized profit and loss) |
currency | string | currency |
margin | string | margin occupied by position |
cross_margin | string | cross margin occupied by position |
isolate_margin | string | isolate margin occupied by position |
isolate_balance | string | isolate_balance |
frozen_margin | string | margin occupied by open orders |
frozen_money | string | fee occupied by open orders |
margin_ratio | string | margin ratio |
realized_pnl | string | realized profit and loss |
avail_balance | string | available balance |
unrealized_pnl | string | unrealized profit and loss (cross+isolate) |
isolate_unrealized_pnl | string | isolate unrealized profit and loss |
time_stamp | number | milliseconds since UNIX epoch |
AccountTransfer
request URL:
POST /swap/v2/account/transfer
request param
Parameters | Required | Type | Description |
---|---|---|---|
type | yes | number | transfer type 1: spot to swap, 2 swap to spot |
currency | yes | string | transfer currency |
transfer_amount | yes | string | transfer amount |
response example
{
"code":0,
"data":{
"type": 1,
"currency":"USDT",
"transfer_amount":"10.15"
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
type | number | transfer type 1: spot to swap, 2 swap to spot |
currency | string | transfer currency |
transfer_amount | string | transfer amount |
Positions
request URL:
GET /swap/v2/account/positions
request param
Parameters | Required | Type | Description |
---|---|---|---|
type | no | number | instrument type: 1 Simulate 2 Real |
instrument_id | no | string | instrument id, instrument id has higher priority than type |
response example
{
"code":0,
"data":[
{
"instrument_id": "BTCUSDTPERP",
"margin_mode": "crossed",
"posi_balance": "0",
"avail_position":"197",
"avg_cost":"20529.76",
"last":"19941.77",
"mark_price":"19941.78",
"leverage":"71",
"liquidation_price":"-51275900222.49557",
"maint_margin_ratio":"0.01",
"margin":"56.9628552112676055",
"position":"197",
"realized_pnl":"-15193763.760575533",
"unrealized_pnl":"-114.03244858333346",
"unrealized_pnl_rate":"-2.0018738204116064",
"side":"long",
"open_outstanding":"0",
"risk_score":"0.2",
"margin_ratio":"2544274.143023101",
"timestamp":1657595569430
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
margin_mode | string | margin mode: "crossed" or "isolated" |
posi_balance | string | valid only isolated margin mode |
avail_position | string | position that can be closed |
avg_cost | string | average open price |
last | string | instrument latest trade price |
mark_price | string | instrument mark price |
leverage | string | leverage |
liquidation_price | string | estimated liquidation price |
maint_margin_ratio | string | maintenance margin ratio |
margin | string | maintenance margin requirement |
position | string | total position |
realized_pnl | string | realized profit and loss |
unrealized_pnl | string | unrealized profit and loss |
unrealized_pnl_rate | string | unrealized profit and loss rate |
side | string | position side: long | short |
open_outstanding | string | close order not finish size |
risk_score | string | risk score to be ADL (0-1) |
margin_ratio | string | margin ratio |
timestamp | number | milliseconds since UNIX epoch |
PositionMode
request URL:
POST /swap/v2/account/position_mode
can not do this operation when has position against to the mode want to adjust
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
margin_mode | yes | string | position mode: "crossed" or "isolated" |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"margin_mode":"isolated"
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
margin_mode | string | margin mode: "crossed" or "isolated" |
PositionMargin
request URL:
POST /swap/v2/account/position_margin
can not do this operation as crossed position mode
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
side | yes | string | position side: "long" or "short" |
type | yes | number | type 1 add, 2 reduce |
amount | yes | string | operate amount |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"side":"isolated",
"type":1,
"amount":"10.15"
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
side | string | position mode: "crossed" or "isolated" |
type | number | type 1 add, 2 reduce |
amount | string | operate amount |
SetLeverage
request URL:
POST /swap/v2/account/leverage
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
leverage | yes | number | leverage |
margin_mode | no | string | position mode: "crossed" or "isolated" |
side | no | string | position side: "long" or "short", valid only in isolated mode |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"leverage":30,
"margin_mode": "isolated",
"side": "long"
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
leverage | number | set leverage |
margin_mode | string | position mode: "crossed" or "isolated" |
side | string | position side: "long" or "short", valid only in isolated mode |
TradingFee
request URL:
GET /swap/v2/account/trading_fee_rate
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
response example
{
"code":0,
"data":{
"instrument_id":"BTCUSDTPERP",
"taker_fee_rate":"0.00005",
"maker_fee_rate":"0.00003"
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
taker_fee_rate | string | taker fee rate |
maker_fee_rate | string | maker fee rate |
Bills
request URL:
GET /swap/v2/account/finance_record
request param
Parameters | Required | Type | Description |
---|---|---|---|
currency | no | string | currency |
finance_type | no | number | finance type 1:transfer in 2:transfer out 3:open long 4:open short 5:close long 6:close short 9:ADL-close short 10:ADL-close long 15:funding fee 16:experience token |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"currency":"USDT",
"finance_type":3,
"change":"-0.6187",
"timestamp":1604919311873
},
{
"currency":"USDT",
"finance_type":15,
"change":"-0.0337671088333333",
"timestamp":1604972654439
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
currency | string | currency |
finance_type | number | finance type 1:transfer in 2:transfer out 3:open long 4:open short 5:close long 6:close short 9:ADL-close short 10:ADL-close long 15:funding fee 16:experience token |
change | string | change amount |
timestamp | number | milliseconds since UNIX epoch |
Funding Fee
request URL:
GET /swap/v2/account/funding_fee
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | no | string | instrument id |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"instrument_id":"EOSUSDTPERP",
"currency":"USDT",
"amount":"-0.02251865",
"timestamp":1666627204910
},
{
"instrument_id":"EOSUSDTPERP",
"currency":"USDT",
"amount":"-0.02251865",
"timestamp":1666627205084
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
currency | string | currency |
amount | string | amount of funding fee |
timestamp | number | milliseconds since UNIX epoch |
TransferRecord
request URL:
GET /swap/v2/account/transfer_record
request param
Parameters | Required | Type | Description |
---|---|---|---|
currency | no | string | transfer currency |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"transfer_id":5648,
"type":2,
"currency":"USDT",
"amount":"3000",
"timestamp":1606902218000
},
{
"transfer_id":5898,
"type":1,
"currency":"USDT",
"amount":"5",
"timestamp":1608003262000
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
transfer_id | number | transfer id |
type | number | transfer type: 1 transfer in 2 transfer out |
currency | string | transfer currency |
amount | string | transfer amount |
timestamp | number | milliseconds since UNIX epoch |
Trade
The API endpoint of Trade require authentication. OrderPlace and CandleOrder should be subject to websocket order push
OrderPlace
request URL:
POST /swap/v2/trade/order_place
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
type | yes | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | yes | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
size | yes | number | order size |
price | options | string | order price, necessary if not market order |
post_only | no | boolean | is post-only order, default false |
response example
{
"code":0,
"data":"1546741166173589504"
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
data | string | order id |
CancelOrder
request URL:
POST /swap/v2/trade/cancel_order
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
order_id | yes | string | order ID |
response example
{
"code":0,
"data":"1546741166173589504"
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
data | string | order id |
BatchOrder
request URL:
POST /swap/v2/trade/batch_order
request example
[
{"instrument_id":"BTCUSDTPERP", "type": 1, "order_type": 0, "size": 10, "price": "19876.51", "post_only": true},
{"instrument_id":"BTCUSDTPERP", "type": 1, "order_type": 0, "size": 10, "price": "19876.51", "post_only": true}
]
request param - array max count: 20
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
type | yes | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | yes | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
size | yes | number | order size |
price | options | string | order price, necessary if not market order |
post_only | no | boolean | is post-only order, default false |
response example
{
"code":0,
"data":[
"1546771720487047168",
"1546771720487047169",
"1546771720487047170"
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | array | response data |
0 | string | order id |
BatchCancel
request URL:
POST /swap/v2/trade/batch_cancel_order
request example
[
{"instrument_id":"BTCUSDTPERP", "order_id":"12312312312312"},
{"instrument_id":"BTCUSDTPERP", "order_id":"22222222222222"}
]
request param - array max count: 20
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
order_id | yes | string | order ID |
response example
{
"code":0,
"data":[
"1546771720487047168",
"1546771720487047169",
"1546771720487047170"
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | array | response data |
0 | string | order id |
OpenOrder
request URL:
GET /swap/v2/trade/open_orders
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | no | string | instrument id |
type | no | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | no | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
order_status | no | string | order status: 0: open 1: part filled |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"order_id":"1546775521365331968",
"instrument_id":"ETHPERP",
"margin_mode": "crossed",
"contract_val":"1",
"type":1,
"order_type":0,
"price":"1000",
"size":"68",
"filled_qty":"0",
"price_avg":"0",
"fee":"0",
"state":0,
"leverage":"20",
"turnover":"0",
"close_profit": "0",
"has_stop":0,
"insert_time":1657614996653,
"time_stamp":1657614996653
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
order_id | string | order id |
instrument_id | string | instrument id |
margin_mode | string | margin mode: crossed or isolated |
contract_val | string | contract value of single size |
type | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
price | string | order price |
size | string | order size |
filled_qty | string | filled quantity |
price_avg | string | average trade price |
fee | string | trade fee |
state | number | order status: 0: open 1: part filled |
leverage | string | leverage |
turnover | string | filled trade value |
close_profit | string | order close profit |
has_stop | number | has stop: 0 no 1 yes |
insert_time | number | order create time, milliseconds since UNIX epoch |
time_stamp | number | order last update time, milliseconds since UNIX epoch |
OrderInfo
request URL:
GET /swap/v2/trade/order_info
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | no | string | instrumnent id |
order_id | yes | string | order id |
response example
{
"code":0,
"data": {
"order_id":"1546775521365331968",
"instrument_id":"ETHPERP",
"margin_mode": "crossed",
"contract_val":"1",
"type":1,
"order_type":0,
"price":"1000",
"size":"68",
"filled_qty":"0",
"price_avg":"0",
"fee":"0",
"state":0,
"leverage":"20",
"turnover":"0",
"close_profit": "0",
"has_stop":0,
"insert_time":1657614996653,
"time_stamp":1657614996653
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
order_id | string | order id |
instrument_id | string | instrument id |
margin_mode | string | margin mode: crossed or isolated |
contract_val | string | contract value of single size |
type | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
price | string | order price |
size | string | order size |
filled_qty | string | filled quantity |
price_avg | string | average trade price |
fee | string | trade fee |
state | number | order status: -1: canceled 0: open 1: part filled 2: filled |
leverage | string | leverage |
turnover | string | filled trade value |
close_profit | string | order close profit |
has_stop | number | has stop: 0 no 1 yes |
insert_time | number | order create time, milliseconds since UNIX epoch |
time_stamp | number | order last update time, milliseconds since UNIX epoch |
HistoryOrder
request URL:
GET /swap/v2/trade/history_orders
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | no | string | instrument id |
type | no | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | no | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
order_status | no | string | order status: -1: canceled 2: filled |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"order_id":"1546775521365331968",
"instrument_id":"ETHPERP",
"margin_mode": "crossed",
"contract_val":"1",
"type":1,
"order_type":0,
"price":"1000",
"size":"68",
"filled_qty":"0",
"price_avg":"0",
"fee":"0",
"state":-1,
"leverage":"20",
"turnover":"0",
"close_profit": "0",
"has_stop":0,
"insert_time":1657614996653,
"time_stamp":1657615476234
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
order_id | string | order id |
instrument_id | string | instrument id |
margin_mode | string | margin mode: crossed or isolated |
contract_val | string | contract value of single size |
type | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
price | string | order price |
size | string | order size |
filled_qty | string | filled quantity |
price_avg | string | average trade price |
fee | string | trade fee |
state | number | order status: -1: canceled 2: filled |
leverage | string | leverage |
turnover | string | filled trade value |
close_profit | string | order close profit |
has_stop | number | has stop: 0 no 1 yes |
insert_time | number | order create time, milliseconds since UNIX epoch |
time_stamp | number | order last update time, milliseconds since UNIX epoch |
HistoryTrade
request URL:
GET /swap/v2/trade/history_trades
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | no | string | instrument id |
type | no | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | no | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
order_id | no | string | order id |
start_timestamp | no | number | query start milliseconds since UNIX epoch |
end_timestamp | no | number | query end milliseconds since UNIX epoch |
limit | no | number | query raws: 1-100, default 20 |
response example
{
"code":0,
"data":[
{
"trade_id":"1356141620419895298",
"instrument_id":"BTCUSDTPERP",
"margin_mode": "crossed",
"order_id":"1356135807563337728",
"type":1,
"order_type":0,
"price":"33603",
"size":"10",
"fee":"0.0168015",
"close_profit":"0",
"leverage":"100",
"trade_type":0,
"match_role":2,
"trade_time":1612164332869
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
trade_id | string | trade id |
instrument_id | string | instrument id |
margin_mode | string | margin mode: crossed or isolated |
order_id | string | order id |
type | number | type: 1 open long 2 open short 3 close long 4 close short |
order_type | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
price | string | trade price |
size | string | trade size |
fee | string | trade fee |
close_profit | string | realized profit and loss |
leverage | string | leverage |
trade_type | number | trade type: 0 normal 1 force close 3 ADL |
match_role | number | match role: 0=not distinction 1=taker 2=maker |
trade_time | number | trade time, milliseconds since UNIX epoch |
Copy Trading
The API endpoint of Copy Trading require authentication.
ExpertSponsorOrder
request URL:
- POST
/swap/v2/follow/sponsor_order
request param
Parameters | Required | Type | Description |
---|---|---|---|
instrument_id | yes | string | instrument id |
margin_mode | yes | number | position mode: 1 crossed 2 isolated |
type | yes | number | type: 1 open long 2 open short |
leverage | yes | number | leverage |
order_type | yes | number | order type: 0: limit_price 1: IOC_opponent 2: IOC_Optimal_5 3: IOC_Optimal_10 13: IOC_Optimal_20 4: IOC_custom_price 6: GTC_opponent 7: GTC_Optimal_5 8: GTC_Optimal_10 14: GTC_Optimal_20 10: FOK_opponent 11: FOK_Optimal_5 12: FOK_Optimal_10 15: FOK_Optimal_20 9: FOK_custom_price |
limit_price | yes | string | order price, necessary if not market |
order_num | yes | number | order size |
order_earn_trigger_price_type | no | number | stop earn trigger price type: 1 index price 2 marker price 3 market price |
order_loss_trigger_price_type | no | number | stop loss trigger price type: 1 index price 2 marker price 3 market price |
stop_earn_trigger_price | no | string | stop earn trigger price |
stop_loss_trigger_price | no | string | stop loss trigger price type |
response example
{
"code":0,
"data":{
"res":1
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
res | number | result: 1 success 2 fail |
CloseOrder
request URL:
- POST
/swap/v2/follow/close_order
request param
Parameters | Required | Type | Description |
---|---|---|---|
open_order_id | yes | string | order id |
response example
{
"code":0,
"data":{
"res":1
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
res | number | result: 1 success 2 fail |
CancelCurrentOrder
request URL:
- POST
/swap/v2/follow/cancel_order
request param
Parameters | Required | Type | Description |
---|---|---|---|
order_i | ye | string | order id |
response example
{
"code":0,
"data":{
"res":1
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
res | number | result: 1 success 2 fail |
UserCenterCurrent
request URL:
- POST
/swap/v2/follow/user_center_current
request param
Parameters | Required | Type | Description |
---|---|---|---|
page | no | number | page, default 1 |
size | no | number | size,default 10 |
instrument_id | no | string | instrument id |
type | yes | number | 1 Detailed 2 Summary |
response example
{
"code": 0,
"data": {
"res": 1,
"list": [
{
"instrument_name": "BCHUSDT",
"leverage": 20,
"direction": 1,
"open_price": 135.47617777777776,
"open_time": 0,
"open_fee": 0,
"expert_name": "",
"unrealized_profit": 1.6887999999999996,
"unrealized_profit_rate": 0.013850733577104,
"order_id": "",
"volume_total_original": 180,
"liquidate_price": 129.35561474334278,
"market_price": 135.57,
"is_closing": false,
"stop_earn_trigger_price_type": 0,
"stop_earn_trigger_price": "",
"stop_loss_trigger_price_type": 0,
"stop_loss_trigger_price": "",
"margin_mode": 2,
"margin_ratio": 0.05065745453353328,
"posi_margin": 121.92856,
"use_margin": 121.92856
},
{
"instrument_name": "ETHUSDT",
"leverage": 20,
"direction": 1,
"open_price": 1574.2400330812854,
"open_time": 0,
"open_fee": 0,
"expert_name": "",
"unrealized_profit": -1255.0017,
"unrealized_profit_rate": -0.25116923297382,
"order_id": "",
"volume_total_original": 6348,
"liquidate_price": 1510.7106736978849,
"market_price": 1554.47,
"is_closing": false,
"stop_earn_trigger_price_type": 0,
"stop_earn_trigger_price": "",
"stop_loss_trigger_price_type": 0,
"stop_loss_trigger_price": "",
"margin_mode": 2,
"margin_ratio": 0.03791772666746796,
"posi_margin": 4996.637865,
"use_margin": 4996.637865
}
],
"page": {
"page_size": 10,
"cur_page": 1,
"total_page": 1,
"count": 2
}
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
- list | object | response list |
- page | object | response page |
res | number | 1 success 2 fail |
page_size | number | page size |
current_page | number | current page |
total_page | number | total page |
count | number | count |
instrument_name | string | instrument name |
leverage | number | leverage |
direction | number | order direction 1:Open Long 2:Open Short |
open_price | number | open price |
open_time | number | open time |
open_fee | number | open fee |
expert_name | number | expert name |
unrealized_profit | number | unrealized profit |
unrealized_profit_rate | number | unrealized profit rate,did not multiply by 100% |
order_id | number | order id |
volume_total_original | number | opening quantity |
liquidate_price | number | liquidate price |
market_price | number | market price |
is_closing | number | is closing:true,false |
stop_earn_trigger_price_type | number | 1:index price 2:mark price 3:market price |
stop_earn_trigger_price | number | stop earn trigger price |
stop_loss_trigger_price_type | number | 1:index price 2:mark price 3:market price |
stop_loss_trigger_price | number | stop loss trigger price |
margin_mode | number | margin mode 1:crossed 2:isolated |
margin_ratio | number | margin ratio |
posi_margin | number | position margin |
use_margin | number | use margin |
UserCenterHistory
request URL:
- POST
/swap/v2/follow/user_center_history
request param
Parameters | Required | Type | Description |
---|---|---|---|
page | no | number | page, default 1 |
size | no | number | size,default 10 |
instrument_id | no | string | instrument id |
response example
{
"code": 0,
"data": {
"res": 1,
"list": [
{
"instrument_name": "BTCUSDT",
"leverage": 20,
"direction": 1,
"open_price": 16045.619,
"open_time": 1669020058,
"open_fee": 0.00080228095,
"expert_name": "",
"close_time": 1669202205,
"close_price": 16590.117,
"close_pnl": 0.5444980000000008,
"status": 2,
"close_fee": 0.00082950585,
"profit": 0.5428662132000008,
"order_id": "1594611819190685696",
"close_volume_traded": 1,
"margin_mode": 1
},
{
"instrument_name": "BTCUSDT",
"leverage": 80,
"direction": 1,
"open_price": 16771.19,
"open_time": 1668592117,
"open_fee": 0.001677119,
"expert_name": "",
"close_time": 1668592222,
"close_price": 16735.22,
"close_pnl": -0.0719399999999979,
"status": 2,
"close_fee": 0.001673522,
"profit": -0.0752906409999979,
"order_id": "1592816905331150848",
"close_volume_traded": 2,
"margin_mode": 1
},
{
"instrument_name": "BTCUSDT",
"leverage": 10,
"direction": 1,
"open_price": 16862.63,
"open_time": 1668584328,
"open_fee": 0.0042156575,
"expert_name": "",
"close_time": 1668589599,
"close_price": 16753.61,
"close_pnl": -0.5450999999999908,
"status": 2,
"close_fee": 0.0041884025,
"profit": -0.5535040599999907,
"order_id": "1592784234840330240",
"close_volume_traded": 5,
"margin_mode": 1
}
],
"page": {
"page_size": 10,
"cur_page": 1,
"total_page": 1,
"count": 3
}
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
- list | object | response list |
- page | object | response page |
res | number | 1 success 2 fail |
page_size | number | page size |
current_page | number | current page |
total_page | number | total page |
count | number | count |
instrument_name | string | instrument name |
leverage | number | leverage |
direction | number | order direction 1:open long 2:open short |
open_price | number | open price |
open_time | number | open time |
open_fee | number | open fee |
expert_name | number | expert name |
close_time | number | close time |
close_price | number | close price |
close_pnl | number | closing profit and loss |
status | number | 1:auto close 2:manual close 3:forced close 4:stop out close 5:stop loss close |
close_fee | number | close_fee |
profit | number | profit |
order_id | number | order id |
close_volume_traded | number | close volume traded(closed order has been executed quantity) |
margin_mode | number | margin mode 1:crossed 2:isolated |
ExpertCurrentOpenOrder
request URL:
- POST
/swap/v2/follow/expert_current_open_order
request param
Parameters | Required | Type | Description |
---|---|---|---|
page | no | number | page, default 1 |
size | no | number | size, default 10 |
instrument_id | no | string | instrument id |
response example
{
"code": 0,
"data": {
"list": [
{
"instrument_name": "BCHUSDT",
"leverage": 20,
"direction": 1,
"order_price": 0,
"commission_amount": 27975.93552,
"profit_rate": 180,
"total_order": 2028,
"status": 1,
"order_price_type": 8,
"order_time": 1673849380,
"order_id": "1614867464376553472",
"stop_earn_trigger_price_type": 0,
"stop_earn_trigger_price": "",
"stop_loss_trigger_price_type": 0,
"stop_loss_trigger_price": "",
"margin_mode": 2
}
],
"page": {
"page_size": 10,
"cur_page": 1,
"total_page": 1,
"count": 1
}
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
- list | object | response list |
- page | object | response page |
page_size | number | page size |
current_page | number | current page |
total_page | number | total page |
count | number | count |
instrument_name | string | instrument name |
leverage | number | leverage |
direction | number | order direction 1:Open Long 2:Open Short |
order_price | number | order price |
commission_amount | number | commission amount |
profit_rate | number | profit rate |
total_order | number | total order |
status | number | order status: -1: canceled 0: open 1: part filled 2: filled |
order_price_type | number | order_price_type 0:limit 1:opponent_ioc 2:optimal_5_ioc 3:optimal_10_ioc 4:ioc 5:gtc 6:opponent_gtc 7:optimal_5_gtc 8:optimal_10_gtc 9:fok 10:opponent_fok 11:optimal_5_fok 12:optimal_10_fok', |
order_time | number | order_time |
order_id | string | order_id |
stop_earn_trigger_price_type | number | 1:index price 2:mark price 3:market price |
stop_earn_trigger_price | string | stop_earn_trigger_price |
stop_loss_trigger_price_type | number | 1:index price 2:mark price 3:market price |
stop_loss_trigger_price | string | stop_loss_trigger_price |
margin_mode | number | margin mode 1:crossed 2:isolate |
AddStopProfitOrderOrStopLossOrder
Request URL:
- POST
/swap/v2/follow/add_algo
Request param:
Parameters | Required | Type | Description |
---|---|---|---|
order_id | optional | string | order_id |
profit_trigger_type | optional | number | price type:1 index price 2 marker price 3 market price |
profit_trigger_price | optional | string | stop profit price |
stop_trigger_type | optional | number | type:1 index price 2 marker price 3 market price |
stop_trigger_price | optional | string | stop loss price |
Response example
{
"code":0,
"data":{
"result":1,
"algos":["160497265443932323","1614526180466102272"]
}
}
Response Description
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
result | number | 1 success 2 fail |
algos | []string | stop loss and stop profit order_id |
CancelStopLossOrStopProfitOrder
Request URL:
- POST
/swap/v2/follow/cancel_algo
Parameters:
Parameters | Required | Type | Description |
---|---|---|---|
order_id | optional | string | order_id |
stop_profit | optional | number | 1 cancel stop profit order 0 not cancel |
stop_loss | optional | number | 1 cancel stop loss order 0 not cancel |
Response example
{
"code":0,
"data":{
"result":1
}
}
Response Description
Parameters | Type | Description |
---|---|---|
code | number | Error |
- data | object | Response Param |
result | number | 1 success 2 fail |
AccountAvailableBalance
Request URL:
- POST
/swap/v2/follow/account_available
Request param:not required
Response param
{
"code":0,
"data":{
"available":"878.98751223"
}
}
Response Description
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
available | string | account available balance |
PlanCommissionList
Request URL:
- POST
/swap/v2/follow/plan_task
Request param:
Parameters | Required | Type | Description |
---|---|---|---|
page | yes | number | page lte50 |
size | yes | number | size |
response example
{
"code": 0,
"data": {
"list": [
{
"order_id": "1614526180466102272",
"instrument_name": "BCHUSDT",
"leverage": 20,
"direction": 3,
"order_time": 1673768236,
"trigger_cond": 3,
"trigger_price": 125,
"com_type": 3,
"order_price": 1,
"com_num": 200,
"status": 1,
"margin_mode": 2
},
{
"order_id": "1614526180466102272",
"instrument_name": "BCHUSDT",
"leverage": 20,
"direction": 3,
"order_time": 1673768046,
"trigger_cond": 3,
"trigger_price": 140,
"com_type": 2,
"order_price": 1,
"com_num": 200,
"status": 1,
"margin_mode": 2
}
],
"page": {
"page_size": 10,
"cur_page": 1,
"total_page": 1,
"count": 2
}
}
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
order_id | string | order_id |
instrument_name | string | instrument_name |
leverage | number | leverage |
direction | number | direction 1:Open Multi-position 2:Open Short-position 3:Close Multi-position 4:Close Short-position |
order_time | number | order update timestamp |
trigger_cond | number | trigger condition 1 price-up 2 price-down |
trigger_price | number | trigger price |
com_type | number | strategy type 2 stop profit 3 stop loss |
order_price | number | commissioning price 1 optimal10 |
com_num | number | commissioning num |
status | number | status 1 to be validated 2 validated 3 canceled 4 fail 5 error |
margin_mode | number | margin mode 1 cross 2 isolate |
InstrumentList
Request URL:
- POST
/swap/v2/follow/instrument_list
Request param:not required
response example
json
{
"code":0,
"data": [
{
"instrument_id":"ETHUSDTPERP",
"instrument_name":"ETHUSDT",
"volume_multiple":0.01,
"price_precision":2,
"clear_currency":"USDT",
"taker_fee":0.00005,
"long_margin_ratio":0.01,
"short_margin_ratio":0.01,
"min_order_amount":1
},
{
"instrument_id":"BCHUSDTPERP",
"instrument_name":"BCHUSDT",
"volume_multiple":0.1,
"price_precision":3,
"clear_currency":"USDT",
"taker_fee":0.00005,
"long_margin_ratio":0.005,
"short_margin_ratio":0.005,
"min_order_amount":2
}
]
}
response param
Parameters | Type | Description |
---|---|---|
code | number | error code |
- data | object | response data |
instrument_id | string | instrument id |
instrument_name | string | instrument name |
volume_multiple | string | instrument multiplier |
price_precision | number | price precision |
clear_currency | string | settlement currency |
taker_fee | string | taker fee |
long_margin_ratio | string | long margin ratio |
short_margin_ratio | string | short margin ratio |
min_order_amount | number | mini order amount |