Skip to content

Leader Endpoints

Copy Trading OpenAPI uses the /api/v2/copy-trading/leader prefix. All endpoints only access data or settings of the leader bound to the current API Key. Responses follow the OpenAPI V2 wrapper:

json
{ "code": 200, "msg": "success", "data": {} }
  • All endpoints require a signed request. The API Key account type must be COPY_TRADING.
  • Query endpoints support read-only API Keys. Write endpoints do not support read-only API Keys.
  • For shared signing parameters, see Basic Information.
  • 64-bit integer fields are usually serialized as strings in JSON by the existing OpenAPI format.

Current Lead Orders

Query the current lead orders of the current leader.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/orders/current

Parameters

No business parameters.

Response

data is an array. Each item contains:

FieldTypeDescription
symbolIdstringTrading pair ID
symbolNamestringTrading pair display name
isLongintegerDirection, 0 short, 1 long
positionTypeintegerPosition type
leveragestringLeverage
openTimestringOpen time, epoch millis
quantitystringQuantity
newPricestringCurrent price
openPricestringAverage open price
totalFollowerCountstringFollower count
totalFollowerMarginstringTotal follower margin
profitRatestringProfit rate
markPricestringMark price

Example

http
GET /api/v2/copy-trading/leader/orders/current
json
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "symbolId": "BTC-SWAP-USDT",
      "symbolName": "BTCUSDT Perpetual",
      "isLong": 1,
      "positionType": 0,
      "leverage": "20",
      "openTime": "1717200000000",
      "quantity": "0.000058242",
      "newPrice": "52246.217",
      "openPrice": "51110.77",
      "totalFollowerCount": "12",
      "totalFollowerMargin": "1000",
      "profitRate": "0.0123",
      "markPrice": "68100.2"
    }
  ]
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter ...Invalid parameter
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

History Lead Orders

Query historical lead orders of the current leader.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/orders/history

Parameters

NameLocationTypeMandatoryDefaultDescription
pagequeryLONGNO1Page number, starting from 1
sizequeryLONGNO10Page size

Response

data is a page object:

FieldTypeDescription
pagesstringTotal pages
totalstringTotal records
listarrayHistorical lead orders

data.list[] fields:

FieldTypeDescription
symbolIdstringTrading pair
isLongnumberDirection, 0 short, 1 long
positionTypenumberPosition type, 0 cross, 1 isolated
leveragestringLeverage
openPricestringOpen price
closePricestringClose price
openTimestringOpen time, epoch millis
closeTimestringClose time, epoch millis
profitstringRealized PnL
statusnumber1 partially closed, 2 fully closed
openQtystringMaximum position quantity
closeQtystringClosed quantity
positionProfitstringPosition PnL
openFeestringOpen fee
closeFeestringClose fee

Example

http
GET /api/v2/copy-trading/leader/orders/history?page=1&size=10
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "pages": "3",
    "total": "21",
    "list": [
      {
        "symbolId": "BTC-SWAP-USDT",
        "isLong": 1,
        "positionType": 0,
        "leverage": "20",
        "openPrice": "51110.77",
        "closePrice": "52246.217",
        "openTime": "1717200000000",
        "closeTime": "1717203600000",
        "profit": "12.34",
        "status": 2,
        "openQty": "0.1",
        "closeQty": "0.1",
        "positionProfit": "12.34",
        "openFee": "0.1",
        "closeFee": "0.1"
      }
    ]
  }
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter ...Invalid page or size
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Trade Data

Query trade data of the current leader.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/trade-data

Parameters

NameLocationTypeMandatoryDefaultDescription
typequeryINTEGERNO7Fixed period. Supported values: 7, 30, 90, 180, 365

Response

data is an array. Each item contains:

FieldTypeDescription
profitRatestringProfit rate
accumulatedProfitstringAccumulated profit in USDT
orderCountintegerOrder count
winRatestringWin rate
currentFollowerCountstringCurrent follower count
followerTotalProfitstringTotal follower profit
sharpeRatiostringSharpe ratio
totalFollowerCountstringTotal follower count
assetManagementScalestringAsset management scale
profitLossRatiostringProfit-loss ratio
tradingFrequencystringTrading frequency
tradingDaysintegerTrading days

Example

http
GET /api/v2/copy-trading/leader/trade-data?type=30
json
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "profitRate": "0.1234",
      "accumulatedProfit": "888.1234",
      "orderCount": 18,
      "winRate": "0.6111",
      "currentFollowerCount": "21",
      "followerTotalProfit": "100.1234",
      "sharpeRatio": "1.2345",
      "totalFollowerCount": "89",
      "assetManagementScale": "12345.6789",
      "profitLossRatio": "2.18:1",
      "tradingFrequency": "0.6",
      "tradingDays": 30
    }
  ]
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter 'type' is not valid.Invalid type
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Profit Sharing History

Query profit sharing history of the current leader. The endpoint keeps the latest 100 records behavior.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/profit-sharings/history

Parameters

No business parameters.

Response

data is an array. Each item contains:

