跳到主要内容

保证金模式

接口描述

查询或更改调用者的保证金模式 (cross / isolated)。

ZTDX fapi 仅支持全仓 (cross)

/fapi/* (HMAC) 命名空间下,撮合引擎与统一保证金路径仅支持全仓GET 始终返回 marginType=CROSSEDPOST 接受 marginType=CROSSED (幂等),拒绝 marginType=ISOLATED 并返回 -4046。如需真正的逐仓核算,请使用 JWT 鉴权的 POST /api/v1/account/margin-mode (见 Unified Margin 文档)。

HTTP 请求

  • 查询: GET /fapi/v1/marginType (HMAC SHA256)
  • 更改: POST /fapi/v1/marginType (HMAC SHA256)

请求权重

1

GET 请求参数

名称类型是否必需描述
symbolSTRINGNO交易对。省略时,响应中也省略 symbol 字段。
recvWindowLONGNO详见 接口鉴权
timestampLONGYES时间戳

POST 请求参数

名称类型是否必需描述
symbolSTRINGYES交易对
marginTypeSTRINGYESCROSSED (幂等) 或 ISOLATED (返回 -4046)。大小写不敏感;CROSS 也接受。
recvWindowLONGNO详见 接口鉴权
timestampLONGYES时间戳

响应示例 (GET)

{
"symbol": "BTCUSDT",
"marginType": "CROSSED"
}

响应示例 (POST, CROSSED)

{
"code": 200,
"msg": "success"
}

错误

CodeMessage原因
-4046Isolated margin is not supported on the developer fapi. ...marginType=ISOLATED
-1128Invalid marginType '<value>'. Expected CROSSED or ISOLATED.任何其他值。

代码示例

curl (查询)

API_KEY="your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s%3N)
QUERY_STRING="symbol=BTCUSDT&timestamp=${TIMESTAMP}"
SIGNATURE=$(echo -n "${QUERY_STRING}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $2}')
curl -s -H "X-MBX-APIKEY: ${API_KEY}" \
"https://api.ztdx.io/fapi/v1/marginType?${QUERY_STRING}&signature=${SIGNATURE}"

Python

import time, hmac, hashlib, requests

API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
BASE_URL = "https://api.ztdx.io"

def sign(qs: str) -> str:
return hmac.new(API_SECRET.encode(), qs.encode(), hashlib.sha256).hexdigest()

# 查询保证金模式
ts = int(time.time() * 1000)
qs = f"symbol=BTCUSDT&timestamp={ts}"
r = requests.get(
f"{BASE_URL}/fapi/v1/marginType?{qs}&signature={sign(qs)}",
headers={"X-MBX-APIKEY": API_KEY},
)
print(r.json()) # {"symbol":"BTCUSDT","marginType":"CROSSED"}

# 更改保证金模式 (CROSSED 幂等)
import json
ts = int(time.time() * 1000)
body = json.dumps({"symbol": "BTCUSDT", "marginType": "CROSSED"}, separators=(",", ":"))
qs = f"timestamp={ts}"
r = requests.post(
f"{BASE_URL}/fapi/v1/marginType?{qs}&signature={sign(qs + body)}",
data=body,
headers={"X-MBX-APIKEY": API_KEY, "Content-Type": "application/json"},
)
print(r.json()) # {"code":200,"msg":"success"}