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

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.