FieldTypeDescription
totalProfitSharingstringTotal profit sharing in the period
weekOfYearintegerWeek number
yearintegerYear
sharingDatestringProfit sharing date
recommendUserSharestringReferral share amount
realProfitSharestringActual leader share amount

Example

http
GET /api/v2/copy-trading/leader/profit-sharings/history
json
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "totalProfitSharing": "10.5",
      "weekOfYear": 22,
      "year": 2026,
      "sharingDate": "2026-06-01",
      "recommendUserShare": "1.5",
      "realProfitShare": "9"
    }
  ]
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter ...Invalid parameter
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Leader Symbols

Query OpenAPI-available leader symbols of the current leader.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/symbols

Parameters

No business parameters.

Response

data is an array. Each item contains:

FieldTypeDescription
symbolIdstringLeader trading pair ID
leveragestringLeader leverage
isLeadintegerWhether lead trading is enabled, 0 no, 1 yes

Example

http
GET /api/v2/copy-trading/leader/symbols
json
{
  "code": 200,
  "msg": "success",
  "data": [
    {
      "symbolId": "BTC-SWAP-USDT",
      "leverage": "20",
      "isLead": 1
    }
  ]
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter ...Invalid parameter
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Query Leader Config

Query editable settings of the current leader. Returned fields match the fields that can be submitted to PUT /api/v2/copy-trading/leader/config; identity, statistics, nickname, avatar, level, and other extra fields are not returned.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/config

Parameters

No business parameters.

Response

data contains:

FieldTypeDescription
unLeadTypeinteger0 no cool-down period, 1 custom cool-down period
unLeadStartTimestringCool-down start time, epoch millis
unLeadEndTimestringCool-down end time, epoch millis
leadPositionTypeintegerLeader position type: -1 all, 0 cross, 1 isolated
tradeProtectintegerTrade protection switch
profitPeriodintegerProfit sharing period: 1 daily, 7 weekly
profitRatestringProfit sharing rate
followAssetLowerLimitstringMinimum follower asset
fixedAmountFollowMinstringMinimum fixed-amount follow value
fixedRateFollowMinstringMinimum fixed-rate follow value
isNeedInviteintegerWhether private invitation is required
inviteScopeintegerPrivate invitation scope
symbolIdsarrayCurrent submitted list of leader trading pairs
recommendShareintegerWhether referral sharing is enabled
recommendShareRatestringReferral sharing rate
inviteCodestringPrivate invitation code

Example

http
GET /api/v2/copy-trading/leader/config
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "unLeadType": 1,
    "unLeadStartTime": "1717200000000",
    "unLeadEndTime": "1717286400000",
    "leadPositionType": 0,
    "tradeProtect": 1,
    "profitPeriod": 7,
    "profitRate": "0.1",
    "followAssetLowerLimit": "100",
    "fixedAmountFollowMin": "10",
    "fixedRateFollowMin": "10",
    "isNeedInvite": 1,
    "inviteScope": 2,
    "symbolIds": ["BTC-SWAP-USDT", "ETH-SWAP-USDT"],
    "recommendShare": 1,
    "recommendShareRate": "0.2",
    "inviteCode": "LEADER2026"
  }
}

Errors

codemsgDescription
200successSuccess
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Update Leader Config

Update Copy Trading leader settings of the current leader. Trading pairs are submitted through symbolIds together with other settings.

Request Weight

1

Request URL

PUT /api/v2/copy-trading/leader/config

Parameters

The request body uses JSON.

FieldTypeMandatoryDescription
unLeadTypeintegerYES0 no cool-down period, 1 custom cool-down period
unLeadStartTimeLONGNOCool-down start time, epoch millis
unLeadEndTimeLONGNOCool-down end time, epoch millis
leadPositionTypeintegerYESLeader position type: -1 all, 0 cross, 1 isolated
tradeProtectintegerYESTrade protection switch
profitPeriodintegerYESProfit sharing period: 1 daily, 7 weekly
profitRateDECIMALYESProfit sharing rate
followAssetLowerLimitDECIMALYESMinimum follower asset
fixedAmountFollowMinDECIMALYESMinimum fixed-amount follow value
fixedRateFollowMinDECIMALYESMinimum fixed-rate follow value
isNeedInviteintegerYESWhether private invitation is required
inviteScopeintegerYESPrivate invitation scope
symbolIdsARRAYYESFull submitted list of leader trading pairs
recommendShareintegerNOWhether referral sharing is enabled; omit to keep unchanged
recommendShareRateDECIMALNOReferral sharing rate, up to 8 decimal places
inviteCodestringNOPrivate invitation code, processed only when isNeedInvite=1

