API reference

Binance Smart Money API v4

Seven REST endpoints over the Binance Smart Money leaderboard: rankings, positions and order history. Every one runs from this page without a key. Request an API key.

Base URL

Every endpoint is a GET with query parameters.

https://api.kopyon.com/v4/Production

Every response has the same envelope: the payload under data, with message and success alongside it. A row that does not say optional is required, or always present.

Authentication

APIKeyHeaderapiKey · header
NameX-API-KEY
Value

Optional.

Rate limits

The rate is per minute, per endpoint path: exhaust one and the other six still answer. The monthly quota is account-wide.

PlanPriceRequests / minute, per endpointRequests / month, account-wide
Free$0/mo12010,000
Developer$49/mo6005,000,000
Trading Desk$299/mo1,80050,000,000

Flat out at its per-minute rate, a plan spends its month in a day or two.

What every response tells you

Everything except Retry-After comes back on every metered response, so a client can pace itself.

HeaderMeaning
X-RateLimit-LimitRequests allowed in the current window, for this endpoint.
X-RateLimit-RemainingRequests left in that window.
X-RateLimit-ResetWhen that window resets, as a Unix timestamp in seconds.
X-RateLimit-WindowThe granularity of that window: minute on every plan, day without a key.
X-RateLimit-Limit-MonthRequests allowed this month, across every endpoint.
X-RateLimit-Remaining-MonthRequests left this month.
X-RateLimit-Reset-MonthWhen the monthly quota resets.
Retry-AfterSeconds to wait before retrying. On a 429 only.

The -Month headers need a key; unmetered paths like health send none. Resets are Unix seconds. Your month is 30 days from your first call, so the monthly one will not land on the 1st. All eight reach browser JavaScript.

Status codes

CodeMeaningWhen you see it
200Success
401UnauthorizedSending no key is fine; only an unrecognised one 401s.
422Validation errorA parameter is missing, out of range, or not in its enum.
429Rate limit exceededThe rate window, or the monthly quota. Retry-After says how long to wait.
500Internal server errorAn upstream failure reaching Binance. Safe to retry with backoff.

The 422 body

Identical on all seven endpoints.

FieldType
detailarrayoptional
detail[].locarray
detail[].msgstring
detail[].typestring

Endpoints to discover and find traders.

GET/v4/tradersList

The leaderboard itself: traders ranked by PNL or ROI over a window you pick.

Parameters

Query parameters for tradersList
timeRangeenum
Window the ranking is computed over.
24h·3D·7D·30D·90D·1Y·ALL
rankingTypeenum
Which metric to rank by.
PNL·ROI
orderenum
Sort direction.
DESC·ASC
onlyShowSharingPositionboolean
Restrict to traders sharing their positions.
accountGroup optionalenum
Restrict the results to one curated group.
AI·FEATURED_TRADERS_AI·FEATURED_TRADERS_HUMAN
pageinteger
Page number.
1 or greater
rowsinteger
Rows per page.
1 to 20

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

GET/v4/traderSearch

Traders whose nickname matches a keyword, ranked the same way as tradersList.

Parameters

Query parameters for traderSearch
searchKeywordstring
Nickname to search for. Empty string matches all.
timeRangeenum
Window the ranking is computed over.
24h·3D·7D·30D·90D·1Y·ALL
rankingTypeenum
Which metric to rank by.
PNL·ROI
orderenum
Sort direction.
DESC·ASC
onlyShowSharingPositionboolean
Restrict to traders sharing their positions.
accountGroup optionalenum
Restrict the results to one curated group.
AI·FEATURED_TRADERS_AI·FEATURED_TRADERS_HUMAN
pageinteger
Page number.
1 or greater
rowsinteger
Rows per page.
1 to 20

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

Trader Profile

Detailed metrics and performance data.

GET/v4/traderProfile

Everything the leaderboard holds on one trader, by ID.

Parameters

Query parameters for traderProfile
topTraderIdstring
The trader's unique ID, as returned by tradersList.

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

GET/v4/traderChartData

A timestamped series for one trader: ROI, PNL or balance.

Parameters

Query parameters for traderChartData
topTraderIdstring
The trader's unique ID.
timeRangeenum
Window the ranking is computed over.
24h·3D·7D·30D·90D·1Y·ALL
chartDataTypeenum
Which series the chart returns.
ROI·PNL·BALANCE

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

Activity & History

Real-time positions and historical logs.

GET/v4/traderOpenPositions

What one trader is holding right now, one row per symbol.

Parameters

Query parameters for traderOpenPositions
topTraderIdstring
The trader's unique ID.
marketTypeenum
Which futures market to read. UM is USDT-margined, CM is coin-margined.
UM·CM
pageinteger
Page number.
1 or greater
rowsinteger
Rows per page.
1 to 20

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

GET/v4/traderPositionHistory

Positions one trader has already closed. Paged by cursor, not by page number.

Parameters

Query parameters for traderPositionHistory
topTraderIdstring
The trader's unique ID.
marketTypeenum
Which futures market to read. UM is USDT-margined, CM is coin-margined.
UM·CM
startTime optionalstring
Start timestamp in milliseconds.
endTime optionalstring
End timestamp in milliseconds.
rowsinteger
Rows per page.
1 to 20
symbol optionalstring
Filter to one trading pair, e.g. BTCUSDT.
searchAfter optionalstring
Cursor from the previous page.

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.

GET/v4/traderOrderHistory

The individual fills behind a trader's positions.

Parameters

Query parameters for traderOrderHistory
topTraderIdstring
The trader's unique ID.
marketTypeenum
Which futures market to read. UM is USDT-margined, CM is coin-margined.
UM·CM
pageinteger
Page number.
1 or greater
rowsinteger
Rows per page.
1 to 20
startTime optionalstring
Start timestamp in milliseconds.
endTime optionalstring
End timestamp in milliseconds.

Response

message string | null optional
data any | null optional
success boolean optional

A bad request returns 422.