跳到主要内容

账户成交记录

描述

返回调用方作为 maker(做市方)或 taker(吃单方)参与的所有成交记录,按最新优先排序。每条记录均从调用方视角呈现:side 反映调用方是买入还是卖出,fee / fee_token 为调用方实际支付的手续费。

HTTP 请求

GET /spot/trades/me(JWT 或 API Key)

权重

0——订单接口不受按 IP 权重限制约束。

请求参数

名称类型必填描述
symbolSTRING可选过滤至单一市场(例如 DFUSDT)。区分大小写。不传则返回所有市场的成交记录。
startLONG可选返回时间戳 >= start 的成交记录(UNIX 秒)。
endLONG可选返回时间戳 <= end 的成交记录(UNIX 秒)。
limitNUMBER可选返回记录数。默认 50;最大 200。超出范围的值服务端会自动截断。

响应示例

200 OK

[
{
"trade_id": "3e761331-0cec-481c-81be-f62ab572757b",
"symbol": "DFUSDT",
"side": "buy",
"price": "0.4990",
"quantity": "30",
"fee": "0",
"fee_token": "DF",
"role": "taker",
"order_id": "9f2a1c4e-5b67-4d8a-bf93-2e1f4a6c8d10",
"ts": 1778400090
},
{
"trade_id": "7c8d9e0f-abcd-1234-ef56-789012345678",
"symbol": "DFUSDT",
"side": "sell",
"price": "0.6000",
"quantity": "50",
"fee": "0",
"fee_token": "USDT",
"role": "maker",
"order_id": "a1b2c3d4-1234-5678-abcd-ef0123456789",
"ts": 1778400060
}
]
字段说明
trade_id服务器生成的 UUID,唯一标识本次成交事件。
side本次成交中调用方的方向(buysell)。这不是全局的 taker 方向——maker 的 side 与 taker 的方向相反。
price成交价格,以字符串形式返回。
quantity本次成交的基础资产数量,以字符串形式返回。
fee调用方在本次成交中支付的手续费。MVP 阶段为 "0";该字段为兼容未来版本而保留。
fee_token手续费计价代币:若调用方收到基础资产(即 side=buy)则为 DF,若收到报价资产(即 side=sell)则为 USDT
rolemaker——调用方订单挂在订单簿上被命中;taker——调用方订单主动发起撮合。参见成交角色
order_id参与本次成交的调用方订单 UUID。可与查询订单配合使用以获取完整订单状态。
ts成交时间戳,UNIX 。结果按 ts 降序排列(最新优先)。

错误响应

HTTPerror触发条件
500DB_ERROR服务端故障。

完整列表:错误码

代码示例

cURL(JWT)

JWT="your_jwt_token"

# Most recent 50 fills across all markets
curl -s "https://api-sepolia.p99.world/api/v1/spot/trades/me" \
-H "Authorization: Bearer ${JWT}"

# Last 10 DFUSDT fills
curl -s "https://api-sepolia.p99.world/api/v1/spot/trades/me?symbol=DFUSDT&limit=10" \
-H "Authorization: Bearer ${JWT}"

cURL(HMAC API Key)

API_KEY="your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s%3N)
QUERY="symbol=DFUSDT&limit=10&timestamp=${TIMESTAMP}"
SIGNATURE=$(echo -n "${QUERY}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $2}')

curl -s \
-H "X-MBX-APIKEY: ${API_KEY}" \
"https://api-sepolia.p99.world/api/v1/spot/trades/me?${QUERY}&signature=${SIGNATURE}"

Python

import time, hmac, hashlib, requests
from urllib.parse import urlencode

API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
BASE_URL = "https://api-sepolia.p99.world/api/v1"

def signed_get(path: str, params: dict = None) -> list | dict:
ts = int(time.time() * 1000)
qs_params = {**(params or {}), "timestamp": ts}
qs = urlencode(qs_params)
sig = hmac.new(API_SECRET.encode(), qs.encode(), hashlib.sha256).hexdigest()
r = requests.get(
f"{BASE_URL}{path}?{qs}&signature={sig}",
headers={"X-MBX-APIKEY": API_KEY},
timeout=5,
)
r.raise_for_status()
return r.json()

# Fetch recent fills for DFUSDT
trades = signed_get("/spot/trades/me", {"symbol": "DFUSDT", "limit": 50})
print(f"{len(trades)} trade(s)")
for t in trades:
print(
f" {t['trade_id']} {t['role']:6} {t['side']:4}"
f" {t['quantity']:>10} @ {t['price']} fee={t['fee']} {t['fee_token']}"
)

# Summarize realized volume by side
buys = sum(float(t["quantity"]) for t in trades if t["side"] == "buy")
sells = sum(float(t["quantity"]) for t in trades if t["side"] == "sell")
print(f"Bought {buys} DF, Sold {sells} DF")