Account Trade List
Type: USER-DATA
Weight: 5
GET /fapi/v1/userTrades
Your fills for a symbol.
Request
GET /fapi/v1/userTrades?symbol=BTCUSDT&limit=500×tamp=<ms>&signature=<hex>
Query params
| Name | Type | Required | Default | Notes |
|---|---|---|---|---|
symbol | string | yes | — | |
orderId | string | no | — | Restrict to one order's fills. |
startTime / endTime | long | no | — | ms |
fromId | long | no | — | A millisecond timestamp, not a trade id — returns fills at or after it. |
limit | integer | no | 500 | max 1000 |
Response — 200
[
{
"symbol": "BTCUSDT",
"id": "trade-uuid",
"orderId": "order-uuid",
"side": "BUY",
"price": "60050.50",
"qty": "0.010",
"quoteQty": "600.5050",
"realizedPnl": "1.2345",
"commission": "0.300253",
"commissionAsset": "USDT",
"time": 1714261234567,
"buyer": true,
"maker": false
}
]
| Field | Notes |
|---|---|
id / orderId | UUID strings. |
realizedPnl | Joined from realised-PnL events; scoped to the caller. |
commission | abs(maker_fee or taker_fee) — always non-negative here, whereas income with incomeType=COMMISSION reports it negative. |
For slippage per fill see GET /fapi/v1/userTrades/slippage.
Authentication failures (INVALID_API_KEY, API_KEY_DISABLED, IP_NOT_ALLOWED, SIGNATURE_INVALID) apply to every signed endpoint and use Sparky's {"success":false,"error":{...}} envelope; see Error Codes.