Rules

  • When unLeadType=1, unLeadEndTime must be provided, must not be 0, and must be greater than or equal to unLeadStartTime; when unLeadType=0, the server resets both cool-down timestamps to 0.
  • profitPeriod only supports 1 and 7.
  • profitRate, followAssetLowerLimit, fixedAmountFollowMin, and fixedRateFollowMin must satisfy the current leader level configuration in addition to field range and precision limits; the profitRate range may also depend on the private-invitation and custom profit-sharing state.
  • A leader that is currently private and has configured a custom profit-sharing ratio cannot switch to public mode.
  • symbolIds is the full submitted list. Any currently available leader trading pair omitted from the list is treated as a pair to disable. A trading pair with active lead orders cannot be disabled.
  • Omitting recommendShare means keeping the referral sharing switch unchanged. When recommendShare=1, recommendShareRate must be greater than 0 and less than or equal to 1.
  • inviteCode is processed only when isNeedInvite=1. If provided, it must be 6 to 10 characters long, must not contain Chinese characters, and must pass sensitive-word and uniqueness checks.
  • A read-only API Key is rejected when calling this write endpoint.

Response

On success, data is null.

Example

http
PUT /api/v2/copy-trading/leader/config
json
{
  "unLeadType": 1,
  "unLeadStartTime": 1717200000000,
  "unLeadEndTime": 1717286400000,
  "leadPositionType": 0,
  "tradeProtect": 1,
  "profitPeriod": 7,
  "profitRate": "0.1",
  "followAssetLowerLimit": "100",
  "fixedAmountFollowMin": "10",
  "fixedRateFollowMin": "10",
  "isNeedInvite": 1,
  "inviteScope": 2,
  "symbolIds": [
    "BTC-SWAP-USDT",
    "ETH-SWAP-USDT"
  ],
  "recommendShare": 1,
  "recommendShareRate": "0.2",
  "inviteCode": "LEADER2026"
}

Successful response:

json
{
  "code": 200,
  "msg": "success",
  "data": null
}

Errors

codemsgDescription
200successSuccess
-1020This operation is not supported.Read-only API Key calls a write endpoint
-1102Mandatory parameter ...Required field missing or malformed
-1130Data sent for paramter ...Invalid range, precision, or format
-120041Copy trading leader is not available.The signed account is not an active leader
-120047Leader does not exist.Leader does not exist
-120067Copy trading level config not found.Level config not found
-120072Copy trading leader config is invalid.Leader config business parameter is invalid, such as level limits, profit sharing rate, or referral sharing rate not meeting requirements
-120073Unable to switch invite setting.A private leader with a custom profit-sharing ratio cannot switch to public mode
-120078unLeadStartTime or unLeadEndTime is invalid.Cool-down time window is invalid
-32090Trading pair change is not allowed.The trading pair to disable still has active lead orders
-32093Copy trading position type cannot be changed.Current actual positions do not allow switching the position type
-120510Invite code already exists.Invitation code already exists
-120511Invite code contains sensitive content.Invitation code contains sensitive content
-120512Invite code is invalid.Invitation code format is invalid
-1000unknownUnknown error

My Followers

Query the current followers of the current leader.

Request Weight

1

Request URL

GET /api/v2/copy-trading/leader/followers

Parameters

NameLocationTypeMandatoryDefaultDescription
pagequeryLONGNO1Page number, starting from 1
sizequeryLONGNO10Page size

Response

data is a page object:

FieldTypeDescription
pagesstringTotal pages
totalstringTotal records
listarrayFollower list

data.list[] fields:

FieldTypeDescription
followerNicknamestringMasked follower display name
followAmountLimitstringTotal follow investment, in USDT
totalFollowMarginstringAccumulated follow principal
totalProfitstringAccumulated follow profit, in USDT
followRunningMillsstringRunning duration, in milliseconds

Example

http
GET /api/v2/copy-trading/leader/followers?page=1&size=10
json
{
  "code": 200,
  "msg": "success",
  "data": {
    "pages": "1",
    "total": "1",
    "list": [
      {
        "followerNickname": "****644",
        "followAmountLimit": "880",
        "totalFollowMargin": "0",
        "totalProfit": "0",
        "followRunningMills": "61200000"
      }
    ]
  }
}

Errors

codemsgDescription
200successSuccess
-1130Data sent for paramter ...Invalid page or size
-120041Copy trading leader is not available.The signed account is not an active leader
-1000unknownUnknown error

Remove Follower

Remove one follower of the current leader.

Request Weight

1

Request URL

DELETE /api/v2/copy-trading/leader/followers/{followerUserId}

Parameters

NameLocationTypeMandatoryDescription
followerUserIdpathLONGYESUser ID of the follower to remove. It must be greater than or equal to 1

Response

On success, data is null.

Example

http
DELETE /api/v2/copy-trading/leader/followers/123456789
json
{
  "code": 200,
  "msg": "success",
  "data": null
}

Errors

codemsgDescription
200successSuccess
-1020This operation is not supported.Read-only API Key calls a write endpoint
-1130Data sent for paramter 'followerUserId' is not valid.Invalid followerUserId
-120047Leader does not exist.Leader does not exist
-32045Copy trading follower not found.Follow relationship not found
-120055The follower currently has copy position, cannot be removed.The follower currently has copy positions and cannot be removed
-1000unknownUnknown error

Released under the MIT License.