You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Kucoin API下限价单返回400 Bad Request的修复方法

KuCoin API提交限价单返回400 Bad Request解决方案

核心错误点

  • 订单参数位置错误:你将clientOid、side、symbol、type、price、size这类业务参数全部放在了请求头中,这类参数属于POST请求的提交内容,应当放在请求体里,请求头仅需保留鉴权相关字段。
  • 签名逻辑不符合V2版本API要求:使用KC-API-KEY-VERSION: 2时,待签名字符串的拼接规则是时间戳 + 请求方法 + 请求路径 + JSON序列化后的请求体字符串,原有签名逻辑遗漏了请求体部分,会直接导致签名校验失败。
  • 签名值格式错误:hmac.new计算后经base64编码得到的是bytes类型值,没有解码为utf-8字符串就传入请求头,格式不符合接口要求。

修正后的可运行代码

import time
import hmac
import hashlib
import base64
import secrets
import requests
import json

# 替换为你自己的密钥信息
api_key = "你的API Key"
api_secret = "你的API Secret"
api_passphrase = "你的API Passphrase"

client_oid = secrets.token_hex(8)
url = 'https://api.kucoin.com/api/v1/orders'
now = int(time.time() * 1000)

# 订单参数统一放在请求体中
order_body = {
    "clientOid": client_oid,
    "side": "sell",
    "symbol": "AFK-USDT",
    "type": "limit",
    "price": "0.05",
    "size": "50.00"
}
# 序列化请求体用于签名,必须保证签名用的字符串和实际发送的请求体完全一致
body_str = json.dumps(order_body)
str_to_sign = f"{now}POST/api/v1/orders{body_str}"

# 签名结果必须转成utf-8字符串
signature = base64.b64encode(
    hmac.new(api_secret.encode('utf-8'), str_to_sign.encode('utf-8'), hashlib.sha256).digest()
).decode('utf-8')
passphrase = base64.b64encode(
    hmac.new(api_secret.encode('utf-8'), api_passphrase.encode('utf-8'), hashlib.sha256).digest()
).decode('utf-8')

# 请求头仅保留鉴权和内容类型字段
headers = {
    "KC-API-SIGN": signature,
    "KC-API-TIMESTAMP": str(now),
    "KC-API-KEY": api_key,
    "KC-API-PASSPHRASE": passphrase,
    "KC-API-KEY-VERSION": "2",
    "Content-Type": "application/json"
}

# 通过json参数传递请求体,requests会自动完成符合要求的序列化
response = requests.post(url, headers=headers, json=order_body)
print(response.status_code)
print(response.json())

额外排查点

  • 确认AFK-USDT交易对在KuCoin当前处于可交易状态,交易对名称大小写必须和平台公示的完全一致。
  • 确认本机时间和UTC标准时间差不超过5秒,时间偏差过大会触发鉴权失败。
  • 限价单的price和size精度必须符合对应交易对的规则,精度不符合也会返回参数错误,可提前调用交易对配置接口查询对应精度限制。

内容的提问来源于stack exchange,提问作者DeziLuv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 01:15:32