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

调用Crypto.com API创建订单遇40101未授权错误求助

Crypto.com API下单时401授权错误问题

调用private/create-order接口下单时,收到HTTP 401状态码及40101错误码,提示“未授权 - 未认证或密钥/签名错误”。但调用private/user-balance接口可成功获取余额,已排除IP白名单问题。两者差异在于余额查询是无参数的GET请求,而创建订单请求带有参数,因此怀疑签名生成时的参数处理存在错误。

HMAC SHA256签名生成函数

def sign_request(method, params, request_id):
    """按照HMAC-SHA256流程生成签名"""

    # 步骤1:对请求参数按字母顺序排序
    if params:
        param_str = ''.join([f'{key}{params[key]}' for key in sorted(params)])
    else:
        param_str = ''

    # 步骤2:拼接method、request id、api_key、param_str和nonce
    nonce = str(int(time.time() * 1000))
    signature_payload = method + request_id + API_KEY + param_str + nonce

    # 步骤3:使用API_SECRET创建HMAC-SHA256签名
    signature = hmac.new(
        bytes(API_SECRET, 'utf-8'),
        bytes(signature_payload, 'utf-8'),
        hashlib.sha256
    ).hexdigest()  # 步骤4:将签名输出为十六进制字符串

    return signature, nonce

创建订单请求参数

params = {
    'instrument_name': symbol,
    'side': side,  # 'buy' 或 'sell'
    'type': 'MARKET',  # 或 'LIMIT'
    'price': price,
    'quantity': quantity,
    'client_oid': client_oid  # 添加客户端订单ID
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 03:45:57