API reference · v5 Binance Copy Trading API Binance Copy Trading lead portfolios: rankings, performance, open positions, closed positions, orders and transfers.
Base URL https://api.kopyon.com/v5/binance-copy-trading/ · send your key in the X-API-KEY header · trader id: The lead portfolio id in the portfolio's URL on Binance.
Get a free API key · Interactive reference with Try it · Authentication, paging and errors
traders Lead portfoliostraderSearch Search traderstraderProfile Lead portfolioperformance PerformancetraderChart ChartopenPositions Open positionspositionHistory Position historyorderHistory Order historytransferHistory Transfer historyLead portfolios GET /v5/binance-copy-trading/traders
Binance's futures copy-trading portfolios, ranked over a time range.
Binance refreshes this Binance updates this ranking about every 10 minutes..
Query parameters Name Type Description periodrequired enum Period the figures cover7D, 30D, 90D, 180D, 1Y sortByrequired enum What to rank bypnl, roi, maxDrawdown, aum, copiers, copierPnl, sharpeRatio orderrequired enum DESC lists the highest first, ASC the lowestDESC, ASC typeenumdefault ALL PUBLIC, PRIVATE or SIGNAL portfolios, or ALLALL, PUBLIC, PRIVATE, SIGNAL hideFullbool true leaves out portfolios with no free copy slot tradFibool true lists only portfolios that traded TradFi symbols pageintdefault 1 Page number rowsintdefault 20 Rows per page1 to 20
Response fields, in data Field Type Description traders[]always array traders[].traderIdalways string The trader's id at the source; other operations take it as traderId traders[].namealways string Display name traders[].avatarUrlstring traders[].roinumber traders[].pnlnumber traders[].sourceDetails.typeonly Binance traders[].sourceDetails.tradFionly Binance traders[].sourceDetails.apionly Binance traders[].sourceDetails.badgeonly Binance traders[].sourceDetails.startedAtonly Binance traders[].sourceDetails.chartonly Binance traders[].aumnumber traders[].maxDrawdownnumber traders[].winRatenumber traders[].copierPnlnumber traders[].sharpeRationumber traders[].copiersnumber Current copiers traders[].maxCopiersnumber hasMorealways boolean true when another page follows totalalways number Rows across all pages
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/traders?period=7D&sortBy=pnl&order=DESC" {
"data" : {
"traders" : [
{
"traderId" : "5126483220510875392" ,
"name" : "jeff-zhang" ,
"avatarUrl" : "https://bin.bnbstatic.com/static/content/static-sources/square-default-avatar.png" ,
"roi" : 4.1039280748 ,
"pnl" : 689870.74104516 ,
"aum" : 861809.48194994 ,
"maxDrawdown" : 0.23751183 ,
"winRate" : 0 ,
"copierPnl" : 0 ,
"sharpeRatio" : 3.11019002 ,
"copiers" : 0 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PRIVATE" ,
"tradFi" : false ,
"api" : true ,
"startedAt" : 1783520611419 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1791763200000 ,
"value" : 0
},
{
"timestamp" : 1791849600000 ,
"value" : 0
},
{
"timestamp" : 1791936000000 ,
"value" : 0
}
]
}
}
},
{
"traderId" : "5118505927886767360" ,
"name" : "User-7bcd6" ,
"avatarUrl" : "https://bin.bnbstatic.com/static/content/static-sources/square-default-avatar.png" ,
"roi" : 5.1661017466 ,
"pnl" : 641871.43611123 ,
"aum" : 776574.70700885 ,
"maxDrawdown" : 0.19889919 ,
"winRate" : 0 ,
"copierPnl" : 0 ,
"sharpeRatio" : 2.84452501 ,
"copiers" : 0 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PRIVATE" ,
"tradFi" : false ,
"api" : true ,
"startedAt" : 1783045127755 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1791763200000 ,
"value" : -0.1648538599
},
{
"timestamp" : 1791849600000 ,
"value" : -0.1872955269
},
{
"timestamp" : 1791936000000 ,
"value" : -0.1114021677
}
]
}
}
},
{
"traderId" : "5135947870762832385" ,
"name" : "Satalpha" ,
"avatarUrl" : "https://bin.bnbstatic.com/static/content/static-sources/square-default-avatar.png" ,
"roi" : 3.2031528502 ,
"pnl" : 540781.3686563 ,
"aum" : 719768.01576108 ,
"maxDrawdown" : 0.24485952 ,
"winRate" : 0 ,
"copierPnl" : 0 ,
"sharpeRatio" : 2.91655253 ,
"copiers" : 0 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PRIVATE" ,
"tradFi" : false ,
"api" : true ,
"startedAt" : 1784084748549 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1791763200000 ,
"value" : 0
},
{
"timestamp" : 1791849600000 ,
"value" : 0
},
{
"timestamp" : 1791936000000 ,
"value" : 0
}
]
}
}
}
],
"hasMore" : true ,
"total" : 12927
}
} Search traders GET /v5/binance-copy-trading/traderSearch
Lead portfolios whose trader's name contains this, by PnL, with figures over the last year.
Query parameters Name Type Description namerequired string Part of the trader's name pageintdefault 1 Page number rowsintdefault 20 Rows per page1 to 20
Response fields, in data Field Type Description traders[]always array traders[].traderIdalways string The trader's id at the source; other operations take it as traderId traders[].namealways string Display name traders[].avatarUrlstring traders[].roinumber traders[].pnlnumber traders[].sourceDetails.typeonly Binance traders[].sourceDetails.tradFionly Binance traders[].sourceDetails.apionly Binance traders[].sourceDetails.badgeonly Binance traders[].sourceDetails.startedAtonly Binance traders[].sourceDetails.chartonly Binance traders[].aumnumber traders[].maxDrawdownnumber traders[].winRatenumber traders[].copierPnlnumber traders[].sharpeRationumber traders[].copiersnumber Current copiers traders[].maxCopiersnumber hasMorealways boolean true when another page follows totalalways number Rows across all pages
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/traderSearch?name=jeff" {
"data" : {
"traders" : [
{
"traderId" : "5126483220510875392" ,
"name" : "jeff-zhang" ,
"avatarUrl" : "https://bin.bnbstatic.com/static/content/static-sources/square-default-avatar.png" ,
"roi" : 4.1845271794 ,
"pnl" : 781442.20622846 ,
"aum" : 861809.48194994 ,
"maxDrawdown" : 0.21632278 ,
"winRate" : 0.625 ,
"copierPnl" : 0 ,
"sharpeRatio" : 3.11019002 ,
"copiers" : 0 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PRIVATE" ,
"tradFi" : false ,
"api" : true ,
"startedAt" : 1783520611419 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1760832000000 ,
"value" : 0
},
{
"timestamp" : 1760918400000 ,
"value" : 0
},
{
"timestamp" : 1761004800000 ,
"value" : 0
}
]
}
}
},
{
"traderId" : "5203313987916337664" ,
"name" : "善富E族-Jeff" ,
"avatarUrl" : "https://public.bnbstatic.com/image/pgc/20260830/15faea52a2dd423891b1e3eefc6ef553.jpg" ,
"roi" : 0.8362807769 ,
"pnl" : 11815.98187896 ,
"aum" : 12260.92087626 ,
"maxDrawdown" : 0.20356191 ,
"winRate" : 0.844075 ,
"copierPnl" : -781.498694 ,
"sharpeRatio" : 4.40207434 ,
"copiers" : 17 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PUBLIC" ,
"tradFi" : true ,
"api" : false ,
"startedAt" : 1788100082038 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1760832000000 ,
"value" : 0
},
{
"timestamp" : 1760918400000 ,
"value" : 0
},
{
"timestamp" : 1761004800000 ,
"value" : 0
}
]
}
}
},
{
"traderId" : "4283904188132151552" ,
"name" : "KCCJEFF" ,
"avatarUrl" : "https://public.bnbstatic.com/image/common_notification/20211230/fe45acbe-4cb8-4d78-b426-07f3402e285c.png" ,
"roi" : 1.7e-9 ,
"pnl" : 4e-8 ,
"aum" : 113.61255078 ,
"maxDrawdown" : 0 ,
"winRate" : 0 ,
"copierPnl" : 0 ,
"copiers" : 3 ,
"maxCopiers" : 200 ,
"sourceDetails" : {
"type" : "PUBLIC" ,
"tradFi" : false ,
"api" : false ,
"startedAt" : 1733298987500 ,
"chart" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1759622400000 ,
"value" : 0
},
{
"timestamp" : 1759708800000 ,
"value" : 0
},
{
"timestamp" : 1759795200000 ,
"value" : 0
}
]
}
}
}
],
"hasMore" : false ,
"total" : 3
}
} Lead portfolio GET /v5/binance-copy-trading/traderProfile
One portfolio: its lead trader, copiers, funds, terms and whether it shares positions. A closed or unknown portfolio answers 422.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders
Response fields, in data Field Type Description traderIdalways string namestring avatarUrlstring biostring sourceDetails.typeonly Binance sourceDetails.statusonly Binance sourceDetails.marketTypeonly Binance sourceDetails.positionsSharedonly Binance sourceDetails.mockCopiersonly Binance sourceDetails.favoritesonly Binance sourceDetails.marginBalanceonly Binance sourceDetails.currencyonly Binance sourceDetails.sharpeRatioonly Binance sourceDetails.badgeonly Binance sourceDetails.tagsonly Binance sourceDetails.startedAtonly Binance sourceDetails.closedAtonly Binance sourceDetails.lastTradeAtonly Binance sourceDetails.smartMoneyTraderIdonly Binance copiersnumber maxCopiersnumber totalCopiersnumber aumnumber copierPnlnumber profitSharenumber
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/traderProfile?traderId=5126483220510875392" {
"data" : {
"traderId" : "5126483220510875392" ,
"name" : "jeff-zhang" ,
"avatarUrl" : "https://bin.bnbstatic.com/static/content/static-sources/square-default-avatar.png" ,
"copiers" : 0 ,
"maxCopiers" : 200 ,
"totalCopiers" : 0 ,
"aum" : 861809.48194994 ,
"copierPnl" : 0 ,
"profitShare" : 0 ,
"sourceDetails" : {
"type" : "PRIVATE" ,
"status" : "ACTIVE" ,
"marketType" : "UM" ,
"positionsShared" : true ,
"mockCopiers" : 0 ,
"favorites" : 9 ,
"marginBalance" : 862514.03288859 ,
"currency" : "USDT" ,
"sharpeRatio" : 3.11019002 ,
"tags" : [
"API_KEY_TRADE"
],
"startedAt" : 1783520611419 ,
"lastTradeAt" : 1792339234046 ,
"smartMoneyTraderId" : "null"
}
}
} Performance GET /v5/binance-copy-trading/performance
A portfolio's return, drawdown and win rate over a time range.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders periodrequired enum Period the figures cover7D, 30D, 90D, 180D, 1Y
Response fields, in data Field Type Description periodalways string roinumber pnlnumber maxDrawdownnumber copierPnlnumber winRatenumber winsnumber tradesnumber sharpeRationumber
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/performance?traderId=5126483220510875392&period=7D" {
"data" : {
"period" : "7D" ,
"roi" : 4.1039280748 ,
"pnl" : 689870.74104516 ,
"maxDrawdown" : 0.23751183 ,
"copierPnl" : 0 ,
"winRate" : 0 ,
"wins" : 0 ,
"trades" : 2 ,
"sharpeRatio" : 3.11019002
}
} Chart GET /v5/binance-copy-trading/traderChart
A portfolio's ROI, PnL or AUM by day over a time range.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders periodrequired enum Period the figures cover7D, 30D, 90D, 180D, 1Y metricrequired enum ROI as a fraction, PNL or AUM in USDROI, PNL, AUM
Response fields, in data Field Type Description metricalways string What the points measure: ROI, PNL or BALANCE points[]always array points[].timestampalways number Point time, in Unix milliseconds points[].valuealways number
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/traderChart?traderId=5126483220510875392&period=7D&metric=ROI" {
"data" : {
"metric" : "ROI" ,
"points" : [
{
"timestamp" : 1791763200000 ,
"value" : 0
},
{
"timestamp" : 1791849600000 ,
"value" : 0
},
{
"timestamp" : 1791936000000 ,
"value" : 0
}
]
}
} Open positions GET /v5/binance-copy-trading/openPositions
The portfolio's open positions, with margin (notional over leverage) and roi (Binance's ROE) as its site shows them. A portfolio can keep them private; then positions is empty and hidden is true.
Binance refreshes this Binance updates these positions about every 5 minutes..
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders
Response fields, in data Field Type Description positions[]always array positions[].symbolalways string positions[].sidealways LONG | SHORT positions[].sizenumber Position size, always positive; side gives the direction positions[].entryPricealways number positions[].markPricenumber The exchange's mark price positions[].leveragenumber positions[].marginModeISOLATED | CROSS positions[].unrealizedPnlnumber In pnlCurrency positions[].pnlCurrencystring positions[].liquidationPricenumber positions[].marginnumber Margin the position uses, in pnlCurrency positions[].roinumber unrealizedPnl over margin, as a fraction. Where the exchange sends its own (KuCoin; BingX, over the opening margin), it is passed on and can differ from that ratio positions[].sourceDetails.marketTypeonly Binance positions[].sourceDetails.notionalonly Binance positions[].sourceDetails.realizedPnlonly Binance positions[].sourceDetails.breakEvenPriceonly Binance hiddenalways boolean true when the portfolio keeps positions private
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/openPositions?traderId=5121749420381832448" {
"data" : {
"positions" : [],
"hidden" : false
}
} Position history GET /v5/binance-copy-trading/positionHistory
Closed and partially closed positions. Binance reports no fees or funding here, so there is no netPnl.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders cursorstring The nextCursor of the previous answer; leave it out for the first page rowsintdefault 20 Rows per page1 to 20 sortByenumdefault opened Newest opened or newest closed firstopened, closed
Response fields, in data Field Type Description positions[]always array positions[].positionIdstring positions[].symbolalways string positions[].sideLONG | SHORT positions[].statusstring positions[].marginModeISOLATED | CROSS positions[].leveragenumber positions[].roinumber positions[].entryPricenumber positions[].closePricenumber positions[].openedAtalways number When the position opened, in Unix milliseconds positions[].closedAtnumber When the position closed, in Unix milliseconds positions[].updatedAtalways number Last change, in Unix milliseconds positions[].openedVolumenumber positions[].closedVolumenumber positions[].maxOpenInterestnumber positions[].grossPnlnumber positions[].fundingPnlnumber positions[].tradingFeenumber positions[].liquidationFeenumber positions[].netPnlnumber positions[].pnlCurrencystring positions[].sourceDetails.marketTypeonly Binance positions[].sourceDetails.commissionByAssetonly Binance totalalways number Rows across all pages nextCursorstring Send it back as cursor, with the same query, to read the next page; absent on the last page
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/positionHistory?traderId=5121749420381832448" {
"data" : {
"positions" : [],
"total" : 0
}
} Order history GET /v5/binance-copy-trading/orderHistory
The portfolio's executed orders, newest first.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders cursorstring The nextCursor of the previous answer; leave it out for the first page rowsintdefault 20 Rows per page1 to 20 startTimeint Orders last filled at or after this, in Unix milliseconds (updatedAt >= startTime) endTimeint Orders placed at or before this, in Unix milliseconds (createdAt <= endTime)
Response fields, in data Field Type Description orders[]always array orders[].symbolalways string orders[].sidealways string orders[].positionSidestring BOTH in one-way mode; LONG or SHORT in hedge mode orders[].pricenumber orders[].quantitynumber orders[].quoteQuantitynumber orders[].createdAtnumber When the order was placed, in Unix milliseconds orders[].updatedAtalways number Last change, in Unix milliseconds orders[].sourceDetails.marketTypeonly Binance orders[].orderTypestring For example MARKET or LIMIT orders[].realizedPnlnumber totalalways number Rows across all pages nextCursorstring Send it back as cursor, with the same query, to read the next page; absent on the last page
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/orderHistory?traderId=5126483220510875392" {
"data" : {
"orders" : [],
"total" : 0
}
} Transfer history GET /v5/binance-copy-trading/transferHistory
Funds the lead trader moved into or out of the portfolio, newest first.
Query parameters Name Type Description traderIdrequired string The lead portfolio's id, from traders cursorstring The nextCursor of the previous answer; leave it out for the first page rowsintdefault 20 Rows per page1 to 20
Response fields, in data Field Type Description transfers[]always array transfers[].timealways number In Unix milliseconds transfers[].assetstring transfers[].amountalways number transfers[].fromstring transfers[].tostring transfers[].typealways deposit | withdraw | transfer | vaultDeposit | vaultWithdraw | commission | other deposit and withdraw move the owner's money into or out of the account; transfer, to or from another address; vaultDeposit and vaultWithdraw, into or out of a vault; commission is a vault leader's share; other is a kind none of these fits, named in sourceDetails.type transfers[].sourceDetails.typeonly Binance totalalways number Rows across all pages nextCursorstring Send it back as cursor, with the same query, to read the next page; absent on the last page
Example curl -H "X-API-KEY: $KOPYON_KEY" \
"https://api.kopyon.com/v5/binance-copy-trading/transferHistory?traderId=5126483220510875392" {
"data" : {
"transfers" : [],
"total" : 0
}
} Stream and webhooks Paid plans can follow a trader in real time over wss://api.kopyon.com/v5/streamor through signed webhooks. Topics for this source:
openPositions: Open positions, whenever they changepositionEvents: Opened, increased, decreased, closedorderHistory: New and updated orderspositionHistory: Newly closed positionsStream messages and webhook signatures