Trade history
/fapi/v1/userTradesOverview
Persisted fills, may lag acknowledged commands
Send X-MBX-APIKEY and an HMAC-SHA256 signature. Sign requests in your own client. Authentication guide
Behavior and request rules
Requires X-MBX-APIKEY and per-request HMAC-SHA256. Send timestamp (milliseconds), optional recvWindow (default 5000, maximum 60000), and signature. Sign the exact raw query followed by the exact raw body, with NO inserted ampersand, excluding signature. Signature must be last in query or body. Query values take precedence over body values; the first duplicate in each location wins. Values are not percent-decoded. Timestamp must be less than serverTime + 1000 and serverTime - timestamp <= recvWindow. The API-key authorization field alone does not sign requests.
Parameters may be in query, raw urlencoded body, or split across both. Required fields apply to the merged parameters, not independently to each location. Query parameters are marked optional to represent this alternative. GET bodies work at the server but many HTTP clients and proxies cannot send them; use query parameters for portable GET requests. Send the exact bytes you signed, without form re-encoding.
USER_DATA (READ) permission is required.
Parameters
Required fields apply across query and form body. Query values take precedence. The examples use query parameters only.
symbolstringrequiredListed symbol, for example BTCUSDT. Unlisted symbols return -1121.
Constraints
- type
"string"
limitintegeroptionalValues above 1000 are clamped to 1000.
Constraints
- type
"integer"- minimum
1- default
500
timestampintegerrequiredClient epoch milliseconds checked against the receive window.
Constraints
- type
"integer"- format
"int64"
recvWindowintegeroptionalReceive window in milliseconds.
Constraints
- type
"integer"- minimum
1- maximum
60000- default
5000
signaturestringrequiredHMAC-SHA256 of exact raw query + body excluding signature; final parameter in query or body.
Constraints
- type
"string"- pattern
"^[0-9a-fA-F]{64}$"
Conditional and combined requirements
These constraints apply after query and body parameters are combined. Field descriptions above explain conditions such as the LIMIT price requirement.
{
"properties": {
"limit": {
"default": 500,
"description": "Values above 1000 are clamped to 1000.",
"minimum": 1,
"type": "integer"
},
"recvWindow": {
"default": 5000,
"description": "Receive window in milliseconds.",
"maximum": 60000,
"minimum": 1,
"type": "integer"
},
"signature": {
"description": "HMAC-SHA256 of exact raw query + body excluding signature; final parameter in query or body.",
"pattern": "^[0-9a-fA-F]{64}$",
"type": "string"
},
"symbol": {
"description": "Listed symbol, for example BTCUSDT. Unlisted symbols return -1121.",
"type": "string"
},
"timestamp": {
"description": "Client epoch milliseconds checked against the receive window.",
"format": "int64",
"type": "integer"
}
},
"required": [
"symbol",
"timestamp",
"signature"
],
"type": "object"
}Form body schema
Parameters may be in query, raw urlencoded body, or split across both. Required fields apply to the merged parameters, not independently to each location. Query parameters are marked optional to represent this alternative. GET bodies work at the server but many HTTP clients and proxies cannot send them; use query parameters for portable GET requests. Send the exact bytes you signed, without form re-encoding.
{
"application/x-www-form-urlencoded": {
"schema": {
"properties": {
"limit": {
"default": 500,
"description": "Values above 1000 are clamped to 1000.",
"minimum": 1,
"type": "integer"
},
"recvWindow": {
"default": 5000,
"description": "Receive window in milliseconds.",
"maximum": 60000,
"minimum": 1,
"type": "integer"
},
"signature": {
"description": "HMAC-SHA256 of exact raw query + body excluding signature; final parameter in query or body.",
"pattern": "^[0-9a-fA-F]{64}$",
"type": "string"
},
"symbol": {
"description": "Listed symbol, for example BTCUSDT. Unlisted symbols return -1121.",
"type": "string"
},
"timestamp": {
"description": "Client epoch milliseconds checked against the receive window.",
"format": "int64",
"type": "integer"
}
},
"type": "object"
}
}
}Responses
Success
Array items UserTrade
buyerbooleanrequired
- type
"boolean"
commissionstringrequired
Decimal encoded as a string. Precision follows the symbol or the field's documented scale. Never convert to a binary floating-point number for signing or accounting.
- type
"string"- pattern
"^-?[0-9]+(\\.[0-9]+)?$"
commissionAssetstringrequired
- type
"string"
idintegerrequired
- type
"integer"- format
"int64"
makerbooleanrequired
- type
"boolean"
orderIdintegerrequired
- type
"integer"- format
"int64"
positionSidestringrequired
- type
"string"- enum
["BOTH"]
pricestringrequired
Decimal encoded as a string. Precision follows the symbol or the field's documented scale. Never convert to a binary floating-point number for signing or accounting.
- type
"string"- pattern
"^-?[0-9]+(\\.[0-9]+)?$"
qtystringrequired
Decimal encoded as a string. Precision follows the symbol or the field's documented scale. Never convert to a binary floating-point number for signing or accounting.
- type
"string"- pattern
"^-?[0-9]+(\\.[0-9]+)?$"
quoteQtystringrequired
Decimal encoded as a string. Precision follows the symbol or the field's documented scale. Never convert to a binary floating-point number for signing or accounting.
- type
"string"- pattern
"^-?[0-9]+(\\.[0-9]+)?$"
realizedPnlstringrequired
Decimal encoded as a string. Precision follows the symbol or the field's documented scale. Never convert to a binary floating-point number for signing or accounting.
- type
"string"- pattern
"^-?[0-9]+(\\.[0-9]+)?$"
sidestringrequired
- type
"string"- enum
["BUY","SELL"]
symbolstringrequired
- type
"string"
timeintegerrequired
- type
"integer"- format
"int64"
- type
"object"- additionalProperties
false
- type
"array"
Response headers
X-DP-ACCOUNT-USED-WEIGHT-1MPer-verified-Trading-Account admitted weight when authenticated.
X-MBX-USED-WEIGHT-1MPer-IP admitted request weight in the current minute. Requests admitted by the limiter count even if authentication or validation later fails.
Raw response schema
{
"$ref": "#/components/schemas/UserTrades"
}